Изменить: в моем случае virtual_use_local_privs = TRUE помогло.
я пытаюсь заставить newly created files and directories
внутри каталога foo / быть owned by nginx
пользователя и установить правильные разрешения, чтобы nginx group users can execute and modify
при необходимости.
Все дело в том, что я только что настроил vsftpd
сервис, где мой virtual
пользователи действуют как vsftpd user
, где vsftpd - реальный пользователь без оболочки.
После входа в систему каждый пользователь chrooted
в каталоге, принадлежащем user vsftpd
и group nginx
. Для этого я создал каталог chroot:
mkdir chroot/
а затем дал разрешения по умолчанию:
chown -R vsftpd:nginx chroot/
а затем включил SGUID:
chmod -R g+s chroot/
Прямо здесь, когда пользователь vsftpd создает каталог, разрешения по умолчанию vsftpd:nginx
но разрешения по умолчанию для файлов nginx:nginx
что не то, что я хочу.
Затем, когда мне нужно nginx
группа пользователей для запуска и изменения файлов, если нужно, я установил umask '0022' через конфигурацию vsftpd, но я думаю, что я ошибаюсь. Может ли кто-нибудь указать мне правильное направление?
Заранее спасибо!
Редактировать:
В setfacl
Команда очень помогла, но у меня все еще проблемы с umask.
я бегу setfacl -R -m d:u:vsftpd:rwx,d:g:nginx:rwx,d:m:rx,d:o::r chroot/
где getfacl chroot/
возвращает:
# owner: vsftpd # group: nginx # flags: -s- user::rwx group::rwx mask::rwx other::r-- default:user::rwx default:user:vsftpd:rwx #effective:r-x default:group::rwx #effective:r-x default:group:nginx:rwx #effective:r-x default:mask::r-x default:other::r--
но загрузка новых файлов оставляет следующие разрешения -rw-------+ 1 vsftpd nginx 25 feb 7 13:14 info.php
Обратите внимание, что настройка umask на vsftpd.conf установлена на 1002
Где я ошибаюсь? Большое спасибо!
Вам, вероятно, придется использовать acl, чтобы пользователь всегда был настроен на nginx. Вы бы смонтировали файловую систему с опцией acl, а затем использовали
setfacl -m d:u:nginx:rwx,d:g:nginx:rw chroot
(или rw, если исполняемый файл вам не нужен). Тогда все файлы, созданные в каталоге, будут иметь дополнительные разрешения, дающие право собственности nginx (даже если основной владелец, который отображается при использовании ls, является другим пользователем).