Solução:
Você deve remover o -i
do comando sudo
:
sudo -u USER2 cp file1 file2
Explicação:
O problema que você está enfrentando é que o acesso sudo
está limitado a /bin/cp
e o uso de sudo -i
exigiu% extrasudo
de permissões que você não tem.
Como especificar no erro:
Sorry, user USER1 is not allowed to execute '/bin/bash -c cp file1 file2' as USER2 on SERVERNAME.
Ao usar sudo -i -u USER2 cp
O comando que você está executando é /bin/bash -c cp
, para o qual você não tem sudo
de permissões. Como você está limitado ao comando para o qual você tem sudo
permissão para: /bin/cp
.
Mais informações: homem sudo
-i, --login Run the shell specified by the target user's password database entry as a login shell. This means that login- specific resource files such as .profile or .login will be read by the shell. If a command is specified, it is passed to the shell for execution via the shell's -c option. If no command is specified, an interactive shell is executed. sudo attempts to change to that user's home directory before running the shell. The command is run with an environment similar to the one a user would receive at log in. The Command environment section in the sudoers(5) manual documents how the -i option affects the environment in which a command is run when the sudoers policy is in use.