Пользователи системы

Суперпользователь

В Linux существует ровно один пользователь, права которого существенно выше прав остальных пользователей системы. Он называется rootкорень»), или суперпользователь. Ему соответствует учётная запись с именем root и идентификатором пользователя 0. Для выполнения административных действий следует зарегистрироваться в системе под этим именем. Никаких других работ, кроме администраторских, выполнять от имени пользователя root не рекомендуется, так как цена ошибки возрастает в несколько раз.

На суперпользователя не распространяются ограничения доступа к файлам, поэтому право использовать привилегии root требует большой этической и профессиональной ответственности. Это значит, что пароль суперпользователя должен быть известен только ответственному во всех смыслах лицу. Лучше не записывать пароль суперпользователя, а если такая необходимость возникла, держать записи в недоступном месте, например, в сейфе.

Для временного выполнения действий с правами root существует команда su -. Выполнять эту команду могут только члены группы wheelштурвал»). Членство в группе определяется содержимым файла /etc/group. В случаях, когда требуется передать пользователю только часть полномочий, рекомендуется применять пакет sudo.

Работа с пользователями

Добавить нового пользователя можно при помощи команды useradd входное_имя с необязательными дополнительными параметрами. Результат работы этой команды может быть весьма различен в зависимости от схемы хранения учётных записей. В ALT Linux используется схема TCB, в которой при добавлении новой учётной записи добавляется новая строка в файл /etc/passwd, новый подкаталог /etc/tcb/входное_имя и файл shadow в нём. Для совместимости с другими схемами входное_имя может содержать только латинские буквы, цифры и символ подчёркивания. Для задания полного имени пользователя можно использовать ключ -c полное имя.

Изменить пароль пользователя может либо сам пользователь, либо суперпользователь. Не задавайте пароль, который легко угадать или подобрать! В ALT Linux применена довольно строгая система проверки паролей. Эта схема различает строчные и прописные латинские буквы, цифры, и прочие символы. Хороший пароль должен быть не короче восьми символов, содержать символы хотя бы трёх видов, причём большие буквы в начале и цифры в конце в счёт не идут. Так, например, пароль Please123 считается слабым, а 1Ple2ase3 — сильным.

Разумеется, в пароль не должны входить английские слова. Однако, если этих слов не меньше трёх и разделены они не только пробелами, пароль — такой, как Be off, kid! — также считается сильным. При вводе пароля на экран ничего не выводится. Пример:

teacher# useradd -c "Аксён Викулович Омметров" axen
teacher# passwd axen
Enter new password: 
Re-type new password:
passwd: all authentication tokens updated successfully.

Удалить учётную запись, домашний каталог и почтовый ящик пользователя можно с помощью команды userdel -r входное_имя. Если опустить -r, домашний каталог и почтовый ящик не удаляются.

В процессе начальной загрузки системы, настроенной по профилю «Ученик», автоматически удаляется и вновь заводится учётная запись student. Домашний каталог и почтовый ящик также удаляются. Для того, чтобы пересоздать пользователя student вручную, необходимо запустить стартовый системный сценарий /etc/init.d/mkstudent start.

Для изменения параметров существующей учётной записи используйте утилиту usermod. В частности usermod -L входное_имя временно запрещает использование соответствующей учётной записи, а usermod -U входное_имя — отменяет запрет.

Работа с сетевыми пользователями

Если администратор машины Учитель воспользуется командой chroot /home/chroot, он получит окружение, в котором /etc соответствует /home/chroot/etc, а /nethome — /home/chroot/nethome. Добавление и удаление пользователей в этом окружении приведёт к изменению учётных записей в /home/chroot/etc, которые распространяются на все машины Ученик. По умолчанию создаётся один пользователь netuser с паролем, указанным в настроечном сценарии network_profile. Пример:

Добавление сетевого пользователя:
teacher# root /home/chroot useradd входное_имя
Изменение пароля сетевому пользователю:
teacher# chroot /home/chroot passwd входное_имя
Удаление сетевого пользователя:
teacher# chroot /home/chroot userdel -r входное_имя

Сетевой пользователь может и сам изменить себе пароль. Для этого нужно воспользоваться службой Secure Shell, запущенной на машине Учитель в том же окружении и с использованием нестандартного сетевого порта 2222. Этой службой заведует стартовый сценарий /etc/init.d/ssh_passwd.

Пример изменения пароля по сети (никакие поля, кроме поля входное_имя, изменять не надо):

student1$ ssh -t -p 2222 входное_имя@teacher passwd
входное_имя@teacher's password: 
Changing password for входное_имя.
Enter current password: 
Enter new password: 
Re-type new password:
Connection to teacher closed.

В приведённом примере ssh — команда доступа к службе Secure Shell,-p 2222 означает использование порта 2222, -t — использование особых свойств терминальной линии (иначе пароль будет выводиться на экран), входное_имя@teacher — подключение к компьютеру teacher от имени пользователя входное_имя, а passwd — выполнить на удалённой машине команду passwd. Обратите внимание, что старый пароль пользователя входное_имя необходимо вводить дважды: один раз — при регистрации в службе sshd (Secure Shell), другой раз — команде passwd.