sudoers - requiretty 옵션

2021. 6. 9. 23:39Linux \ UNIX

이 옵션에 대하여 오해가 있었는데,

시스템에 직접 연결된 tty에서만 sudo가 실행이 되고

원격 접속을 통한 터미널 환경, 즉 pts에서는 실행이 안될 것이라고 생각했다!

 

이를 테스트하기 위해 ssh 환경에서 sudo 명령을 실행시켜 보았는데 실행이 잘 된다...

궁금증을 해결하고자 unix stackexchange에 질문한 내용.

https://unix.stackexchange.com/questions/651408/why-is-requiretty-not-working

 

Why is "requiretty" not working?

It's my understanding that the requiretty option does not allow sudo on PTYs. My VM's sudoers: # # This file MUST be edited with the 'visudo' command as root. # # Please consider adding local conte...

unix.stackexchange.com

 

즉, 의사 터미널인 pts 도 tty 와 같은 것으로 간주된다는 것.

하지만, 같은 ssh 환경이라도 터미널을 할당하지 않고

ssh VM-user@VM-hostname "sudo something"

형태로 실행한다면 requiretty 옵션에 걸려서 실행되지 않는다.

 

또한,

https://nostressdev.tistory.com/7

 

crontab의 터미널 환경?

sudoers의 requiretty 옵션과 관련해, tty, pts 에 대해 찾아보다 crontab 에서 실행되는 명령의 터미널 환경이 따로 존재할까 하는 의문이 들어 who am i 와 tty 명령어를 통해 확인해보았다. tty 도 pts 도 아.

nostressdev.tistory.com

cron 의 경우에 requiretty 가 적용되는 이유도 참고할 것!