사용자가 특정 명령을 실행하지 못하도록 제한

사용자가 특정 명령을 실행하지 못하도록 제한

test1특정 명령만 실행하도록 제한하려는 사용자가 있습니다 . 내가 찾은이것해결책, 나는 그것을 테스트했고 (test1로 로그인하고 임의의 명령을 실행했습니다. 하지만 그 중 아무 것도 작동하지 않았습니다 date) 작동했습니다. 이것이 내가 한 일입니다:

cp /bin/bash /bin/rbash
useradd -s /bin/rbash test1
mkdir /home/test1/bin
chmod 755 /home/test1/bin
echo "PATH=$HOME/bin" >> /home/test1/.bashrc
echo "export PATH" >> /home/test1/.bashrc
chattr +i /home/test1/.bash_profile
ln -s /usr/bin/date /home/test1/bin

test1저는 여러분과 같은 Linux 전문가보다는 DBA에 더 가깝기 때문에 이것이 충분한지, 시스템에서 어떤 작업도 수행 하지 못하도록 다른 작업을 수행해야 하는지 모르겠습니다 . 보안 개선을 위한 제안 사항이 있습니까?

보시다시피, 다음 명령에 대한 링크를 생성하면 ifconfig:

ln -s /sbin/ifconfig /home/test1/bin 

이 사용자는 을 (를) 사용할 test1수도 있습니다 . 예를 들어 이 옵션을 사용하여 이 명령을 어떻게 제한할 수 있습니까? 아니면 옵션 없이 실행할 수 있습니까?add | del | up | downifconfig-a

답변1

일반 사용자는 네트워크 인터페이스를 변경할 수 없습니다.

예를 들어 루트가 아닌 사용자는 다음을 사용하여 인터페이스 세부 정보를 볼 수 있습니다 ifconfig.

$ ifconfig eth0
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        ether xx:xx:xx:xx:xx:xx  txqueuelen 1000  (Ethernet)
        RX packets 178399193  bytes 213874320365 (199.1 GiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 50539358  bytes 36748192570 (34.2 GiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device memory 0xba200000-ba21ffff  

하지만 인터페이스를 닫을 수는 없습니다.

$ ifconfig eth0 down
SIOCSIFFLAGS: Operation not permitted

즉, 루트로 실행하지 마십시오 ifconfig(예 sudo: .

답변2

달리기를 시도해 본 적이 있나요 /bin/rm? 기사 상단의 경고를 읽었습니까?

면책조항: 이것은 단지 해킹일 뿐이며 실제 프로덕션 용도로는 권장되지 않습니다.

다음댓글도 읽어보겠습니다이 답변Stack Overflow에서 사본을 받으세요.

실제로 사용자를 제한하고 싶다면안전하게SELinux 또는 AppArmor와 같은 권한 프레임워크를 살펴볼 수도 있습니다.

관련 정보