Справочник по Debian



         

Права доступа к файлам и каталогам - часть 3


Вот несколько интересных примеров прав на файлы:

$ ls -l /etc/passwd /etc/shadow /dev/ppp /usr/sbin/pppd crw-rw---- 1 root dip 108, 0 Jan 18 13:32 /dev/ppp -rw-r--r-- 1 root root 1051 Jan 26 08:29 /etc/passwd -rw-r----- 1 root shadow 746 Jan 26 08:29 /etc/shadow -rwsr-xr-- 1 root dip 234504 Nov 24 03:58 /usr/sbin/pppd $ ls -ld /tmp /var/tmp /usr/local /var/mail /usr/src drwxrwxrwt 4 root root 4096 Feb 9 16:35 /tmp drwxrwsr-x 10 root staff 4096 Jan 18 13:31 /usr/local drwxrwsr-x 3 root src 4096 Jan 19 08:36 /usr/src drwxrwsr-x 2 root mail 4096 Feb 2 22:19 /var/mail drwxrwxrwt 3 root root 4096 Jan 25 02:48 /var/tmp

В командах chmod(1) существует альтернативный числовой способ описания прав на файлы. Этот числовой способ использует трех-четырехзначные восьмеричные (основание системы счисления = 8) числа. Каждая цифра соответствует:

  • Первая необязательная цифра: сумма атрибута set user ID (вес = 4), атрибута set group ID (вес = 2) и sticky bit (вес = 1)

  • Вторая цифра: сумма атрибута чтение (вес = 4), атрибута запись (вес = 2) и атрибута выполнения (вес = 1), относящиеся к списку прав пользователя

  • Третья цифра: то же самое для группы

  • Четвертая цифра: то же самое для прочих пользователей

    Это выглядит сложновато, но на самом деле все очень просто. Если вы посмотрите на первые несколько столбцов (2-10) вывода команды ls -l и проинтерпретируете их как двоичное (с основанием = 2) представление прав на файл ("-" означает "0", а "r", "w", "x" означает "1"), то полученное число, переведенное в восьмеричную систему счисления будет являться восьмеричным представлением прав на файл. [] Попробуйте для примера:

    $ touch foo bar

    $ chmod u=rw,go=r foo

    $ chmod 644 bar

    $ ls -l foo bar

    -rw-r--r-- 1 penguin penguin 0 Nov 3 23:30 foo

    -rw-r--r-- 1 penguin penguin 0 Nov 3 23:30 bar

    Маска прав на файл по умолчанию может быть установлена встроенной командой командного интерпретатора umask. Смотрите страницу builtins(7).




    Содержание  Назад  Вперед