Чёткое разграничение прав пользователя в Linux - важная отличительная черта этой операционной системы. Пользователи объединены в группы, один пользователь может быть членом нескольких групп одновременно. Возможно назначение как групповых прав, так и индивидуальных.
Создание обычного пользователя проблем не составляет. Давайте создадим сразу двух - бухгалтера и секретаря.

adduser buh

Система нам сообщает, что для пользователя сразу же создалась группа для этого пользователя и его домашний каталог. Теперь нужно установить пароль. Вводим его и подтверждаем. Затем система предлагает заполнить кое-какую информацию о пользователе - его полное имя, номер кабинета, телефон и т.п. Поля можно оставлять пустыми. Таким же образом создадим и второго пользователя.

adduser secretar

Сейчас эти пользователи могут входить на сервер по ssh и пользоваться своими файлами, расположенными на нём.

Также пользователь может получить доступ к файлам и со своего компьютера при помощи протокола sftp, набрав в адресной строке файлового менеджера данные для подключения и пароль:

sftp://Адрес электронной почты защищен от спам-ботов. Для просмотра адреса в вашем браузере должен быть включен Javascript.:2202

Обратите внимание на то, что через двоеточие указан порт соединения с ssh 2202 - мы изменили стандартный 22 порт на 2202 в статье "Доступ к серверу по SSH". Если вы его не меняли, то порт можно не указывать.

При этом возможен доступ и к папкам других пользователей, но только для чтения - без возможности записи. Если мы попытаемся что-то удалить, то получим запрет на это действие:

Но вместе с тем, пользователь secretar в своём домашнем каталоге может назначать права как ему угодно - в том числе и с запретом на чтение:

 

Эти поля позволяют задать права для "остальных" пользователей - не являющихся владельцем папки "Секретные документы" и не входящих в группу пользователя secretar.

Теперь если кто-то, кроме пользователя secretar, попытается открыть папку "Секретные документы", то он получит такое сообщение:

Но вот для root-а это не имеет значения - он всегда имеет доступ ко всему:

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

Создание администратора

Вход в систему пользователем root потенциально небезопасен и даже в ssh-сервере он запрещён по умолчанию. Но администрировать систему чаще всего приходится удалённо. Для этого создаётся пользователь с правами администратора. Пусть у нас это будет super. Создадим его обычным образом:

adduser super

Никаких особых привилегий мы ему не дадим, он будет входить только в группу пользователей, имеющих доступ к утилите sudo. Она предназначена для того, чтобы обычный пользователь мог исполнять административные команды, не зная при этом пароля root-а. Считается, что такой подход безопаснее, чем непосредственный вход в систему с учётной записью рута. Считается так потому, что злоумышленник точно знает, что в системе есть пользователь root и если при этом тому разрешён вход по ssh, то одна часть головоломки уже решена - нужно подобрать только пароль рута и вся система в распоряжении взломщика. А вот если руту входить по ssh нельзя, то хакер должен выяснить не только пароль, но ещё и имя пользователя, который является администратором системы!
В остальном компрометация пароля от рута и логина-пароля пользователя, имеющего доступ к sudo, приведёт к одному и тому же - получению полного доступа к системе.

В стандартную комплектацию Дебиана sudo не входит, поэтому устанавливаем:

apt install sudo

Добавим super в группу пользователей, имеющих доступ к утилите sudo:

usermod -aG sudo super

С этого момента в систему рутом можно не входить и даже в конфиге ssh-сервера отключить такую возможность - все административные функции теперь может выполнять пользователь super. Выход из системы осуществляется командой exit.

Выйдем и зарегистрируемся пользователем super.

Теперь для того, чтобы выполнить какую-либо команду с административными привилегиями, нужно просто перед командой указать "sudo".
Попробуем найти в репозитории файловый менеджер Midnight commander. Почитаем предупреждение, проникнемся и введём пароль пользователя super.

Установим MC:

apt install mc

Хочу добавить кое-что о группах. Они служат не только для организации списка пользователей по уровням доступа, группировки специалистов в отделы и предоставления административных функций, а ещё и для доступа к оборудованию и сервисам. Например, для того, чтобы в VirtualBox пользователь имел возможность пробрасывать реальные USB-устройства в виртуальную систему, он должен входить в группу vboxusers. Неплохой список основных системных групп есть здесь: https://losst.ru/gruppy-polzovatelej-linux
Статья хорошая, рекомендую ознакомиться. От себя добавлю, что для радиолюбительского применения очень важна группа dialout - она позволяет работать с com-портами, без чего управление трансивером с компьютера может быть затруднено.

Домашнее задание: создайте обычных пользователей director и voditel. Так мы доукомплектуем штат нашего виртуального предприятия, каким оно описано во вводной статье.

Теперь всё готово для запуска первого пользовательского сервиса - SMB-сервера