Как настроить разрешение группы по умолчанию в папке Linux

У меня есть папка на сайте под названием

/home/john/public_html

Теперь я хочу, чтобы какие бы файлы ни копировались в этот public_html или новые файлы, созданные в этой папке, эти файлы должны иметь разрешение на чтение / запись по умолчанию от john, независимо от того, кто является владельцем этого файла.

Также я буду копировать / создавать файлы / каталоги по FTP, будет ли эта система работать там или файл с ftp не будет иметь права на чтение / запись группы

я имею в виду, что umask будет работать только с файлами, созданными / скопированными внутри оболочки или даже вне оболочки

3 ответа

Решение

Вы можете добиться этого с помощью ACL. Посмотрите man-страницу setfacl/getfacl для подробностей.

К сожалению, синтаксис немного сложен. Попробуйте что-то вроде:

setfacl -s u::rwx,g::r-x,o::r-x,m:rwx,u:john:rwx,d:u:john:rwx /home/john/public_html

Ну, umask будет по-прежнему применяться к вновь созданным файлам, но вы также можете "переопределить" umask, используя ACL:

setfacl -s u::rwx,g::r-x,o::r-x,m:rwx,u:john:rwx,d:u:john:rwx,d:u::rwx,d:g::r-x,d:o::r-x,d:m:rwx /home/john/public_html

Я не совсем уверен, чего вы пытаетесь достичь, но похоже, что это можно решить с помощью групповых разрешений и бита setgid в каталоге.

chown john.john-contrib / home / john / public_html
chmod 2775 / home / john / public_html

Затем, когда люди будут создавать файлы, они будут принадлежать группе "john-contrib". Однако каждый должен быть членом john-contrib, чтобы помещать файлы в каталог Джона.

Если вы действительно хотите, чтобы все постоянно писали в каталог Джона без каких-либо мер безопасности... тогда chmod 2777 сработает, но это немного безумное применение файловой системы / home.

Если вы являетесь пользователем root на сервере, вы без сомнения можете настроить FTP-сервер для установки определенных разрешений для загружаемых файлов. Сделать просто ЛЮБОЙ файл, перемещенный в public_html, получить R / W для Джона - другая сделка. Возможно, вы могли бы сделать скрипт для изменения группы для всех файлов в public_html. Затем убедитесь, что скрипт повторяется каждую 1 секунду или что-то в этом роде. Я бы не назвал это хорошим способом, но я не могу придумать другого...

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