arquivo sudoers
Você deve ser capaz de fazer qualquer um deles.
-
Como isto:
john ALL=(ALL) NOPASSWD: sudoedit
-
ou isto:
john ALL=(ALL) NOPASSWD: sudoedit /path/to/file
-
Por fim, você também pode fazer isso:
Cmnd_Alias SOMECMD = sudoedit /path/to/file john ALL=(ALL) NOPASSWD: SOMECMD
Quando você tiver uma dessas definições, invoque-a da seguinte forma:
sudoedit /path/to/file
Detalhes
Você não precisa invocá-lo com um prefixo de comando sudo
como este:
sudo sudoedit /pat/to/file
Ele cuida do sudo
automaticamente. É equivalente a sudo -e /pat/to/file
, que invocará um editor com privilégios elevados.
trecho da página do manual do sudo / sudoedit
-e The -e (edit) option indicates that, instead of running a command,
the user wishes to edit one or more files. In lieu of a command, the
string "sudoedit" is used when consulting the sudoers file. If the
user is authorized by sudoers the following steps are taken:
1. Temporary copies are made of the files to be edited with the
owner set to the invoking user.
2. The editor specified by the SUDO_EDITOR, VISUAL or EDITOR
environment variables is run to edit the temporary files.
If none of SUDO_EDITOR, VISUAL or EDITOR are set, the first
program listed in the editor sudoers variable is used.
3. If they have been modified, the temporary files are copied
back to their original location and the temporary versions
are removed.
Você pode substituir o editor configurando uma das variáveis de ambiente mencionadas acima com o nome de um editor para usar como vim
ou gedit
, por exemplo.