Понимать команды для управления пользователями и группами важно, поскольку вы будете использовать эту информацию для повышения привилегий в будущем.
Пользователи с низким уровнем привилегий должны добавлять к командам
sudo для выполнения системных команд(и пользователь с низким уровнем привелегий должен входить в группу sudo для выполнения sudo). Вам будет предложено ввести пароль вашей учётной записи, если вы захотите использовать команду sudo.Например, если хотите запустить системный инструмент
fdisk, чтобы показать устройства, подключённые к системе, то введите:$ sudo fdisk -l
Без
sudo, вы не сможете запустить инструмент.Давайте создадим нового пользователя и добавим его в группу
sudo (эти команды будут работать только от root или от пользователя уже состоящему в группе sudo):# useradd -m username -G sudo -s /bin/bash
Ну и конечно зададим ему пароль:
# passwd username
Для того чтобы понять, с какими вы правами сейчас авторизованы, посмотрите на свой никнейм в терминале, вы увидите похожее на это:
delifer@kali ~$
Где, delifer - никнейм, @ - разделяющий символ, kali - имя хоста, ~ - расположение, $ - обычный пользователь с малыми правами.
Если бы мы были авторизованы как root или дали себе
sudo с помощью su. То $ изменилась бы на #.$ sudo su
Чтобы узнать права текущего пользователя в контексте команды sudo, можно ввести sudo -l.
А чтобы просмотреть информацию о текущем пользователе, используйте команду id.
Также можно посмотреть список пользователей, которые в настоящее время вошли в систему, используйте
w или who(менее подробно).Мы создали пользователя, давайте его теперь удалим. Пользователя можно удалить следующей командой:
$ sudo userdel username
Можно также посмотреть последних авторизованных пользователей с помощью команды
last.Вся информация о пользователях в системе Linux храниться в файле конфигурации
/etc/passwd. Используя команду cat, мы можем посмотреть содержимое.$ cat /etc/passwd
Таким способом мы получаем не только пользователей, но и программ. С помощью
grep можно отфильтровать вывод:$ cat /etc/passwd | grep "/bin/bash"
Давайте создадим теперь группу, для этого можно использовать команду
groupadd$ sudo groupadd codeby
Чтобы добавить пользователя в группу
Codeby, выполним команду usermod$ sudo usermod -aG codeby user
Чтобы вывести список всех групп созданных в системе, прочитайте файл
/etc/group.Чтобы перечислить все учётные данные пользоваьтеля в Linux, вы можете прочитать файл
/etc/shadow. Используйте команду grep, чтобы получить учётные данные пользователя для пользователя user.Получим такой результат:
user:$6$YTJ7JKnfsB4esnbS$5XvmYk2.GXVWhDo2TYGN2hCitD/wU9Kov.uZD8xsnleuf1r0ARX3qodIKiDsdoQA444b8IMPMOnUWDmVJVkeg1:19446:0:99999:7:::
: - это символ разделения,
$6$ - означает, что пароль хешируется с помощью SHA-512. Пароль начинается с $6$ и заканчивается прямо перед следующим разделителем.
Кстати, если вы ввели команду и забыли добавить
sudo, то можно ввести просто sudo !!, чтобы не вводить пред. команду снова.