Copier le fichier en utilisant l'accès sudo

1

Comment je peux copier un fichier ou un dossier pour un autre utilisateur. Le nouveau fichier ou dossier doit avoir son nom.

J'ai un accès sudo pour la commande cp

USER1 ALL=(ALL) NOPASSWD: /bin/cp

J'essaie de suivre la commande:

USER1@ySERVERNAME:HOME_PATH$ sudo -i -u USER2 cp file1 file2

J'ai une erreur:

Sorry, user USER1 is not allowed to execute '/bin/bash -c cp file1 file2' as USER2 on SERVERNAME.

Comment puis-je le résoudre?

Hayk Hovhannisyan
la source

Réponses:

2

Solution:

Vous devriez enlever le -ide la sudocommande:

sudo -u USER2 cp file1 file2

Explication:

Le problème que vous rencontrez est que votre sudoaccès est limité à /bin/cpet qu’il utilise sudo -ides sudoautorisations supplémentaires requises que vous n’avez pas.

Comme spécifié dans l'erreur:

Désolé, l'utilisateur USER1 n'est pas autorisé à exécuter '/ bin / bash -c cp file1 fichier2' en tant que USER2 sur SERVERNAME.

Lors de l'utilisation de sudo -i -u USER2 cpLa commande que vous exécutez est celle pour /bin/bash -c cp laquelle vous n'avez pas les sudopermissions. Comme vous êtes limité à la commande que vous avez la sudopermission de: /bin/cp.

Plus d'infos: man 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.
Yaron
la source
si j'ai bien compris, "file1" doit avoir une permission de lecture, sinon ti donnera l'erreur de permission: cp: impossible d'ouvrir 'file1' pour la lecture: permission refusée
Hayk Hovhannisyan le
@HaykHovhannisyan - Si j'ai résolu votre question, acceptez s'il vous plaît ma réponse
Yaron le