В Linux вы можете управлять пользователями (добавлять, изменять, удалять) многими способами. В начале этого раздела мы допустим, что каждый администрируемый вами сервер имеет собственную базу пользователей, находящуюся в файле /etc/passwd. Мы также допустим, что вы знаете основы добавления и удаления пользовательских учетных записей с помощью команд adduser и useradd в зависимости от используемого дистрибутива системы.
В различных вариантах Linux изменено поведение по умолчанию команд adduser/ useradd. Вы можете попасть на страницы справочного руководства по каждой команде, но, возможно, вы не захотите работать так, как это указано на страницах этого руководства. Вы должны поэкспериментировать, чтобы увидеть, как ведет себя ваш вариант. В Fedora обе команды, казалось бы, ведут себя одинаково: добавляют учетную запись и директорию пользователя. Если вы введете adduser tadel ste или useradd tadel ste, то команды добавят пользователя и создадут домашнюю директорию, но не будут запрашивать временный пароль или проводить вас через стандартные этапы Linux, которые вы, возможно, ожидаете увидеть. В другом варианте вы можете увидеть такой код:
... § adduser tadelste
Adding user "tadelste1...
Adding new group "tadelste' (1001).
Adding new user 'tadelste' (1001) with group "tadelste'.
Creating home directory "/home/tadelste1.
Copying files from "/etc/skel'
Enter new UNIX password: passwdl
Retype new UNIX password: passwdl
passwd: password updated successfully
Changing the user information for tadelste
Enter the new value, or press ENTER for the default
Ful1 Name []: New User
Room Number []:
Work Phone []: 9995551212
Home Phone []:
Other []:
Is the information correct? [y/N] у
Однако в Fedora вывод останавливается на строке Copyi ng fi 1 es. Далее ожидается, что администратор создаст первый пользовательский пароль. Но что делать, если он не назначает новый пользовательский пароль непосредственно? Может ли, например, добавленный пользователь получить доступ к серверу через ssh? Попробуем:
$ ssh tadelste0host2.centralsoft.org
tadelste@host2.central soft.org1s password: Permission denied, please try again, tadelste@host2.central soft.org1s password: Permission denied, please try again, tadelste@host2.central soft.org1s password:
Permission denied (publickey.gssapiwithmic,password). $
Как видите, ответ отрицательный. У пользователя не просто пустой пароль, у него вообще нет пароля. В файле ssh_config работает запрос пароля, поэтому пользователь не может ни использовать SSH, ни войти в него.
Затем нужно добавить пароль для пользователя, что администратор может сделать следующим образом:
[root@host2 ]# passwd tadelste
Changing password for user tadelste.
New UNIX password: passwdl
Retype new UNIX password: passwdl
passwd: all authentication tokens updated successfully.
[root@host2 ]#
Результат показывает, что команда passwd изменяет пароль для пользователя, но это не так — не запрашивается первоначальный (несуществующий) пароль.
Будучи обычным пользователем и однажды введя пароль, вы можете изменять его самостоятельно.
$ passwd
Changing password for user tadelste. Changing password for tadelste (current) UNIX password: passwdl New UNIX password: passwdl Password unchanged New UNIX password: passwd2 Retype new UNIX password: passwd2
passwd: all authentication tokens updated successfully. $
Fedora сначала подтверждает, что у вас есть пароль (если нет, вы не сможете войти на сервер). Она также удостоверяет, что ваш новый пароль отличается от существующего. Если вы введете тот же самый пароль, то Fedora не примет его и предложит вам попробовать снова.
Поскольку в Fedora используется протокол Red Hat, вы можете допустить, что в вопросе добавления пользователей и установления паролей существуют некоторые моменты, связанные с безопасностью.
Если вы инсталлировали Fedora, установочный сценарий подсказал вам создать пароль для учетной записи rootпользователя и основную учетную запись пользователя наряду с root. Иначе вы можете иметь ограниченную возможность добавления пользователей и совсем мало возможностей системного администрирования.
Системный администратор должен знать: О как создавать и настраивать учетные записи; О как удалять и отключать учетные записи;
О варианты потенциальной защиты от вторжения, связанной с управлением пользователями.
Вы также должны знать, что пользовательские учетные записи служат некоторым целям Linux и что некоторые «пользователи» не являются людьми. Вы увидите два основных типа учетных записей.
О Для реальных людей. Каждому пользователю дана учетная запись, связанная с небольшим количеством настроек, такими как пароль, домашняя директория и оболочка, начинающая работать после входа пользователя в систему. Обеспечение каждого пользователя отдельной учетной записью позволяет администраторам устанавливать права доступа к файлам, чтобы контролировать работу с ними.
О Для системных служб, таких как почтовый сервер и сервер базы данных. Эти
учетные записи гарантируют, что сервисы работают с очень ограниченными привилегиями и имеют доступ только к очень ограниченному количеству необходимых файлов. Это удобно в тех случаях, когда ошибка программы или злоумышленник пытаются проникнуть в другие части системы. Как правило, если служба установлена, то процесс установки или системный администратор создают пользователя и группу с одним и тем же именем (postfix, mysql и т. д.) и определяют их для всех файлов и директорий, контролируемых данной службой. Службам не даны пароли, домашние директории и оболочки, поэтому захотеть работать с ними могут только злоумышленники. Как было указано выше, если вы читаете эту книгу с самого начала, то уже должны знать, как добавлять пользователей, устанавливать пароли и т. д. Теперь мы хотим сосредоточиться на материале, необходимом администратору для понимания пользователей с точки зрения безопасности.