В 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.