특정 게스트가 특정 명령을 실행하도록 허용

특정 게스트가 특정 명령을 실행하도록 허용

apt-get update명령을 사용 하고 서버를 업데이트 할 수 있는 일부 Debian/Ubuntu 호스트에 새 사용자를 만들고 싶지만 apt-get dist-upgrade다른 작업을 수행할 수 있는 전체 sudo 액세스 권한을 부여하고 싶지는 않습니다. 가능합니까? 편집할 수는 없지만 실행할 수 있고 루트로 실행되는 스크립트를 생성하는 방법이 있을까요?

답변1

Sudo/etc/sudoers파일은 사용자에게 전체 루트 액세스 권한을 부여하는 것 이상의 용도로 사용됩니다.

기존 sudo 사용자를 사용하여 다음 명령을 사용하여 sudoers 파일을 편집할 수 있습니다.sudo visudo

다음과 같이 액세스 권한을 부여하려는 명령을 그룹화할 수 있습니다.

Cmnd_Alias SHUTDOWN_CMDS = /sbin/poweroff, /sbin/halt, /sbin/reboot
Cmnd_Alias UPDATE_COMMANDS = /usr/bin/apt-get

그런 다음 다음과 같이 이러한 명령에 특정 사용자 권한을 부여할 수 있습니다.

[User's name] ALL=(ALL) NOPASSWD: SHUTDOWN_CMDS, UPDATE_COMMANDS

이는 아래 이미지에서 확인할 수 있습니다 여기에 이미지 설명을 입력하세요..

이제 그렇지 않으면 sudo apt-get update다음 sudo apt-get dist-upgrade명령이 실행됩니다.비밀번호를 물어볼 필요가 없습니다. 암호를 묻는 메시지를 표시하려면 NOPASSWD사용자에게 명령 그룹에 대한 액세스 권한을 부여하는 비트를 제거하십시오.

사용자로 다른 것을 실행 하려고 하면 sudo비밀번호를 입력하라는 메시지가 표시되고 실패합니다.

인용하다

관련 정보