Solution 1 :
Oui, c'est possible.
Dans /etc/sudoers l'élément suivant immédiatement le signe égal est l'utilisateur sous lequel la commande sera autorisée à s'exécuter.
tom ALL=(oracle) /bin/chown tom *
L'utilisateur (tom) peut taper sudo -u oracle /bin/chown tom /home/oracle/oraclefile
Solution 2 :
Ajoutez à votre /etc/sudoers quelque chose comme
tom ALL=(oracle) ALL
Ensuite, l'utilisateur tom devrait pouvoir utiliser sudo pour exécuter des choses en tant qu'utilisateur oracle avec l'option -u, sans laisser tom
C'est à dire. obtenir un shell en tant qu'utilisateur oracle (enfin, étant donné que votre sudo est suffisamment nouveau pour avoir l'option -i).
sudo -u oracle -i
Solution 3 :
Pour fournir UNIQUEMENT les fonctionnalités de la question, ajoutez ce qui suit à /etc/sudoers :
tom ALL=(oracle) /bin/bash
Tom peut alors :
sudo -u oracle bash -i