dba
그룹의 사용자 가 database@
서비스 를 제어 할 수 있도록해야 합니다. 에 대한 대답 이 관련 질문은 단지 모두 나열하는 것입니다 systemctl
제가에 허용 할 것을 "동사" sudoers
나는 데이터베이스 시스템에있을 수 있습니다 사전에 알고하지 않기 때문에 내 경우에는 적용되지 않습니다, 그러나, 파일. 예를 들어 내가 나열하면
%dba = /usr/bin/systemctl start database@awsesomeapp
%dba = /usr/bin/systemctl start database@anotherawsesomeapp
%dba = /usr/bin/systemctl start database@yetanotherawsesomeapp
%dba = /usr/bin/systemctl start database@wowyetanotherawsesomeapp
# ... other "verbs" omitted for brevity
미래에 존재할 수있는 인스턴스를 다루지 않으며 dba는
$ sudo systemctl start database@omgwowyetanotherawsesomeapp
어쨌든 특정 시스템을 사용하는 것보다 패키징 측면에서 더 많은 생각을하고 있습니다.
다른 관련 질문에 대한 이 놀라운 답변 에서 볼 수 있듯이 sudo globs를 사용하는 것은 궁극적으로 안전하지 않습니다.
%dba ALL = /usr/bin/systemctl start database@[a-z]* # UNSAFE!
허용
$ sudo systemctl start database@awsesomeapp unrelatedservice
사용하는 sudo
것이 내 문제를 해결하지 못할 것으로 생각합니다 (잘못되기를 바랍니다). 루트가 아닌 사용자가 systemd
서비스 를 제어 할 수있는 다른 방법이 있습니까?
가치있는 것을 위해서는 CentOS 7 시스템과 향후 RHEL7 시스템 에서이 작업을 수행해야합니다. 또한 아치 리눅스에서 작동하는 솔루션에 관심이 있습니다.