CentOS 6.7 서버에서 sudo 권한이 있는 사용자 또는 특정 그룹 목록을 제공하고 싶지만 /root/database.yml 파일에 액세스할 수 없습니다. 가능합니까? 파일에는 실제로 비밀번호가 포함되어 있는데, 나 외에는 누구도 이 비밀번호를 볼 수 없기를 바랍니다. 어떤 조언이나 도움이라도 대단히 감사하겠습니다.
답변1
예, 이 sudo
프로그램을 사용하면 사용자가 할 수 있는 작업을 제한할 수 있습니다. 정책은 파일에 있습니다 /etc/sudoers
. 특정 작업만 허용하려면 해당 작업만 구현하고 해당 작업을 명령으로만 실행하도록 제한하는 스크립트를 작성하세요. 보안이 원하는 것인지 확인하려면 sudo
및 sudoers
매뉴얼 페이지를 이해하는 것이 좋습니다.
답변2
아니요, 그렇게 할 수는 없습니다. 누군가에게 루트 권한을 부여하면 그 사람은 모든 파일을 읽고 쓰는 것을 포함한 모든 작업을 수행할 수 있습니다. 이를 어떻게든 제외할 수 있는 방법이 있더라도 /root/database.yml
루트는 여전히 sudo 구성을 변경하고, sudo 바이너리를 교체하고, 디스크에 직접 액세스하는 등의 작업을 수행할 수 있습니다.
다른 관리자를 신뢰하지 않는 경우 컴퓨터에 비밀을 저장하지 마십시오.
기밀 파일을 저장하고 싶지만 관리자가 읽을 수 없도록 하려면 파일을 해당 사람들이 관리자로 사용하는 컴퓨터가 아닌 다른 컴퓨터에 저장해야 합니다. 물론 서로 다른 머신은 가상 머신이나 컨테이너일 수 있으며 별도의 물리적 머신일 필요는 없습니다.
따라서 다른 관리자가 관리하기를 원하는 모든 서비스를 VM 또는 컨테이너에 넣고 VM/컨테이너에 루트로 두십시오. /root/database.yml
호스트에 비밀 파일을 유지 하고 호스트에 루트 권한을 부여하지 마십시오.