Смекни!
smekni.com

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

Содержание

Введение

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, затем имя:

# usermod -u 1200 anitab

Принадлежность пользователя к группам не изменяется. Все файлы в домашнем каталоге пользователя автоматически обновляются новым кодом U1D. Тем не менее вам придется вручную найти и изменить все файлы за пределами домашнего каталога (crontab, почтовые каталоги, временные файлы /tmp и файлы в общих каталогах).

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

# find / -uid 1050

/usr/src/include/lber.h

/usr/src/include/1 dap.h

/usr/src/include/ldbm.h

Смена владельца файлов осуществляется командой chown:

# chown 1200 /usr/scr/include/lber.h

Последовательная смена владельца для каждого файла — занятие довольно утомительное. Команды chown и find могут выполнить эту работу за вас:

# find / -uid 1050 -exec chown -v 1200 {} &bsol;;

changed owner of '/usr/src/include/lber.h' to 1200

changed owner of '/usr/src/include/ldap.h' to 1200

changed owner of '/usr/src/include/ldbm.h' to 1200

Следующая команда перемещает домашний каталог пользователя со всем содержимым. Если новый каталог не существует, он автоматически создается. Сначала указывается новый каталог, а затем имя пользователя. Обязательно используйте флаги -d и -m:

# usermod -d /serverl/home/aborg/ -m aborg

Изменение данных GECOS:

# chfn aborg

Пользователь может передать при вызове chfn данные GECOS по своему усмотрению. Исключение составляют два поля: полное имя и "прочее". Содержимое этих полей может редактироваться только суперпользователем.