상태를 확인하는 것조차 firewalld
필요한 것 같습니다 sudo
. 이 스크립트를 가능한 한 낮은 권한으로 유지하고 싶기 때문에 사용자가 일반 사용자처럼 포트 상태를 확인할 수 있기를 바랍니다. 필요한 경우 로 업그레이드를 요청할 수 있습니다 sudo
.
sudo
RHEL 기반 시스템에서 이를 달성할 수 있습니까, 아니면 모든 작업을 수행 해야 합니까 ?
답변1
비쥬도
이 명령을 사용하여 열린 포트를 확인하려면 firewalld
관리자 권한 sudo가 필요합니다.
이는 매우 깔끔한 방법은 아니지만 다음을 sudoers
사용하여 파일을 편집할 수 있습니다.
sudo visudo
이를 추가하고 USER
권한을 부여하려는 사용자 이름으로 바꿉니다.
<USER> ALL=(root) NOPASSWD: /usr/bin/firewall-cmd --list-ports
그러면 명령 USER
을 실행할 수 있는 권한이 부여됩니다 firewall-cmd --list-ports
.
시스템 구성을 수정하고 권한을 부여할 때 주의하세요!
방화벽을 사용하여 CentOS7에서 열린 포트 목록을 표시하십시오.
sudoers 파일에 대한 편집 내용을 종료/저장하시겠습니까?
설정값
높은 권한으로 실행되는 스크립트를 생성할 수 있습니다 setuid
.
쉘 스크립트에서 setuid 또는 setgid 비트를 사용하면 해결되는 것보다 더 많은 문제, 특히 보안 문제가 발생할 수 있습니다.일부 시스템(예: Linux)은 셸 스크립트에서 setuid 비트도 지원하지 않으므로 setuid 셸 스크립트를 생성하면 보안 위험 외에도 불필요한 이식성 문제가 발생합니다.
내 setuid 루트 bash 쉘 스크립트가 작동하지 않는 이유는 무엇입니까?
두 솔루션 모두 주의해서 사용해야 합니다!
보안상의 이유로 포트 오픈 확인은 사용자 또는 관리 권한이 있는 사용자 firewalld
로 마지막에 수행하는 것이 좋습니다 .root