Управление правами доступа
Многопользовательская среда предполагает наличие механизма регулирования прав доступа к любому ресурсу в системе. Существует три типа прав доступа: на чтение, запись и исполнение.
Каждый файл имеет определенного владельца и группу, увидеть это можно с помощью команды ls -l:
$ ls -l -rw-r--r-- 1 Aleksandr users 0 Сен 11 07:22 fooВ данном случае владельцем является Aleksandr, а группой файла - users.
Первый (считая слева) символ говорит обычный ли это файл, каталог, символьное устройство, сокет или любое другое псевдофайловое устройство. В нашем случае -, указывает на обычный файл. Следующие три символа (в данном случае это rw-) задают права доступа владельца файла. Затем идут права группы, которой принадлежит файл (r--). Последняя тройка (r--) определяет права для всех остальных.
Права сгруппированы три по три, соответственно чтение/запись/выполнение для владельца/группы/всех остальных. Численное и символьное представление:
0 // Ничего не разрешено // ---Права на устройства контролируются аналогичным образом. В Linux все устройства представлены в виде файлов, которые можно открывать, читать и писать в них. Эти специальные файлы содержатся в каталоге /dev.
1 // Нельзя читать и писать, разрешено исполнять // --x
2 // Нельзя читать и исполнять, разрешено писать // -w-
3 // Нельзя читать, разрешено писать и исполнять // -wx
4 // Разрешено читать, нельзя писать и исполнять // r--
5 // Разрешено читать и исполнять, нельзя писать // r-x
6 // Разрешено читать и писать, нельзя исполнять // rw-
7 // Разрешено все // rwx (all)
Каталоги также являются файлами. К ним применимы те же права на чтение, запись и выполнение. Правда, в данном случае "выполнение'' имеет несколько другой смысл. Когда каталог помечен как "исполнимый'', это означает, что можно "зайти'' в него (с помощью команды cd, change directory). Это также означает, что в данном каталоге можно получить доступ к файлам, имена которых известны (конечно, если собственные права на файл разрешают такой доступ).
Для управления правами используется команда chmod:
Упрощенный синтаксис:
chmod изменение цельв качестве изменения может выступать как цифровой код новых прав для файла:
chmod 777 fooустановит режим "можно все" для "всех"
так и модификации, с использованием операторов +, - и =
оператор + означает добавить права
оператор - означает удаление прав
chmod -x fooудалит право исполнения для всех пользователей
так же, возможно целевое удаление или добавление прав, с использованием следующих обозначений:
u Пользователь (User) g Группа (Group) o Другие (Other) a Все (All)Пример:
chmod g+r fooдобавит право чтения для группы
Для смены владельца/группы используется команда chown:
chown владелец:группа цельустановит для целевого файла указанного владельца и группу.
Для выполнения отдельных приложений с привилегиями суперпользователя предназначено sudo:
sudo приложениеДля перехода в режим суперпользователя используется команда su:
su пароль_суперпользователя
Управление пользователями в Linux
Для создания пользователей самый простой способ - использовать утилиту adduser которая в интерактивном режиме запросит все необходимые параметры. В большинстве случаев достаточно использовать параметры "по умолчанию"
Для смены пароля пользователя используется passwd.
Пользователь может (при наличии прав) сменить пароль для себя используя passwd без параметров.
Суперпользователь может сменить пароль для любого пользователя используя passwd логин_пользователя
Для включения пользователя в группу используется: gpasswd
добавление:
gpasswd -a пользователь группаудаление из группы:
gpasswd -r пользователь группаУдаление пользователя - команда userdel:
userdel пользователь