1

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

Но когда этот «пользователь» создает новый файл, тогда разрешения по умолчанию должны быть 774.

Как мне этого добиться?

2 ответа2

1

Умаск объяснил

Права доступа к файлам по умолчанию для вновь создаваемых файлов и каталогов - это стандартное разрешение (rw-rw-rw для файлов, rwxrwxrwx для каталогов), вычитающее текущий параметр umask. Значение umask, равное 000, сохранит стандартные разрешения, тогда как значение 777 удалит все разрешения.

Три числа в umask представляют права пользователя, группы и любого пользователя соответственно. Число представляет три двоичные цифры, независимо от того, нужно ли удалить конкретное разрешение или нет.

d - rwx
-------
0 - 000 (rwx)
1 - 001 (rw-)
2 - 010 (r-x)
3 - 011 (r--)
4 - 100 (-wx)
5 - 101 (-w-)
6 - 110 (--x)
7 - 111 (---)

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

orig    rwx rwx rwx (777, default directory permission)
umask   000 010 010 (022)
result  rwx r-x r-x (755)

orig   rw- rw- rw- (666, default file permission)
umask  000 010 010 (022)
result rw- r-- r-- (644)

orig   rwx rwx rwx (777, default directory permission)
umask  000 000 010 (002)
result rwx rwx r-x (775)

orig   rw- rw- rw- (666, default file permission)
umask  000 000 010 (002)
result rw- rw- r-- (664)
1

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

Этот сайт объясняет, как это работает:http://kb.iu.edu/data/acge.html

Например:

umask 002

даст вам 775 для каталогов и 664 для файлов. Не совсем то, что вы ищете, но вы можете понять что-то, связанное с umask.

Umask по умолчанию можно найти в /etc /profile. Это можно изменить для каждого пользователя, отредактировав umask в ~ /.profile.

Примечание. Значение umask по умолчанию для большинства машин Unix: 022, что дает вам: 644 (rw-r - r--) для файлов и 755 (rwxr-xr-x) для каталогов.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .