내 시스템에 들어오려는 IP를 금지하기 위해 /sbin/iptables를 사용하는 데비안 서버 시스템에 스크립트 파일이 있습니다. 스크립트를 crontab 항목으로 사용했지만 루트 권한이 필요하기 때문에 예상대로 작동하지 않는다는 것을 깨달았습니다.
sudo myscript로 스크립트를 실행할 때마다 스크립트가 예상대로 작동합니다. sudo를 사용하지 않으면 다음이 제공됩니다.
iptables v1.4.21: can't initialize iptables table `filter': Permission denied (you must be root)
Perhaps iptables or your kernel needs to be upgraded
"id"를 입력하면 다음을 얻습니다.
uid=1000(username) gid=33(www-data) groups=33(www-data),0(root),27(sudo),1001(developers)
및 그룹
www-data sudo developers
따라서 사용자가 sudo 그룹 내에 있는 것처럼 보이지만 iptables 명령에 액세스할 수 없습니다. 즉, "username" iptalbes를 입력하면 해당 명령을 찾을 수 없다는 메시지가 나타납니다.
또한 특정 사용자에게 액세스 권한을 부여할 수 있는 /etc/sudoers에 대해 읽고 있습니다. 권한을 440에서 740으로 변경하고 주석을 제거했습니다.
# Allow members of group sudo to execute any command
sudo ALL=(ALL:ALL) ALL
이제 어떤 명령을 받든 sudo를 입력할 때마다
username is not in the sudoers file. This incident will be reported.
약간의 도움을 주시면 감사하겠습니다 ..
감사해요