Я пытаюсь создать нового пользователя с именемsveciasи дайте ему разрешение на подключение по SFTP только к существующему каталогу и глубже (/usr/share/nginx/itsupply). В настоящее время каталог принадлежит nginx в группе nginx. Как мне предоставить новому пользователю доступ к этому каталогу (не отключая доступ к этому каталогу для nginx)? Я пробовал добавить нового пользователя в группу nginx, но когда я пытаюсь подключиться с учетными данными, я все еще получаю запрос на ввод пароля (я думаю, у пользователя все еще нет разрешения на его домашний каталог).
С использованием
cat /etc/passwd | grep svecias
дает мне такой результат:
svecias:x:1001:995::/usr/share/nginx/itsupply:/usr/sbin/nologin
Таким образом, у этого пользователя установлен необходимый домашний каталог.
прежде чем я это сделал
usermod -a -G nginx svecias
usermod -g nginx svecias
Результат был:
svecias:x:1001:1001::/usr/share/nginx/itsupply:/usr/sbin/nologin
решение1
В соответствии сэтот ответ /usr/sbin/nologin
не позволит вашему пользователю войти в систему через SSH.
Также добавление пользователя в nginx
группу даст ему доступ к любой папке, к которой имеет доступ эта группа, а не только /usr/share/nginx/itsupply
. Кроме того, файлы, созданные этим пользователем, будут принадлежать svecias:nginx. Это, вероятно, будет нормально, но иногда может вызвать проблемы.
На моем сервере я использовал решение, чтобы смонтировать определенную папку с помощью bindfs
и сопоставить пользователей. Это в моем fstab
:
/home/www /home/wwwbind fuse.bindfs map=www-data/cpd:@www-data/@cpd,create-with-perms=0770 0 0
Таким образом, я вхожу в систему, используя cpd
пользователя, который имеет доступ только к /home/wwwbind
. Любые изменения будут отражены в , /home/www
как если бы их внес пользователь www-data
.