Назад | Перейти на главную страницу

Наследование групповых разрешений и umask

Изменить: в моем случае 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, является другим пользователем).