Смущенный о группах и adduser

Я написал скрипт для добавления пользователей chroot sFTP.

Команда useradd:

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

Это сработало?

groups $USER
$USER : sftponly

Да, сработало. Большой!

Затем я смотрю на / etc / group и в нем нет $ USER. Я пытаюсь войти и выйти (не нужно - я не $ USER) и ничего не меняется. (для $ USER == yoko):

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

Почему я вижу $ USER в правильной группе при использовании групп, но не в / etc / group?

2
задан 12 February 2014 в 16:46

2 ответа

Из справочной страницы useradd :

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

Первоначальная группа входа пользователя - это группа в четвертом поле в строке файла /etc/passwd. Если вы ищете «yoko» в /etc/passwd, вы найдете что-то вроде:

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

, где 1003 - GID группы sftponly.

0
ответ дан 12 February 2014 в 16:46

Вы не должны использовать useradd, но вместо этого используйте adduser. Однако, если вы настаиваете на использовании useradd, вот что вы должны сделать:

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

Опция -g изменяет только файл /etc/passwd, делая «sftponly» первичной (входящей в систему) группой. Идентификатор пользователя. Опция -G изменяет /etc/groups.

0
ответ дан 12 February 2014 в 16:46

Другие вопросы по тегам:

Похожие вопросы: