Я написал скрипт для добавления chrooted пользователей sFTP.
Команда useradd:
sudo useradd -Ng sftponly -ms /bin/false "$USER"
Работало ли это?
groups $USER
$USER : sftponly
Да, это так. Большой!
Затем я просматриваю / etc / group и нет $ USER в sftponly. Я пытаюсь войти и выйти (не нужно - я не $ USER), и ничего не меняется. (для $ USER == yoko):
ftp:x:114:
sftponly:x:1003:george,john,paul,ringo
incron:x:115:
Почему я вижу $ USER в правильной группе при использовании групп, но не в / etc / group?
Из справочной страницы 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.