В Linux, когда я создаю каталог mkdir newdir
, вновь созданный каталог имеет следующие права и права собственности: drwxr-xr-x 2 группа владельцев
Мой вопрос
Как можно Я делаю разрешения по умолчанию для вновь созданных КАТАЛОГ : drwxrwxrwx 2 группа владельцев
независимо от того, кто создал каталог?
Некоторые исследования, которые я провел
Я знаю, что изнутри Общий ресурс Samba, вы можете применить это с помощью маски каталога
, но что, если кто-то зайдет в терминал и создаст каталог как root, а затем появится обычный пользователь, и тогда он не сможет создавать файлы в этом каталоге что сделал пользователь root?
Я играл с ACL и понимаю, как сделать все вновь созданные ФАЙЛЫ определенными разрешениями.
например: setfacl -dRm u :: rwX, g :: rwX, o :: 0 newdir /
Это дает всем файлам в папке newdir
разрешение: -rw-rw ----
независимо от того, кто создал файл .
Я также узнал о «установке бита идентификатора группы каталогов», чтобы любые файлы (или каталоги), созданные в каталоге «newdir», имели групповое владение, равное групповому владению каталогом «newdir». {{1} } chmod g + s newdir /
Мне не удалось узнать, как сделать разрешения по умолчанию для вновь созданного КАТАЛОГА следующим образом: drwxrwxrwx 2 группа владельцев
независимо от того, кто когда-либо создавал каталог? Может дело в umask? Можно ли это сделать с помощью списков ACL?
Невозможно «изменить» номер раздела, поскольку они назначаются при создании раздела. Если вы действительно хотите, чтобы ваш sda2 был sda1, то вы можете удалить раздел sda2 и создать новый, который будет называться sda1. Я бы, конечно, не рекомендовал это. В большой схеме вещей, номер раздела ничего не повлияет на производительность или функционирование вашей системы, поэтому вы должны быть в порядке.
-121--909154- Не самая эффективная идея, но она делает работу. Выполнить cronjob по корню его одно задание - выполнить команду /usr/bin/chmod -R 0777/path/to/samba/share
. Проблема решается с интервалом, выбранным вами при каждом выполнении задания.
Да - разрешения по умолчанию определяются маской процесса создания. К сожалению (в отличие от опций SAMBA mount , которые предоставляют отдельные dmask
и fmask
), umask оболочки применяется как к каталогам, так и к файлам:
$ umask 0000
$ mkdir newdir ; touch newfile
$ ls -ld new{dir,file}
drwxrwxrwx 1 steeldriver steeldriver 512 Mar 2 17:22 newdir
-rw-rw-rw- 1 steeldriver steeldriver 0 Mar 2 17:22 newfile
В любом случае нельзя управлять umask процессов других пользователей (особенно не корневых).
Не самая эффективная идея, но она получает работу. Сделайте Cronjob Run, Root, его одна работа - это выполнить команду / usr / bin / chmod -r 0777 / путь / к / samba / chare
. Проблема решается на интервале, выбранном вами каждый раз, когда она запускает эту работу.
Проверьте руководство ( MAN MKDIR
):
-m, --mode=MODE set file mode (as in chmod), not a=rwx - umask
Так что вам просто нужно к:
mkdir -m 777 newdir