Account utente Centos nologin ma possibile fare il conto


12

Sono nuovo di CentOS (con CentOS 6 in esecuzione). Ho precedenti esperienze con OpenSuse.

Sto cercando di configurare un account per un utente. Non voglio che l'account sia disponibile per l'accesso tramite ssh o tramite la schermata di accesso. Ma voglio ancora essere in grado di accedere all'utente utilizzando il comando su. Ciò mi consente di eseguire determinate applicazioni come utente con accesso limitato. L'utente non è un superutente, quindi non può influenzare le applicazioni di altri utenti.

Qualsiasi aiuto sarebbe molto apprezzato. In genere desidero utilizzarlo per eseguire il server Glassfish ecc.


Come hai risolto questo problema con OpenSuSE?
Nils,

Risposte:


15

Su centos, si installerebbe con un utente senza shell usando / sbin / nologin:

[root@localhost ~]# grep named /etc/passwd
named:x:25:25:Named:/var/named:/sbin/nologin
[root@localhost ~]# 

Se hai bisogno di diventare quello, usa il parametro -s e metti come argomento la shell di tua scelta, in questo modo:

[root@localhost ~]# su - named -s /bin/bash
-bash-4.1$ 

Nota che se usi bash, leggerà prima le impostazioni da / etc / profile e passerà automaticamente a quelle impostazioni se non ci sono .bash_profile, .bash_login o.profile nella directory home dell'utente. Naturalmente, se si desidera utilizzare le impostazioni dell'ambiente esistente esistenti in root, è sufficiente rimuovere il trattino:

Uscita [

root@localhost ~]# su - named -s /bin/bash
-bash-4.1$ echo $PATH
/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin
-bash-4.1$ exit
logout
[root@localhost ~]# su named -s /bin/bash
bash-4.1$ echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
bash-4.1$ 

0

Un modo comune è impostare la shell dell'utente su /bin/false


Ho provato a impostarlo su / bin / false ma sembra che centOS 6 non abbia questa opzione. Ha un'opzione bin / nologin, ma ciò non mi consente di accedere all'account utente.

provaresu -m username
unbeli il

Se imposto l'utente su / sbin / nologin e provo a fare su con l'opzione -m mi dice che l'account non è attualmente disponibile. Ho anche provato ad aggiungere il / bin / false al file shells. Quando lo faccio, il comando su semplicemente non passa all'utente.

ok, NON aggiungere / bin / false al file shells. Impostare la shell dell'utente su / bin / false. Usa su -m.
unbeli,

L'ho rimosso dal file / etc / shells e ho impostato la shell dell'utente su / bin / false usando il comando usermod. Se ora provo a usare -m username mi dice che non ho i permessi per .bashrc. Ho effettuato l'accesso come root. Se ora lo faccio: su - username non mi dà alcun errore, ma sono ancora visto come root. È normale in Centos?

0

Normalmente inserisco una "x" nel campo della password crittografata di tali utenti "tecnici". Quindi l'utente non avrà alcuna password possibile. Se ora esiste anche una chiave pubblica nelle authorized_keys di quell'utente, quell'account dovrebbe essere abbastanza sicuro.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.