
프로그램을 설치할 수 있는 권한은 있지만 다른 사용자의 디렉터리에 액세스할 수 있는 권한은 없는 사용자를 Linux 시스템에 생성해야 합니다.
나는 이것을 시도했습니다 :
# Create restricted user user
adduser --home /home/restricted_user restricted_user
# Edit normal user dir permissions
chmod -R 700 /home/normal_user/
# Add restricted user to sudoers in order to allow program installation
sudo adduser restricted_user sudo
그런 다음 다음을 시도했습니다.
su restricted_user
sudo ls /home/normal_user
그리고 마지막으로 제한된 사용자는 sudo를 사용하여 일반 사용자의 디렉토리에 액세스할 수 있습니다.
이 제한사항을 어떻게 구현할 수 있나요?
답변1
사용자를 추가하지 마십시오.sudo
그룹, 일반 루트 액세스 권한을 부여하지 마세요. /etc/sudoers
사용자가 루트로 실행할 수 있는 작은 실행 파일 세트를 편집 하고 지정합니다. 예:
# in sudoers file
restricted_user ALL = (root) /usr/bin/apt-get
restricted_user ALL = (root) /sbin/reboot
노트:
- Linux에 따라:
apt-get
/apt
,dpkg
,opkg
,pacman
,yum
, … - 전체 경로를 사용하십시오.
- 올바른 편집 방법
sudoers
은 다음과 같습니다.visudo
. man 5 sudoers
구문에 대한 자세한 내용은 을 참조하세요 .- 더 복잡한 규칙을 만들 때 다음 사항을 기억하세요.순서 문제.
임의의 프로그램을 설치할 수 있는 확고한 사용자는 다음을 준비하고 설치할 수 있다는 점을 명심하십시오.세트이드버전에 관계없이 루트 액세스 권한을 부여하는 ls
"업그레이드" 버전입니다 . 또는 설치 시 임의의 작업을 수행하는 패키지를 제공하고 설치합니다(실제로 아무것도 설치하지 않을 수도 있음). 이를 예방하는 것은 쉽지 않을 수 있습니다.sudo
/etc/sudoers