Управление учетными записями пользователей (49310)

Посмотреть архив целиком

Содержание


Введение

  1. Отделение обычных пользователей от системных

  2. Определение кодов UID и GID

  3. Создание учетной записи пользователя командой USERADD

  4. Создание учетной записи пользователя командой ADDUSER

  5. Изменение учетной записи пользователя

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

  7. Блокировка учетных записей

  8. Управление паролями

  9. Создание групп командой GROUPADD

  10. Удаление групп командой GROUPDEL

  11. Создание системного пользователя

  12. Создание системных групп командой ADDGROUP

  13. Изменение принадлежности к группам

  14. Проверка целостности файлов паролей

  15. Серийное добавление новых пользователей

  16. Серийная замена паролей

  17. Серийное включение пользователей в группы

  18. Временное использование привилегий ROOT

  19. Временное предоставление привилегий ROOT командой SUDO

  20. Пароли. Служба теневого хранения паролей

  21. Дополнительные модули аутентификации

Список использованной литературы

Выводы



Введение


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

Два важнейших принципа безопасности Linux:

1. Всегда используйте минимальный уровень привилегий, необходимый для выполнения работы.

2. Используйте сильные пароли.

В Linux входит набор утилит для выполнения операций с пользователями и группами: useradd, groupadd, userdel, groupdel, usermod, groupmod, passwd, chfn и chsh.

Они входят в семейство "Shadow Suite", разработанное Джулианом Фрэнсисом Хо (Julianne Frances Haugh) для улучшения защиты паролей и упрощения операций управления учетными записями. Когда-то все файлы приходилось редактировать по отдельности, а шифрованные пароли хранились в файле /etc/passwd.

Но поскольку файл /etc/passwd должен оставаться доступным для чтения, хранение паролей в нем, пусть даже в зашифрованном виде, чревато потенциальными неприятностями. Скопировав этот файл, любой желающий теоретически сможет вычислить пароли. Перемещение зашифрованных паролей в файл /etc/shadow, доступный только для привилегированного пользователя root, создает полезный дополнительный уровень защиты.

Команда useradd по-разному работает в разных системах. Традиционно она включала всех новых пользователей в одну группу users(lOO). Все домашние каталоги становились общедоступными, потому что все пользователи принадлежали к одной группе. В Red Hat эта схема была заменена схемой "User Privacy Group".

Команда useradd в Red Hat создает для каждого нового пользователя приватную группу, идентификатор которой (GID) совпадает с идентификатором пользователя (UID). Разумеется, разные пользователи обладают разными потребностями, некоторые из них могут предпочесть, чтобы их каталоги были открытыми. Фундаментальный принцип безопасности гласит: "сначала все запретить, потом разрешать по мере необходимости".

Adduser и addgroup, сценарные Perl-обертки для команд useradd и groupadd, появились относительно недавно. Эти сценарии полностью руководят вашими действиями при создании нового пользователя. Они очень удобны для создания отдельных учетных записей, но не для серийных (batch) операций (разве что если вы самостоятельно внесете изменения в сценарии adduser и addgroup). В разделе 15 приведен сценарий для серийного создания новых пользователей и изменения паролей.



1. Отделение обычных пользователей от системных


В любой системе Linux, наряду с учетными записями обычных пользователей, существуют системные учетные записи (root, uucp, daemon и т. д.). В файле /etc/passwd эти две категории не отделяются друг от друга. Как отделить учетные записи "живых" пользователей от системных учетных записей?

Воспользовавшись схемой нумерации идентификаторов пользователей в Linux (UID) и возможностью сортировки по полям или столбцам в awk.

Пример для системы на базе Debian или Slackware:


$ awk -F: '$3 > 999 { print $0}' /etc/passwd

nobody:x:65534:65534:nobody:/nonexi stent:/bi n/sh

carl a:x:1000:1000::/home/carl a:/bin/bash

foober:x:1001:1001::/home/test:/bi n/false

bitchkat:x:1002:1002::/home/test2/:bin/bash

Colby:x:1003:1003::/home/test3:/bin/bash

Отображение подмножества записей:

$ awk -F: '($3 >- 1000) && ($3 <= 1005) { print $0}' /etc/passwd

Для систем Red Hat и SuSE:

* awk -F: '$3 > 499 { print $0}' /etc/passwd

Алфавитная сортировка результата:

$ awk -F: '$3 > 499 { print $0}' /etc/passwd | sort


Описанный прием особенно удобен тогда, когда схему нумерации UID в группах удается спроектировать заранее.

Например:

  • Trainers 1000-1100;

  • Coaches 1101-1200;

  • Players 1200-2000.

Если придерживаться подобной схемы, в нашем распоряжении появится простой инструмент для сортировки пользователей и их последующего разбиения на группы.


