if ($answer_counter == 1): ?>
endif; ?>
umask действует как набор разрешений, которые приложения не могут устанавливать в файлах. Это маска создания режима файла для процессов и не может быть установлена для самих каталогов. Большинство приложений не будут создавать файлы с установленными разрешениями на выполнение, поэтому у них будет значение по умолчанию 666
, которое затем будет изменено umask.
Как вы установили umask для удаления бит чтения / записи для владельца и бит чтения для других, по умолчанию, например, 777
в приложениях, будут иметь права доступа к файлам 133
. Это означало бы, что вы (и другие) могли бы выполнить файл, а другие могли бы написать ему.
Если вы хотите, чтобы файлы не читались / записывались / выполнялись кем-либо, кроме владельца, вы должны использовать umask, например 077
, чтобы отключить эти разрешения для группы & amp; другие.
В противоположность этому, umask 000
сделает вновь созданные каталоги доступными для чтения, записываемыми и доступными для всех (разрешения будут 777
). Такая umask крайне небезопасна, и вы никогда не должны устанавливать umask в 000
.
По умолчанию umask на Ubuntu является 022
, что означает, что только что созданные файлы читаются всеми, но доступны только для записи владельцем:
[email protected]:~$ touch new-file-name
[email protected]:~$ ls -dl new-file-name
-rw-r--r-- 1 user user 0 Apr 1 19:15 new-file-name
Просмотр и изменение umask
Чтобы просмотреть текущую настройку umask, откройте терминал и выполните команду:
umask
Чтобы изменить настройку umask текущей оболочки на что-то еще, скажем, 077, запустите:
umask 077
Чтобы проверить, работает ли этот параметр или нет, вы можете создать файл new (разрешения на файл существующего файла не будут затронуты) и показать информацию о файле, запустить:
[email protected]:~$ touch new-file-name
[email protected]:~$ ls -dl new-file-name
-rw------- 1 user user 0 Apr 1 19:14 new-file-name
Настройка umask наследуется процессами, запущенными из той же оболочки. Например, запустите текстовый редактор GEdit, выполнив gedit
в терминале и сохраните файл с помощью gedit. Вы заметите, что на вновь созданный файл влияет тот же самый параметр umask, что и на терминале.
Использование: многопользовательская система
Если вы используете систему, которая используется несколькими пользователями, желательно, чтобы другие пользователи не могли читать файлы в вашем домашнем каталоге. Для этого очень полезен umask. Измените ~/.profile
и добавьте новую строку с помощью:
umask 007
Вам необходимо повторно зарегистрироваться для этого изменения umask в ~/.profile
, чтобы вступить в силу. Затем вам необходимо изменить существующие разрешения файлов файлов в вашем домашнем каталоге, удалив бит чтения, записи и выполнения для всего мира. Откройте терминал и выполните:
chmod -R o-rwx ~
Если вы хотите, чтобы этот параметр umask применялся ко всем пользователям в системе, вы можете отредактировать файл профиля всей системы в /etc/profile
.