Confuso su gruppi e adduser

2

Ho scritto uno script per aggiungere utenti sFTP chroot.

Il comando useradd è:

sudo useradd -Ng sftponly -ms /bin/false "$USER"

Funzionava?

groups $USER
$USER : sftponly

Sì, lo ha fatto. Grande!

Quindi guardo / etc / group e non c'è $ USER in sftponly. Provo ad accedere e ad uscire (non dovrebbe essere necessario - Non sono $ USER) e non cambia nulla. (per $ USER == yoko):

ftp:x:114:
sftponly:x:1003:george,john,paul,ringo
incron:x:115:

Perché vedo $ USER nel gruppo corretto quando utilizzo i gruppi, ma non in / etc / group?

    
posta datakid 08.07.2013 - 02:08

2 risposte

3

Non devi utilizzare useradd , ma usa adduser . Tuttavia, se insisti a utilizzare useradd , ecco cosa dovresti fare:

sudo useradd -Ng sftponly -G sftponly -ms /bin/false "$USER"

L'opzione -g modifica solo il file /etc/passwd , rendendo "sftponly" l'ID di gruppo principale (login) dell'utente. L'opzione -G modifica /etc/groups .

    
risposta data January 08.07.2013 - 13:01
2

Dalla pagina useradd manpage :

-g, --gid GROUP
    The group name or number of the user's initial login group.

Il gruppo di accesso iniziale dell'utente è quello sul quarto campo in una riga del file /etc/passwd . Se cerchi "yoko" in /etc/passwd troverai qualcosa del tipo:

yoko:x:<yoko's UID>:1003::<yoko's home>:/bin/false

dove 1003 è il GID di sftponly group.

    
risposta data Eric Carvalho 08.07.2013 - 12:57

Leggi altre domande sui tag