> For the complete documentation index, see [llms.txt](https://antons-organization-1.gitbook.io/administrirovanie-linux/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://antons-organization-1.gitbook.io/administrirovanie-linux/bazovye-zadachi/rabota-s-polzovatelyami-v-linux/prakticheskaya-rabota-2.-upravlenie-uchetnymi-zapisyami.md).

# Практическая работа №2. Управление учетными записями

Составьте отчет о выполнении практической работы. Включите в него скриншоты и ответы на вопросы практической работы.

## **Цель работы**

Научиться основным действиям и командам, связанным с управлением пользователями Linux - добавление, удаление пользователя, изменение пароля, добавление в группу. Основные изучаемые команды - *adduser, passwd, su, sudo*.

### **Консольные команды:**

* id <печать идентификатора пользователя>
* usermod <изменение параметров учетной записи пользователя>
* useradd <создание нового пользователя>
* userdel <удаление пользователя>
* whoami <определение текущего пользователя>
* umask <определение или установление маски прав доступа для вновь создаваемых файлов>
* sudo su <получение прав суперпользователя>
* groups <определение к каким группам принадлежит пользователь>

## Задания к практической работе

1. Ознакомиться с содержимым файлов:

```
/etc/passwd
/etc/shadow
/etc/group
```

2. Создать следующие группы:

```
workers
teachers
students
```

1. Создать пользователей *user\_N*, где N =1, 2, .., 5, uid учетной записи должен быть равен 2000+N.
2. Пользователей с N равным 1 и 2 добавить в группу workers вручную внеся изменения в конфигурационный файл.
3. Пользователей с N равным 3, 4 и 5 добавить в группу *students* при помощи команд администрирования.
4. Создать пользователя *student*. В комментарии к учетной записи должны быть Ваше имя и фамилия. uid учетной записи должен быть равен 3000. Пользователя добавить в группу *students*.
5. Для всех пользователей задайте пароли, используя команду *passwd*.
6. Создать директорию *labs* в корневом каталоге. В нем создать каталоги *library* и *tests*
7. Создать файлы book\_\[фамилия студента]\_N и поместить их в *library*
8. Создать текстовый файл test\_\[имя студента]\_N, и поместить в *tests*. Файлы должны содержать скрипт на создание пользователя *user\[номер в журнале+N]* и задание ему пароля *pass\[номер в журнале+N]*. Сделайте эти файлы исполняемыми для пользователей группы students.&#x20;
9. В директории *labs* создать файл *list*, который должен содержать список файлов директории /etc/.
10. Дать право на изменение файла только пользователю *teacher*, а на чтение пользователям группы workers.\*
11. Настроить права доступа к каталогу *library* и *tests*, таким образом, чтобы пользователи группы *teachers* могли изменять и создавать там файлы, а пользователи группы *students* имели доступ на чтение.

\*При необходимости создайте пользователя teacher и задайте ему пароль

## **Задания для самостоятельного выполнения**

1. Определить значение *umask*, при котором создаваемые файлы будут доступны для исполнения всем.
2. Создать в домашнем каталоге подкаталог *tmp*, в котором сможет создавать, удалять и переименовывать файлы любой пользователь, входящий в группу student, но при этом его содержимое не должно быть видимым никому кроме владельца. Проверить правильность настроек доступа.
3. Создать в домашнем каталоге папку shared, в которой могут создавать файлы любые пользователи, но удалять файлы могут только те, кто их создал. Проверить правильность настроек доступа.

## Контрольные вопросы

1. Какие основные файлы хранят информацию о зарегистрированных в системе пользователях?
2. Как добавить пользователя в систему?
3. Зачем операционная система отслеживает дату назначения пароля пользователю?
4. Для чего служит пароль группы?
5. Каково назначения файла */etc/shadow*?
6. Как поменять пароль пользователю? Кто может это сделать?
7. Почему возникает необходимость выполнить команду от имени другого пользователя?

## Дополнительный теоретический материал

{% embed url="<https://qna.habr.com/q/1044168>" %}

{% embed url="<https://translated.turbopages.org/proxy_u/en-ru.ru.5fe7c6ee-65257793-327bc7b3-74722d776562/https/www.baeldung.com/linux/passwd-shell-script>" %}

{% embed url="<https://networkadmin.ru/write-bash-scripts-i-linux/>" %}
