Управление правами
В Linux, благодаря системе полномочий, можно четко разграничивать доступ пользователям на файлы, различные возможности, к сервисам и пр.
Существует три вида прав:
- на чтение (read, r)
- на запись (write, w)
- на выполнение (exec, x)
Так же используется три категории пользователей, к которым эти права могут применяться:
- владелец файла (user, u)
- группа файла (group, g)
- все остальные (others, o)
Эти права применяются для каждого файла, а т.к. все в системе Linux, даже устройства, считаются файлами, то, получается что эти права применимы ко всему.
Как узнать владельца
Чтобы узнать информацию о владельце графически, выберите файл, кликните по нему ПКМ-свойства и перейдите во вкладку "Права". В графическом интерфейсе доступны изменения прав на файл по категориям пользователей.
Чтобы узнать владельца в консоли, введите следующую команду.
# 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