특정 파일에 대해 제한된 권한을 가진 Linux의 사용자 또는 그룹에 sudo 권한을 부여하는 방법

특정 파일에 대해 제한된 권한을 가진 Linux의 사용자 또는 그룹에 sudo 권한을 부여하는 방법

CentOS 6.7 서버에서 sudo 권한이 있는 사용자 또는 특정 그룹 목록을 제공하고 싶지만 /root/database.yml 파일에 액세스할 수 없습니다. 가능합니까? 파일에는 실제로 비밀번호가 포함되어 있는데, 나 외에는 누구도 이 비밀번호를 볼 수 없기를 바랍니다. 어떤 조언이나 도움이라도 대단히 감사하겠습니다.

답변1

예, 이 sudo프로그램을 사용하면 사용자가 할 수 있는 작업을 제한할 수 있습니다. 정책은 파일에 있습니다 /etc/sudoers. 특정 작업만 허용하려면 해당 작업만 구현하고 해당 작업을 명령으로만 실행하도록 제한하는 스크립트를 작성하세요. 보안이 원하는 것인지 확인하려면 sudosudoers매뉴얼 페이지를 이해하는 것이 좋습니다.

답변2

아니요, 그렇게 할 수는 없습니다. 누군가에게 루트 권한을 부여하면 그 사람은 모든 파일을 읽고 쓰는 것을 포함한 모든 작업을 수행할 수 있습니다. 이를 어떻게든 제외할 수 있는 방법이 있더라도 /root/database.yml루트는 여전히 sudo 구성을 변경하고, sudo 바이너리를 교체하고, 디스크에 직접 액세스하는 등의 작업을 수행할 수 있습니다.

다른 관리자를 신뢰하지 않는 경우 컴퓨터에 비밀을 저장하지 마십시오.

기밀 파일을 저장하고 싶지만 관리자가 읽을 수 없도록 하려면 파일을 해당 사람들이 관리자로 사용하는 컴퓨터가 아닌 다른 컴퓨터에 저장해야 합니다. 물론 서로 다른 머신은 가상 머신이나 컨테이너일 수 있으며 별도의 물리적 머신일 필요는 없습니다.

따라서 다른 관리자가 관리하기를 원하는 모든 서비스를 VM 또는 컨테이너에 넣고 VM/컨테이너에 루트로 두십시오. /root/database.yml호스트에 비밀 파일을 유지 하고 호스트에 루트 권한을 부여하지 마십시오.

관련 정보