9.5 KiB
Решения
1.
Создайте пользователя mike. При создании задайте в качестве оболочки /bin/bash
. Создайте домашнюю директорию вручную для mike, в /home/mike
. Смените владельца командой chown mike:mike /home/mike
.
$ sudo useradd mike --shell /bin/bash
$ sudo su - mike
su: warning: cannot change directory to /home/mike: No such file or directory
Зайти под пользователем mike теперь можно. Без домашней директории не будет сохраняться история команд, а также нельзя настроить оболочку. Например, активировать пользовательские псевдонимы при входе.
$ sudo mkdir /home/mike
$ sudo su - mike
$ touch ~/1
touch: cannot touch '/home/mike/1': Permission denied
$ sudo chown mike:mike /home/mike
$ touch ~/1
В этом случае домашняя папка пользователя не будет содержать скрытые конфигурационные файлы, которые копируются из директории
/etc/skel/
(переменная SKEL в /etc/default/useradd
) при вызове useradd с флагом --create-home
.
2.
Деактивируйте аккаунт stud, поменяв оболочку на /sbin/nologin
. В соседнем окне, проверьте, что залогиниться вы не можете. Попробуйте варианты через sudo su -
, su -
, по ssh. Верните оболочку в прежнее значение.
$ sudo usermod --shell /sbin/nologin stud
$ ssh s15
Linux stud15 5.10.0-16-amd64 #1 SMP Debian 5.10.127-1 (2022-06-30) x86_64
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Thu Sep 8 22:23:46 2022 from 46.0.144.27
This account is currently not available.
Connection to 193.32.63.185 closed.
$ su --login stud
This account is currently not available.
stud@stud15:~$ sudo su --login stud
This account is currently not available.
3.
Смените пароль пользователя mike
командой passwd
из под суперпользователя. Проверьте, что вы можете зайти под этим пользователем с заданным паролем.
$ sudo passwd mike
551e-2022
$ su - mike
Password: 551e-2022
mike@stud15:~$
4.
Измените в /etc/default/useradd
оболочку по умолчанию на /bin/bash
.
$ cat /etc/default/useradd | grep ^SHELL
SHELL=/bin/bash
5.
Измените в /etc/login.defs
UID_MIN
на 10000
, UMASK
на 077
.
$ cat /etc/login.defs | grep '^\(UID_MIN\|UMASK\)'
UMASK 077
UID_MIN 10000
6.
Создайте пользователя vera с заданным паролем и укажите, что нужно создать домашнюю директорию пользователя. При создании используйте заранее созданный пароль в зашифрованном виде. Для шифрования пароля используйте команду openssl passwd -5 -stdin
. После создания проверьте номер идентификатора пользователя и путь к оболочке в файле /etc/passwd
, хэш-пароль в /etc/shadow
, атрибуты доступа к домашней директории в /home
.
$ echo 'Vera-@)$-2022' | openssl passwd -5 -stdin
$5$zW1zNyUcDCT86mmZ$khDXsCyzBJ/5WeZN9AaARXBdlQaMnVZUzj/WXRDffo5
$ sudo useradd vera -p '$5$zW1zNyUcDCT86mmZ$khDXsCyzBJ/5WeZN9AaARXBdlQaMnVZUzj/WXRDffo5' --create-home
$ ls -l /home/
total 12
drwxr-xr-x 2 mike mike 4096 сен 8 22:00 mike
drwxr-xr-x 11 stud stud 4096 сен 8 23:33 stud
drwx------ 2 vera vera 4096 сен 8 23:47 vera
$ ls /home/vera
ls: cannot open directory '/home/vera': Permission denied
$ grep vera /etc/passwd
vera:x:10000:10000::/home/vera:/bin/bash
$ grep mike /etc/passwd
mike:x:1001:1001::/home/mike:/bin/bash
$ sudo grep vera /etc/shadow
vera:$5$zW1zNyUcDCT86mmZ$khDXsCyzBJ/5WeZN9AaARXBdlQaMnVZUzj/WXRDffo5:19243:0:99999:7:::
$ su - vera
Password: Vera-@)$-2022
vera@stud15:~$
$ ls -la
total 20
drwx------ 2 vera vera 4096 сен 8 23:47 .
drwxr-xr-x 5 root root 4096 сен 8 23:47 ..
-rw-r--r-- 1 vera vera 220 мар 27 22:40 .bash_logout
-rw-r--r-- 1 vera vera 3526 мар 27 22:40 .bashrc
-rw-r--r-- 1 vera vera 807 мар 27 22:40 .profile
Мы видим, что никто кроме пользователя vera не имеет доступа к домашней директории. Идентификатор пользователя vera после создания предыдущего пользователя mike увеличился сразу до значения 10000, вместо 1002. Пароль в зашифрованном виде был сохранён в файл /etc/shadow
. В домашней папке пользователя vera появилось три файла из /etc/skel
.
7.
Поменяйте оболочку пользователя vera на /bin/sh
.
$ sudo usermod --shell /bin/sh vera
8.
Сконфигурируйте пользователя mike
так, чтобы он мог перейти в суперпользователя, зная свой пароль. Справочная документация для этой задачи man sudoers
и полезная команда usermod
.
$ sudo usermod -G sudo mike
9.
Смените пароль пользователя mike
командой chpasswd
.
$ echo 'mike:Mike-@)$-2022' | sudo chpasswd
$ su - mike
Password:
mike@stud15:~$
Обратите внимание на одинарные кавычки. При использовании двойных кавычек bash интерпретирует специальные символы, такие как $, что привело бы к установке неверного пароля.
10.
Создайте и удалите пользователя dummy
.
$ useradd dummy
$ userdel dummy
$ grep dummy /etc/passwd
11.
Создайте группу docker
и добавьте в неё пользователей mike
и vera
.
$ grep mike /etc/group
sudo:x:27:stud,mike
mike:x:10000:
$ sudo groupadd docker
$ sudo usermod -a -G docker mike
$ sudo gpasswd -a vera docker
$ grep -E 'mike|vera' /etc/group
sudo:x:27:stud,mike
mike:x:10000:
vera:x:10001:
docker:x:10002:vera,mike
12.
Удалите пользователя mike
из группы docker
.
Первый вариант использовать gpasswd
.
$ gpasswd -d mike docker
Второй вариант в usermod -G
указать только те группы, в который пользователь должен находиться.
$ sudo usermod -G sudo mike
Третий вариант удалить пользователя на строке группы из списка после последнего :
в файле /etc/group
.
13.
Заблокируйте аккаунт пользователя mike
командой usermod
или модифицировав файл /etc/shadow
.
$ sudo usermod -L mike
$ sudo grep mike /etc/shadow
mike:!$y$j9T$gqE0awjHPMO9IqeWOEdVp0$y5KrjzQfqoOyLy5j68kEte16MvKAs1Rl.IMeIohAnHC:19243:0:99999:7:::
$ su - mike
Password:
su: Authentication failure
Знак !
перед хэшем пароля означает, что аккаунт заморожен.
14.
Настройте пользователя со своим именем на виртуальной машине stud14
. Зайдите под ним на какое-то время. Посмотрите кто ещё зашёл на машину. Проверьте кто заходил на эту машину ранее командой last
.
stud@stud14:~$ who
stud pts/1 2022-09-09 00:43 (46.0.124.17)
stud@stud14:~$ last -n 10
stud pts/1 46.0.124.17 Fri Sep 9 00:43 still logged in
stud pts/4 87.229.245.190 Thu Sep 8 19:04 - 19:05 (00:00)
stud pts/3 87.229.245.190 Thu Sep 8 19:04 - 21:25 (02:20)
stud pts/0 87.229.245.190 Thu Sep 8 19:04 - 19:06 (00:02)
stud pts/3 87.229.245.190 Thu Sep 8 18:59 - 19:04 (00:04)
stud pts/3 87.229.245.190 Thu Sep 8 18:59 - 18:59 (00:00)
stud pts/3 87.229.245.190 Thu Sep 8 18:57 - 18:57 (00:00)
tim pts/3 87.229.245.190 Thu Sep 8 18:42 - 18:49 (00:06)
stud pts/7 87.229.245.190 Thu Sep 8 18:41 - 18:57 (00:16)
stud pts/3 87.229.245.190 Thu Sep 8 18:40 - 18:42 (00:01)
15.
Сыграйте с коллегой в игру. Сначала зайдите на свои виртуальные машины. Зайдите друг к другу на виртуальную машину по ssh. Попробуйте первым отключить соседа от виртуальной машины.
$ who -u
$ sudo kill -9 <pid>
$ sudo usermod -L <user>