Что определяет разрешения каталога по умолчанию? [дублировать]

В Linux, когда я создаю каталог mkdir newdir, то вновь созданный каталог имеет эти права и права собственности: drwxr-xr-x 2 группа владельцев

Мой вопрос

Как сделать так, чтобы разрешения по умолчанию для вновь созданного DIRECTORIES были: drwxrwxrwx 2 группа владельцев независимо от того, кто создал эту директорию?

Некоторые исследования, которые я провел

Я знаю, что из общего ресурса Samba можно сделать это с помощью маски директории , но что, если кто-то войдет в терминал и сделает директорию корневой, а затем появится обычный пользователь, и он не сможет создавать файлы в этой директории, которую создал корневой пользователь?

Я играл с ACL и понимаю, как сделать так, чтобы все вновь созданные ФАЙЛЫ имели определенные разрешения.

например: setfacl -dRm u::rwX,g::rwX,o::0 newdir/

Это делает все файлы в папке newdir имеющими определенные разрешения: -rw-rw---- независимо от того, кто создал файл.

Я также узнал об "установке бита id группы каталогов" таким образом, что любые файлы (или каталоги), созданные в каталоге "newdir", будут иметь групповое право собственности, равное групповому праву собственности каталога "newdir". chmod g+s newdir/

Я не смог узнать, как сделать разрешения по умолчанию для вновь созданного DIRECTORY: drwxrwxrwx 2 группа владельцев независимо от того, кто когда-либо создавал эту директорию? Может быть, это как-то связано с umask? Можно ли это сделать с ACL?

0
задан 3 March 2021 в 00:58

3 ответа

Невозможно «изменить» номер раздела, поскольку они назначаются при создании раздела. Если вы действительно хотите, чтобы ваш sda2 был sda1, то вы можете удалить раздел sda2 и создать новый, который будет называться sda1. Я бы, конечно, не рекомендовал это. В большой схеме вещей, номер раздела ничего не повлияет на производительность или функционирование вашей системы, поэтому вы должны быть в порядке.

-121--909154-

Не самая эффективная идея, но она делает работу. Выполнить cronjob по корню его одно задание - выполнить команду /usr/bin/chmod -R 0777/path/to/samba/share . Проблема решается с интервалом, выбранным вами при каждом выполнении задания.

-121--909152-

Да - разрешения по умолчанию определяются маской процесса создания. К сожалению (в отличие от опций 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 процессов других пользователей (особенно не корневых).

2
ответ дан 18 March 2021 в 23:29

Не самая эффективная идея, но она получает работу. Сделайте Cronjob Run, Root, его одна работа - это выполнить команду / usr / bin / chmod -r 0777 / путь / к / samba / chare . Проблема решается на интервале, выбранном вами каждый раз, когда она запускает эту работу.

0
ответ дан 18 March 2021 в 23:29

Проверьте руководство ( MAN MKDIR ):

-m, --mode=MODE
    set file mode (as in chmod), not a=rwx - umask

Так что вам просто нужно к:

mkdir -m 777 newdir
1
ответ дан 18 March 2021 в 23:29

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

Похожие вопросы: