sudo 권한이 있는 사용자에게 홈 폴더에 대한 액세스를 제한합니다.

sudo 권한이 있는 사용자에게 홈 폴더에 대한 액세스를 제한합니다.

다른 사용자에게 속한 홈 폴더에 일부 프로젝트가 있는 Linux 개발 서버가 있습니다. 서버의 특성으로 인해 일부 사용자는 sudo -s를 실행하여 특정 관리 작업을 수행할 수 있습니다. 사용자가 다른 홈 폴더(또는 특정 폴더)를 스누핑하는 것을 방지할 수 있는 방법이 있습니까?

답변1

사용자가 명령을 실행하는 경우 sudo루트이므로 루트로 실행합니다. 따라서 sudo를 사용할 수 있는 사용자가 디렉터리로 변경하는 것을 막을 수는 없습니다.

사용자가 디렉터리의 파일에 액세스하지 못하도록 하려면 해당 컴퓨터에 대한 루트 액세스 권한을 부여할 수 없습니다.

답변2

누군가 루트로 임의의 명령을 실행할 수 있다면 어떤 사용자 계정으로든 전환할 수 있으며 사용자가 할 수 있는 모든 작업을 수행할 수 있습니다.

실제로 세 가지 옵션이 있습니다.

  • 권한이 있는 사용자는 매우 특정한 작업만 수행하면 됩니다. 그런 다음 sudo만 사용하여 몇 가지 특정 명령을 실행하게 하세요. 이는 이러한 명령이 "셸 탈출"을 허용하지 않는 경우에만 안전합니다. 즉, 다른 프로그램을 실행하는 데 사용할 수 없습니다. 예를 들어, 패키지 관리(allow sudo apt-get install …)에서는 패키지 내부에 명령을 삽입하여 셸 이스케이프를 허용하는 경우가 많습니다(알려진 소스에서 패키지 서명을 올바르게 확인한 경우에는 괜찮을 수 있음).
  • 권한 있는 사용자에게는 관리 권한이 필요하지만 "실제" 컴퓨터에서 이를 사용할 필요는 없습니다.일부컴퓨터(예: 네트워크 설정 사용) 그런 다음 권한 있는 사용자를 위한 가상 환경(예: 가상 머신, lxc 컨테이너 또는 임시 Linux 네임스페이스)을 생성하고 가상 환경에서 다른 사용자의 데이터를 제공하지 마십시오.
  • 기술적 통제보다는 사회적 통제를 사용합니다. 사용자에게 광범위한 권한을 부여하되, 개인정보 침해가 있을 경우 가혹하게 처리된다는 점을 알려주세요. 사용자가 직원인 경우 일반적으로 괜찮지만 데이터의 민감도에 따라 다릅니다.

답변3

수행해야 할 작업에 따라 sudoers 파일에 다음과 같은 줄을 입력하여 특정 명령에만 sudo 액세스 권한을 부여할 수 있습니다.

%devgroup ALL=(ALL): /bin/commandname

이를 통해 devgroup 그룹의 구성원은 루트로만 /bin/commandname을 실행할 수 있습니다(물론 이 특정 예에서는 해당 구성원을 휠 그룹에서 제거하려고 합니다).

관련 정보