私のシステムにログインして入力すると、sudo -l
次のように表示されます。
$ sudo -l
Matching Defaults entries for user1 on WINNING:
env_reset, mail_badpass,
secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin
User user1 may run the following commands on WINNING:
(root) NOPASSWD: sudoedit
/var/www/html/test/*/*/layout.html
そのパスでレイアウトHTMLファイルを編集しようとすると、次の結果が表示されます。
$ sudoedit cupoftee/templates/layout.html
sudoedit: no tty present and no askpass program specified
なぜ編集を許可しないのですか?私は何が間違っていましたか?
答え1
命令はsudo -l
言う
User user1 may run the following commands on WINNING:
(root) NOPASSWD: sudoedit
/var/www/html/test/*/*/layout.html
これは、次sudoedit
のようなすべてのパスで使用できることを意味します。
/var/www/html/test/*/*/layout.html
注文、
sudoedit cupoftee/templates/layout.html
パターンと一致しないパスを呼び出すため、sudoedit
操作を実行できません。
代わりに
sudoedit /var/www/html/test/cupoftee/templates/layout.html
注:これが編集したいファイルの正しい絶対パスであるかどうかはわかりません。