Adicione um usuário com permissões para instalar programas, mas sem permissões para acessar os diretórios de outros usuários

Adicione um usuário com permissões para instalar programas, mas sem permissões para acessar os diretórios de outros usuários

Preciso criar um usuário em um sistema Linux com permissões para instalar programas mas sem permissões para acessar os diretórios de outros usuários.

Eu tentei fazer isso:

# 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

Então, eu tentei:

su restricted_user
sudo ls /home/normal_user

E finalmente o usuário restrito tem acesso ao diretório do usuário normal se fizer isso com sudo

Como posso implementar essas restrições?

Responder1

Não adicione o usuário aosudogrupo, não conceda a eles acesso root geral. Edite /etc/sudoerse especifique um pequeno conjunto de executáveis ​​que o usuário pode executar como root. Exemplo:

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

Notas:

  • Dependendo do seu Linux: apt-get/ apt, dpkg, opkg, pacman, yum,…
  • Use caminhos completos.
  • A maneira certa de editar sudoersévisudo.
  • Consulte man 5 sudoerspara obter mais informações sobre a sintaxe.
  • Ao construir regras mais complexas, lembre-se de suasordem é importante.

Tenha em mente que um determinado usuário que pode instalar programas arbitrários é capaz de preparar e instalar umsetuidversão lsou "atualizada" sudoque lhes concederá acesso root independentemente do /etc/sudoers. Ou forneça e instale um pacote que execute operações arbitrárias ao ser instalado (possivelmente sem realmente instalar nada). Prevenir isso pode não ser fácil.

informação relacionada