특정 사용자나 그룹에게 시스템의 모든 파일을 삭제할 수 있는 권한을 부여하지 않고, 파일 읽기/실행 권한만 부여할 수 있는 방법을 찾고 있습니다.
답변1
내 시스템에는 컴퓨터에 대해 전혀 모르는 사용자가 있어서 학습 목적으로만 컴퓨터를 탐색하려고 합니다. 내 의도는 시스템의 파일을 실수로 삭제하거나 변경하지 않고 시스템을 탐색할 수 있는 별도의 계정을 제공하는 것입니다. 하지만 다른 사용자로서 시스템을 변경할 수 있어야 합니다.
이는 대략 Unix/Linux 시스템이 정상적으로 작동하는 방식입니다. 사용자는 (a) 자신이 소유하거나 (b) 자신의 그룹에 쓰기 권한이 있는 파일이나 디렉터리만 삭제하거나 수정할 수 있는 권한이 있습니다.
시스템 관리자(당신이라고 가정)는 모든 것을 제어할 수 있습니다. 따라서 이러한 새 사용자가 자신의 그룹에 있는지 확인하십시오.
유닉스는 다음과 같이 설계되었습니다.다중 사용자체계. 따라서 유닉스/리눅스는 처음부터 일반 사용자에게만 제한된 권한을 부여했습니다. 일반적으로 일반 사용자는 시스템 파일을 망칠 수 없습니다. 명명된 시스템 관리자만이 root
이 작업을 수행할 수 있습니다.
일부 시스템에서는 일반 사용자가 를 실행하여 이를 수행할 수 있습니다 . 파일이 해당 기능을 제공하지 않는지 sudo
확인하십시오 ./etc/sudoers
엄격하게 하고 싶다면 홈 디렉토리에 대한 소유권조차 주지 마십시오. 여전히 및 에 대한 쓰기 권한이 있지만 /tmp
너무 /var/tmp
큰 파일을 생성하여 파티션을 채우지 않는 한 문제가 발생하지 않습니다.
답변2
요구 사항을 확인한 후 도구를 사용하여 setfacl
중요한 특정 파일/디렉터리(예 /etc
: .,, )에 대한 /lib
액세스를 제한할 수 있습니다 /bin)
. 이렇게 하면 새 사용자는 중요한 시스템 파일을 삭제하거나 수정할 수 없습니다.
주문하다:
setfacl -m u:{user_name}:{permission} {file/directory}
학습자의 홈 디렉토리를 제한하는 것은 좋은 생각이 아닙니다.