Você deve executar apt-get
como root
via sudo
, não como outro usuário.
Muitos dos diretórios reais mantidos por apt
para as informações do pacote precisam de root
para serem mantidos; também, se um pacote está instalando em /bin
ou similar, ele precisa de root.
O privilégio Sudoers permite que apenas um usuário que efetuou login use sudo
e defina o que pode ou não fazer com o comando sudo
. Ele não concede os privilégios que o apt-get
precisa operar, pois precisa das permissões root
efetivas que apenas o sudo apt-get
forneceria. Portanto, se user1 estiver executando sudo apt-get
, eles poderão. Se user2 não estiver em sudoers, eles não poderão executar esse comando. (Mas poderia se eles estivessem em sudoers).
Para fazer o que você está tentando fazer precisaria de dois comandos sudo
encadeados (não testados pelo caminho):
sudo -u user2 sudo apt-get -y install PACKAGENAME
Note que normalmente não é assim que as coisas devem ser executadas e que isso pode levar a comportamentos ou estranheza possivelmente indefinidos.
user2 também precisaria ter permissões para executar como root, o que pode ou não ser o caso na configuração dos sudoers.