Пользователи Linux и их права

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

Управление пользователями


Добавление пользователя

Добавление пользователя осуществляется командой:

useradd [параметры] имя_пользователя

Список доступных параметров можно получить при помощи команды:

useradd --help

Наиболее используемые параметры следующие:

Параметр Описание параметра
-b --base-dir BASE_DIR Cоздание домашней директории пользователя в директории, указанной по умолчанию. Обычно это /home, а пользовательские каталоги — /home/$USER.
-c --comment COMMENT Текстовая строка для описания пользователя. Например,там может быть указано полное имя, адрес, телефон.
-d --home-dir HOME_DIR Домашняя директория (home directory) нового пользователя. По умолчанию используется $HOMEDIR/user
e --expiredate EXPIRE_DATE Дата окончания действия учетной записи.
-g --gid GROUP Указание основной группы (primary group) для нового пользователя. По умолчанию используется стандартная группа, указанная в файле /etc/default/useradd.
-G --groups GROUPS Указание дополнительных групп, к которым будет принадлежать пользователь.
-m --create-home Создание домашнего каталога для нового пользователя, если он еще не существует. Копирует скелетные файлы и другие каталоги из /etc/skel в домашний каталог.
-M Не создавать домашний каталог для пользователя
-n Не создавать приватную группу для пользователя
-s --shell SHELL Указание полного пути к программе (шеллу), которая будет использоваться как начальный командный интерпретатор для пользователя.
-u --uid UID «Ручное» указание id пользователя в виде цифры. По умолчанию используется самое маленькое значение, не меньше, чем UID_MIN, но больше, чем id любого из существующих пользователей.

Установка пароля

Установка пароля для созданного пользователя выполняется командой:

passwd имя_пользователя

Удаление пользователя

Удаление пользователя выполняется командой:

userdel [параметр] имя_пользователя
Параметр Описание параметра
-f, --force Принудительное удаление файлов, даже если они не принадлежат пользователю
-r, --remove Удаление домашней директории пользователя и mail spool

Правка учетной записи

Правка учетной записи пользователя в Linux выполняется следующей командой:

usermod [параметр] имя_пользователя

Список возможных параметров можно узнать при помощи команды:

usermod –help

Большинство этих параметров такие же как и в useradd

Права пользователей Linux


Права у пользователя, как у root

Очень часто можно встретить вопрос "Можно ли сделать у пользователя такие же права как и у рута?"
Нет, поскольку в Linux имеет право «делать всё» только один пользователь, id которого в системе - 0, он же root.
В случае, если требуется выполнить какую-либо команду, которая обычному пользователю недоступна, можно использовать команду:

sudo команда

Эта команда позволяет выполнять операции от имени root’a.
ПРИМЕЧАНИЕ: Команда sudo будет доступна пользователю только в том случае, если он входит в группу, которая указана в файле /etc/sudoers. Например, по умолчанию, это может быть группа “admin”.
Второй вариант – это использование команды:

su имя_пользователя

При помощи этой команды можно переключиться на оболочку другого пользователя и выполнять команды из-под него. Недостаток этой команды заключается в том, что пользователи должны знать пароль пользователя, в оболочку которого они хотят переключиться (например, root).

Ограничение доступа к файлам и папкам

Для того, чтобы пользователь мог выполнять какие-либо действия с файлом/папкой, необходимо, чтобы он имел на это полномочия. В данном случае, это возможно, если данный пользователь является владельцем редактируемого файла/папки, либо входит в группу, которой открыты данные права.
Изменить права к файлу можно командой:

chmod [права] имя-файла

Наиболее распространенным вариантом задания прав для файла является цифровой. В данном случае, право на чтение (r) кодируется цифрой 4, право на запись (w)— цифрой 2, а право на запуск (x) — цифрой 1. Таким образом, если Вы хотите, чтобы владелец файла имел все права на управление файлом, группа могла читать и выполенять, а остальные пользователи могли его только читать, то это можно осуществить следующей командой:

chmod 754 имя_файла

Заметьте, что последовательность указания прав неизменна. То есть, первая цифра (7) указывает права для владельца, вторая (5) – для группы, и третья (4) – для всех остальных пользователей в системе.

Изменение владельца файла/папки

Для того, чтобы изменить владельца файла или папки, используется команда:

chown имя_пользователя имя_файла

Права на выполнение данной команды имеет только root-пользователь.