[ Содержание ]
При создании новых файлов и директорий устанавливаются права доступа по умолчанию. У директорий это 777, а у файлов — 666. Если сейчас пользователь создаст файл или директорию, то их права не будут равны правам доступа по умолчанию.
$ touch test $ mkdir dir $ ls -l итого 4 drwxr-xr-x 2 artur users 4096 2005-06-06 15:48 dir/ -rw-r--r-- 1 artur users 0 2005-06-06 15:48 test $
У директории права доступа 755, а у файла — 644 (в различных реализациях Linux права доступа могут отличаться). Почему так получилось? Дело в том, что при создании файла учитывается так называемая пользовательская маска (umask).
Пользовательская маска — это число, которое отнимается от прав доступа по умолчанию. Получившиеся в результате вычитания права доступа применяются к создаваемому файлу.
Для просмотра текущего значения и изменения маски используется встроенная в оболочку команда umask.
umask [маска]
В следующем примере показано, как получить текущее значение маски и как установить маску 0077.
$ umask 0022 $ umask 0077 $ touch new_file $ ls -l new_file -rw------- 1 artur users 0 2005-06-07 11:45 new_file $
При создании нового файла была учтена маска. Результирующие права доступа стали равны 666–0077=0600, то есть rw-------.
При создании новой директории права доступа получатся такими: 777–0077=0700, то есть rwx------.
$ mkdir new_dir $ ls -ld new_dir drwx------ 2 artur users 4096 2005-06-07 11:51 new_dir/ $
После выхода пользователя из системы и входа обратно будет использоваться значение макси по умолчанию. Для того, чтобы новое значение маски не пропадало, добавьте команду umask 0077 в любую строку файла .bash_profile (в SuSE Linux надо использовать файл .profile), находящегося в домашней директории пользователя.
[ Содержание ]