Добавить пользователя с правами на установку программ, но без прав на доступ к каталогам других пользователей.

Добавить пользователя с правами на установку программ, но без прав на доступ к каталогам других пользователей.

Мне нужно создать пользователя в системе Linux с правами на установку программ, но без прав на доступ к каталогам других пользователей.

Я пробовал сделать это:

# Create restricted user user
adduser --home /home/restricted_user restricted_user

# Edit normal user dir permissions
chmod -R 700 /home/normal_user/

# Add restricted user to sudoers in order to allow program installation
sudo adduser restricted_user sudo

Затем я попробовал:

su restricted_user
sudo ls /home/normal_user

И наконец, ограниченный пользователь имеет доступ к каталогу обычного пользователя, если он делает это с помощью sudo

Как я могу реализовать эти ограничения?

решение1

Не добавляйте пользователя вsudoгруппа, не предоставляйте им общий доступ root. Отредактируйте /etc/sudoersи укажите небольшой набор исполняемых файлов, которые пользователь может запустить как root. Пример:

# in sudoers file
restricted_user ALL = (root) /usr/bin/apt-get
restricted_user ALL = (root) /sbin/reboot

Примечания:

  • В зависимости от вашего Linux: apt-get/ apt, dpkg, opkg, pacman, yum, …
  • Используйте полные пути.
  • Правильный способ редактирования sudoers— этоvisudo.
  • man 5 sudoersБолее подробную информацию о синтаксисе см .
  • При создании более сложных правил помните об ихпорядок имеет значение.

Имейте в виду, что решительный пользователь, который может устанавливать произвольные программы, способен подготовить и установитьsetuidверсию lsили "обновленную" sudo, которая предоставит им доступ root независимо от /etc/sudoers. Или предоставьте и установите пакет, который выполняет произвольные операции при установке (возможно, фактически ничего не устанавливая). Предотвратить это может быть непросто.

Связанный контент