유감스럽게도 이것은 매우 구체적인 요청입니다. 저는 CentOS Linux 7 시스템의 루트가 아닌 사용자입니다. 일반적으로 관리팀은 매우 도움이 되지만, 안타깝게도 이 경우에는 응답이 전혀 없었습니다.
따라서 여기에는 루트 액세스 권한이 없으며 일부 명령을 차단/제한하고 싶습니다.나:링크,링크 2,살쾡이. 이유는 묻지 마세요. 이상한 도전이라고 생각하세요.
루트가 아닌 사용자로서 이를 달성할 수 있는 방법이 있습니까?
답변1
홈 디렉터리에 디렉터리를 만들고 제한하려는 프로그램 이름으로 일부 파일을 만든 다음 $PATH에 추가할 수 있습니다. 예를 들어:
$ mkdir ~/bin
다음 내용으로 ~/bin/links를 만듭니다.
#!/usr/bin/env sh
echo you are not allowed to use links
그리고 실행 가능하게 만드세요. $PATH 앞에 ~/bin을 추가합니다.
PATH=$HOME/bin:$PATH
이제 링크를 호출하면:
$ links
you are not allowed to use links
\
별칭을 사용하는 경우 이를 우회할 수 없습니다.
$ \links
you are not allowed to use links
링크는 여전히 $PATH에 존재합니다.
$ type -a links
links is /home/ja/bin/links
links is /usr/bin/links
그리고 당신이나 다른 프로세스가 절대 경로 /usr/bin/links를 사용하여 실제 링크 바이너리를 호출하는 것을 방해하는 것은 없습니다.