Управление правами

Материал из ALT Linux Wiki
Примечание: Обратите внимение, что это не официальная документация, а попытка начинающего админа объяснить материал начинающим админам.

В Linux, благодаря системе полномочий, можно четко разграничивать доступ пользователям на файлы, различные возможности, к сервисам и пр.

Существует три вида прав:

  • на чтение (read, r)
  • на запись (write, w)
  • на выполнение (exec, x)

Так же используется три категории пользователей, к которым эти права могут применяться:

  • владелец файла (user, u)
  • группа файла (group, g)
  • все остальные (others, o)

Эти права применяются для каждого файла, а т.к. все в системе Linux, даже устройства, считаются файлами, то, получается что эти права применимы ко всему.

Как узнать владельца

Чтобы узнать информацию о владельце графически, выберите файл, кликните по нему ПКМ-свойства и перейдите во вкладку "Права". В графическом интерфейсе доступны изменения прав на файл по категориям пользователей.

Права в mate.png

Чтобы узнать владельца в консоли, введите следующую команду. В первом столбике будет выведеден владелец-пользователь, во втором владелец-группа.

# cd /home/ladmin/
# ls -l 
итого 44
drwxr-xr-x 2 ladmin ladmin 4096 мая 29 22:11  certs
-rw-r--r-- 1 ladmin ladmin 8160 мая  3 22:03  klotski.sco
drwxr-xr-x 2 ladmin ladmin 4096 апр 19 20:24  Видео
drwxr-xr-x 2 ladmin ladmin 4096 апр 19 20:24  Документы
drwxr-xr-x 3 ladmin ladmin 4096 мая 30 09:39  Загрузки
drwxr-xr-x 2 ladmin ladmin 4096 апр 19 20:24  Изображения
drwxr-xr-x 2 ladmin ladmin 4096 апр 19 20:24  Музыка
drwxr-xr-x 2 ladmin ladmin 4096 апр 19 20:24  Общедоступные
drwxr-xr-x 2 ladmin ladmin 4096 мая 30 17:13 'Рабочий стол'
drwxr-xr-x 2 ladmin ladmin 4096 апр 19 20:24  Шаблоны

Первая колонка (занимаюшая 10 символов) — это права доступа.

Первый символ указывает на тип записи. Здесь может быть одно из следующих значений:

  • знак тире (-) — обычный файл;
  • буква "d" — каталог;
  • буква "l" — символьная ссылка;
  • буква "s" — сокет;
  • буква "p" — файл FIFO (First in first out, первый вошел — первый вышел).

Вторая и третья колонки — владелец и группа, соответственно.

После этого в каждой строке идет три группы символов rwx, определяющих права доступа для различных категорий пользователей:

  • первая тройка — владельцу файла;
  • вторая — пользователям, входящим в группу владельца;
  • последняя — всем остальным.

В примере

drwxr-xr-x 2 ladmin ladmin 4096 мая 29 22:11  certs
  • d — означает, что certs — каталог
  • [rwxr-xr-x] — делим на [rwx|r-x|r-x], получается:
    • владелец — может rwx — читать, писать, исполнять
    • группа и прочие — r-x — читать и исполнять

Chmod

Команда chmod (change mode – сменить режим) предназначена для изменения прав доступа к файлам и каталогам в Unix-подобных операционных системах.

Синтаксис команды выглядит следующим образом:

# chmod [ключи] установка_прав имя_файла

Например, следующей командой мы разрешаем чтение и запись всем пользователям, чтобы они могли пополнять каталог c фильмами и музыкой на медиасервере :

# chmod -R 666 /home/media

Ключи необязательны. Устанавливать права можно двумя способами: с помощью буквенного обозначения прав (rwx) и с помощью числового в восьмеричной системе счисления.

