"sudo -l"은 파일을 sudoedit할 수 있다고 말하지만 허용되지 않습니다.

"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

참고: 이것이 편집하려는 파일의 올바른 절대 경로인지는 알 수 없습니다.

관련 정보