Настройка пользователей в Linux
Введение
Под пользователем понимается любой, кто работает с компьютером. Как правило, для каждого пользователя в системе создаётся отдельный аккаунт, которому присваивается специальное имя. В качестве имени пользователя можно использовать как реальные имена, вроде Mary или Bill, так и псевдонимы — Dragonlady, Pirate и т.п. С помощью имени пользователь получает доступ к своему аккаунту и, в конечном счёте, к системе. Некоторые системные службы запускаются либо привилегированными аккаунтами, либо строго определёнными аккаунтами пользователей.
Механизм пользователей был разработан по соображениям безопасности, для ограничения доступа к различным частям системы. Суперпользователь (root) имеет полный доступ к операционной системе и её настройкам. Этот аккаунт используется только для целей системного администрирования; обычные пользователи могут временно повысить уровень своих прав командами su и sudo.
Один человек может создать несколько аккаунтов с разными именами. Некоторые специфические имена, вроде того же "root", зарезервированы и запрещены к использованию.
Пользователи часто объединятся в "группы". Добавление пользователя в определённую группу обычно даёт ему дополнительные права, связанные с этой группой.
Обзор на пользователей и группы
- В операционной системе UNIX были сформулированы некоторые общие идеи и принципы, которые оказали в дальнейшем сильное влияние на её архитектуру, пользовательский интерфейс, культуру и развитие. В частности, один из основополагающих принципов выражается мантрой "всё есть файл", которую часто называют определяющим пунктом UNIX в целом. Суть данного принципа заключается в создании унифицированного способа доступа к широкому диапазону ресурсов ввода/вывода: к документам, каталогам, жёстким дискам, дискам CD-ROM, модемам, клавиатурам, принтерам, мониторам, терминалам и даже межпроцессным и сетевым взаимодействиям. Цель — предоставление универсальной абстракции для каждого из этих объектов, названных отцами-оснвоателями UNIX общим термином "файл". Поскольку доступ к файлу осуществляется с помощью одного и того же API, стало возможно использовать одинаковый набор базовых команд для чтения и записи таких разнородных устройств, как диск, клавиатура, документ или сетевой интерфейс.
- Абстракция файла, существующая в операционной системе UNIX и совместимых с ней системах, является основополагающей и всеобъемлющей. Любая системная служба и интерфейс устройства теперь могут реализовываться так, чтобы предоставлять другим приложениям метафору файла или файловой системы. Это открывает новые способы их использования и значительно расширяет возможности существующих приложений — простые инструменты, разработанные для решения узких задач, теперь, вооружившись абстракцией файла UNIX, могут использоваться совершенно по-новому. Небольшая утилита вроде cat, предназначенная для считываения одного или нескольких файлов и вывода их содержимого на стандартный поток вывода, теперь может выполнять чтение с устройств ввода-вывода с помощью специальных файлов устройств, как правило расположенных в каталоге
/dev
. С другой стороны, во многих системах запись и проигрываение звука теперь выполняется всего лишь командами "cat /dev/audio > myfile
" и "cat myfile > /dev/audio
" соответственно. - В GNU/Linux каждый файл принадлежит какому-то пользователю и группе. Существует три типа прав доступа — чтение, запись и исполнение. Права доступа задаются по отдельности для владельца-пользователя, владельца-группы, и для прочих пользователей, которые не входят в первые две категории.
Краткая настройка
Перейдем в суперпользователя su -. Для создания пользователя с конкретным идентификатором пользователя (UID), можно использовать команду useradd
с опцией -u
. Например, чтобы создать пользователя с именем dmosk
и UID 10101, следует выполнить команду useradd dmosk -u 10101
. После создания пользователя необходимо задать ему пароль с помощью команды passwd
. Для пользователя dmosk
это будет выглядеть следующим образом: passwd dmosk
. После выполнения этой команды система запросит ввод нового пароля, который необходимо ввести дважды для подтверждения. Добавим пользователя в группу с помощью команды usermod -aG wheel dmosk и проверим результат с помощью команды `id dmosk`.
Для предоставления пользователю прав на выполнение команд с правами sudo
(root) без ввода пароля, необходимо отредактировать файл /etc/sudoers
. Этот файл управляет правами доступа пользователей к командам с повышенными привилегиями. Для настройки следует выполнить следующие шаги: открыть файл /etc/sudoers
для редактирования с помощью команды mcedit /etc/sudoers
, что должно быть сделано с правами суперпользователя (root). В файле /etc/sudoers
нужно убрать комментарии (удалить символ #
в начале строк) с следующих строк: WHEEL_USERS ALL=(ALL:ALL) ALL
и WHEEL_USERS ALL=(ALL:ALL) NOPASSWD: ALL
. После внесения изменений, необходимо удостовериться в корректности работы. Для этого нужно зайти под пользователем и выполнить команду sudo -i
для проверки прав доступа. Если все настроено правильно, пользователь сможет выполнять команды с правами sudo
без ввода пароля.