2. Определение кодов UID и GID


Если необходимо узнать код UID пользователя и выяснить, к каким группам он принадлежит, воспользуйтесь командой id:


$ id carl a

uid-lOOO(carla) gid=1000(carla)

groups=1000(carla).20(dialout),24(cdrom),25(floppy),29(audio),30(dip),44(video),

105(windows),432(usb).lOOl(cdrecording)


Ключи команды id:

-u — вывод только кодов UID;

-g — вывод только кодов GID;

-gn — вывод имени первичной группы пользователя вместо GID.


3. Создание учетной записи пользователя командой USERADD


Для создания учетной записи можно воспользоваться командой useradd -m для создания имени пользователя, его домашнего каталога и других переменных окружения, затем назначьте пароль командой passwd -e. До создания пароля учетная запись остается неактивной. Далее приводится простейший вариант вызова. С флагом –m команда создает домашний каталог и копирует в него файлы из /etc/skel:

# useradd -m имя пользователя

Как правило, в команду также включается полное имя пользователя с флагом - с (Comment, то есть комментарий). Поставьте четыре запятые после имени пользователя, чтобы остальные поля комментария (рабочий телефон и т. д.) остались пустыми.

# useradd -m -с Grace Hopper ghopper

Имя пользователя должно быть уникальным.

Можно выполнить команду passwd -e. Флаг -е означает, что пароль становится недействительным после первого входа, что заставляет пользователя сменить его:


# passwd -e ghopper

Enter new UNIX password:

Retype new UNIX password:

passwd: password updated successfully


Окружение пользователя формируется на основании стандартного содержимого /etc/default/useradd и/etc/skel. Конфигурация useradd по умолчанию отображается командой

# useradd -D

Любые значения по умолчанию могут переопределяться в командной строке —

например, UID и командный процессор:

# useradd -u 1500 -s tcsh ghopper

Также существует возможность расширения стандартной конфигурации —

например, включить пользователя в дополнительные группы:

# useradd -G users,cdrecord.dialout ghopper

Useradd, в отличие от своего родственника adduser, прекрасно работает в сценариях (например, в сценарии mass_useradd из раздела 15).

Поля комментария также известны под названием данных GECOS. Данные GECOS состоят из пяти полей, разделенных запятыми. Если вы собираетесь использовать поле комментария, включите все четыре запятые, даже если значения соответствующих атрибутов не указываются. В долгосрочной перспективе это окупится, особенно при выполнении серийных операций и при поиске. Традиционно в данные GECOS входит полное имя, номер комнаты, рабочий телефон, домашний телефон и прочее (произвольная информация). Полное имя используется многими внешними программами — в частности, почтовыми серверами, однако другие поля можно использовать так, как вы сочтете нужным. Например, они позволяют организовать произвольное деление пользователей на группы и их сортировку (см. раздел 17).


4. Создание учетной записи пользователя командой ADDUSER


Использование adduser вместо useradd помогает ввести все данные конфигурации нового пользователя — пароль, данные GECOS и т. д.

Введите команду adduser имя_пользователя и введите запрашиваемые данные:


# adduser anitab

Adding user anitab...

Adding new group anitab (1008).

Adding new user anitab (1008) with group anitab.

Creating new home directory /home/anitab.

Copying files from /etc/skel

Enter new UNIX password:

Retype new UNIX password:

passwd: password updated successfully

Changing the user information for anitab

Enter the new value, or press ENTER for the default

Full name []:

Room Number []:

Work Phone []:

Home Phone []:

Other []:

Is the information correct [y/n] у


В командной строке adduser можно указать код UID, переопределяя значение по умолчанию:

# adduser --uid 1500 anitab

Стандартная конфигурация adduser задается в файле /etc/adduser.conf.


5. Изменение учетной записи пользователя


Иногда требуется внести изменения в существующую учетную запись — например, сменить имя пользователя или UID, обновить данные GECOS или домашний каталог.

Воспользуйтесь командами usermod и chfn.

Изменять можно любые атрибуты, включая имя пользователя и код UID. Чтобы сменить имя, сначала укажите новое имя, а затем старое:

# usermod -I aborg anitab

Следующая команда изменяет UID (в следующем примере исходное значение 1050 меняется на 1200) без изменения имени пользователя. Сначала указывается новый код UID, затем имя:


Случайные файлы

Файл
132000.rtf
12441.rtf
16286.rtf
1225.rtf
3522.rtf




Чтобы не видеть здесь видео-рекламу достаточно стать зарегистрированным пользователем.
Чтобы не видеть никакую рекламу на сайте, нужно стать VIP-пользователем.
Это можно сделать совершенно бесплатно. Читайте подробности тут.