web-dev-qa-db-fra.com

Confus sur les groupes et adduser

J'ai écrit un script pour ajouter des utilisateurs sFTP chrootés.

La commande useradd est:

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

Cela a-t-il fonctionné?

groups $USER
$USER : sftponly

Oui, c'est vrai. Génial!

Ensuite, je regarde/etc/group et il n'y a pas de $ USER dans sftponly. J'essaie de me connecter et de me déconnecter (cela ne devrait pas être nécessaire - je ne suis pas $ USER) et rien ne change. (pour $ USER == yoko):

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

Pourquoi est-ce que je vois $ USER dans le bon groupe lorsque j'utilise des groupes, mais pas dans/etc/group?

2
datakid

Vous ne devez pas utiliser useradd, mais utilisez adduser à la place. Cependant, si vous insistez pour utiliser useradd, voici ce que vous devez faire:

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

Le -g l'option modifie uniquement le /etc/passwd fichier, faisant de "sftponly" l'ID de groupe principal (de connexion) de l'utilisateur. L'option -G modifie /etc/groups.

3
January

Depuis le useraddpage de manuel :

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

Le groupe de connexion initial de l'utilisateur est celui du quatrième champ d'une ligne de /etc/passwd fichier. Si vous recherchez "yoko" dans /etc/passwd vous trouverez quelque chose comme:

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

1003 est le GID du groupe sftponly.

2
Eric Carvalho