Три варианта записи прав пользователя
двоичная восьмеричная символьная права на файл права на каталог
000 0 --- нет нет
001 1 --x выполнение чтение свойств файлов
010 2 -w- запись нет
011 3 -wx запись и выполнение всё, кроме получения имени файлов
100 4 r-- чтение чтение имён файлов
101 5 r-x чтение и выполнение доступ на чтение файлов/их свойств
110 6 rw- чтение и запись чтение имён файлов
111 7 rwx все права все права
Действие кому r чтение w запись x выполнение Файл/каталог Все файлы
в каталоге
Файл/каталог (код) Все файлы в каталоге (код)
Разрешить
владельцу chmod u+rwx /file chmod -R u+rwx /folder chmod 700 /file chmod 700 -R /folder
chmod u+rw /file chmod -R u+rw /folder chmod 600 /file chmod 600 -R /folder
chmod u+rx /file chmod -R u+rx /folder chmod 500 /file chmod 500 -R /folder
chmod u+r /file chmod -R u+r /folder chmod 400 /file chmod 400 -R /folder
chmod u+wx /file chmod -R u+wx /folder chmod 300 /file chmod 300 -R /folder
chmod u+w /file chmod -R u+w /folder chmod 200 /file chmod 200 -R /folder
chmod u+x /file chmod -R u+x /folder chmod 100 /file chmod 100 -R /folder
всем chmod ugo+rwx /file chmod -R ugo+rwx /folder chmod 777 /file chmod 777 -R /folder
chmod ugo+rw /file chmod -R ugo+rw /folder chmod 666 /file chmod 666 -R /folder
chmod ugo+rx /file chmod -R ugo+rx /folder chmod 555 /file chmod 555 -R /folder
chmod ugo+r /file chmod -R ugo+r /folder chmod 444 /file chmod 444 -R /folder
chmod ugo+wx /file chmod -R ugo+wx /folder chmod 333 /file chmod 333 -R /folder
chmod ugo+w /file chmod -R ugo+w /folder chmod 222 /file chmod 222 -R /folder
chmod ugo+x /file chmod -R ugo+x /folder chmod 111 /file chmod 111 -R /folder
владельцу и
группе
chmod ug+rwx /file chmod -R ug+rwx /folder chmod 770 /file chmod 770 -R /folder
chmod ug+rw /file chmod -R ug+rw /folder chmod 660 /file chmod 660 -R /folder
chmod ug+rx /file chmod -R ug+rx /folder chmod 550 /file chmod 550 -R /folder
chmod ug+r /file chmod -R ug+r /folder chmod 440 /file chmod 440 -R /folder
chmod ug+wx /file chmod -R ug+wx /folder chmod 330 /file chmod 330 -R /folder
chmod ug+w /file chmod -R ug+w /folder chmod 220 /file chmod 220 -R /folder
chmod ug+x /file chmod -R ug+x /folder chmod 110 /file chmod 110 -R /folder
Запретить
владельцу chmod u-rwx /file chmod -R u-rwx /folder
chmod u-rw /file chmod -R u-rw /folder
chmod u-r /file chmod -R u-r /folder
chmod u-rx /file chmod -R u-rx /folder
chmod u-wx /file chmod -R u-wx /folder
chmod u-w /file chmod -R u-w /folder
chmod u-x /file chmod -R u-x /folder
всем chmod ugo-rwx /file chmod -R ugo-rwx /folder chmod 000 /file chmod 000 -R /folder
chmod ugo-rw /file chmod -R ugo-rw /folder
chmod ugo-r /file chmod -R ugo-r /folder
chmod ugo-rx /file chmod -R ugo-rx /folder
chmod ugo-wx /file chmod -R ugo-wx /folder
chmod ugo-w /file chmod -R ugo-w /folder
chmod ugo-x /file chmod -R ugo-x /folder
владельцу и
группе
chmod ug-rwx /file chmod -R ug-rwx /folder
chmod ug-rw /file chmod -R ug-rw /folder
chmod ug-r /file chmod -R ug-r /folder
chmod ug-rx /file chmod -R ug-rx /folder
chmod ug-wx /file chmod -R ug-wx /folder
chmod ug-w /file chmod -R ug-w /folder
chmod ug-x /file chmod -R ug-x /folder
chmod Владелец u (user) Член группы g (group) Другие пользователи 0 (others) Файл/каталог (код) Все файлы в каталоге (код)
776 Чтение, запись, исполнение Чтение, запись, исполнение Чтение, запись chmod 776 /file chmod 776 -R /folder
775 Чтение, исполнение chmod 775 /file chmod 775 -R /folder
774 Чтение chmod 774 /file chmod 774 -R /folder
766 Чтение, запись Чтение, запись chmod 766 /file chmod 766 -R /folder
755 Чтение, исполнение Чтение, исполнение chmod 755 /file chmod 755 -R /folder
655 Чтение, запись Чтение, исполнение chmod 655 /file chmod 655 -R /folder
644 Чтение Чтение chmod 644 /file chmod 644 -R /folder

Chown

Команда chown (change owner - смена владельца) — утилита, предназначенная для изменения владельца и/или группы для указанных файлов.

Синтаксис программы выглядит следующим образом:

# chown новый_владелец:новая_группа имя_файла

Новый владелец файла:

# chown petr:petr /home/petr/disk.iso

Новый владелец каталога:

# chown petr:petr /home/vasya

Новый владелец каталога и его содержимого:

# chown -R petr:petr /home/vasya

Ссылки