Войти

Показать полную графическую версию : 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 введите команду без параметров.

klu41k
09-11-2008, 19:16
а какой umask написать чтобы можно было заливать файлы и создавать директории?




© OSzone.net 2001-2012