Показать полную графическую версию : umask 022
ZloiJoker
08-03-2004, 21:21
При настройки proftpd есть такой пункт:
# Маска для ограничения создания директорий и файлов
Umask 022
Хотелось бы по подробний про это почитать.
Belansky
08-03-2004, 22:33
Хотелось бы по подробний про это почитать.
О чем? О настройке proftpd или umask 022?
ZloiJoker
09-03-2004, 00:02
о umask 022
ruslandh
09-03-2004, 03:07
umask=value
Set the umask (the bitmask of the permissions that are not
present). The default is the umask of the current process. The
value is given in octal.
Добавлено:
Итого имеем запрет установки записи для группы и записи для других.
Belansky
09-03-2004, 23:21
В man chmod о цифровом выражении прав доступа тоже есть.
ZloiJoker
10-03-2004, 13:54
что это штука делает это я понял, мне б интересно было почитать что с примерами, чтобы осознать..
Belansky
11-03-2004, 01:19
Каждый файл (и директория) имеют биты разрешения. Владелец может изменить их с командой chmod. Начальный, заданный по умолчанию, набор разрешений, когда файл создан, управляется относящейся к окружению переменной umask.
По причинам, возвращающимся к ранним дням UNIX, значение umask используется нечетным способом. То есть заданные по умолчанию разрешения устанавливаются, принимая разрешения ("rwxrwxrwx" (или восьмеричный 777) для директорий, или "rw-rw-rw-" (или восьме-ричный 666) для обычных файлов) и удаляя биты разрешения, определенные в umask (которая всегда выражается в восьмеричном формате).
Значение по умолчанию umask - 022. Следовательно, заданные по умолчанию разрешения: 666 удаляя 022 = 644 = rw-r--r-- (для файла) 777 удаляя 022 = 755 = rwxr-xr-x (для директории).
Для большей безопасности рекомендуется вместо значения 022 использовать значения 027 или 077: 666 удаляя 027=640=rw-r----- (для файла) 777 удаляя 027=750=rwxr-x--- (для директории).
umask - относящаяся к окружению переменная, которая может быть изменена пользователем с командой umask (который является командой оболочки).
Не имеется никакого способа предписать стандартное значение для пользователей. Различное значение по умолчанию может быть установлено размещая команду umask в файле $HOME/.profile пользователя. Однако, пользователь может изменить это значение в любое время.
Начальное значение umask пользователя может быть установлено через SMIT. Вы можете проверять ваше значение по умолчанию с командой umask (без операнда).
hasherfrog
11-03-2004, 09:19
До кучи еще стоит заметить, что umask действует и при создании файлов/директорий из программ. Поэтому иногда приходится делать так:
#include <sys/types.h>
#include <sys/stat.h>
...
mode_t old_mode = umask(077); // <- my new directory must be private
mkdir("my_personal_directory", 777);
umask(old_mode);
...
Belansky
12-03-2004, 23:47
hasherfrog
И это верно.
Belansky
21-03-2004, 15:37
Накопал толковую инфу по umask.
Команда umask задает восьмеричное число, которое при создании каждого файла или каталога вычитается из стандартного режима доступа. Полученное значение присваивается файлу или каталогу. Стандартному режиму доступа к каталогам соответствует число 777, а режиму доступа к файлам - 666. Значение umask также состоит из трех трехбитовых наборов: для владельца, группы и остальных пользователей.
Общий формат команды таков, umask nnn, где nnn - маска режима в цифровом дивпазоне от 000 до 777.
Таким образом, получается:
umask Доступ к каталогам Доступ к файлам
022 755 644
027 750 640
002 775 664
006 771 660
007 770 660
Для просмотра текущего значения umask введите команду без параметров.
а какой umask написать чтобы можно было заливать файлы и создавать директории?
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.