"sudo -l"はファイルをsudoeditできると言いますが、許可されません。

私のシステムにログインして入力すると、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

注:これが編集したいファイルの正しい絶対パスであるかどうかはわかりません。

おすすめ記事