사용자가 자신의 경로를 설정하지 못하도록 방지하는 방법 [닫기]

사용자가 자신의 경로를 설정하지 못하도록 방지하는 방법 [닫기]

.profile 및 PATH 변수를 사용하여 실행하기 위해 제한된 명령으로 제한된 사용자를 설정했지만 사용자는 다음을 사용하여 경로를 설정할 수 있습니다.

$ export PATH=$PATH:/bin:/sbin:/usr/bin

다른 명령에 액세스할 수 있습니다.

사용자가 경로를 설정하지 못하도록 제한하는 방법이 있나요?

답변1

readonlyBash 내장 함수를 사용하여 변수를 읽기 전용으로 만들 수 있습니다 . 그러나 환경을 변경하려는 사람들은 RC 파일을 실행하고 자신의 환경을 설정할 필요 없이 새 셸을 시작하기만 하면 되므로 이를 단념할 가능성은 없습니다. 반품,이것은 어떤 식으로든 누군가가 도망가는 것을 막지는 못합니다 PATH.변수는 사용자가 대신 PATH쓸 수 있도록 하는 편의 기능입니다 . 보안과는 아무런 관련이 없습니다.foo/usr/bin/foo


환경을 보호하는 열쇠는 먼저 위협 모델이 무엇인지 주의 깊게 연구하는 것입니다. 사용자가 다른 사용자의 파일 읽기, 설치 손상, 통신 도청, 스팸 보내기, 정보에 대한 루트 액세스 권한 얻기 등을 시도할 것으로 예상합니까? 이를 설정한 후에는 실제로 어떤 조치를 취해야 이러한 일이 발생하는지 살펴볼 수 있습니다.

답변2

bash --restrictedbash "제한된" 모드( 또는 로 시작 bash -r) 를 조사해야 합니다 . 이 모드는 cd전체 경로를 통해 실행 파일과 같은 명령을 실행하는 것을 방지하여 실행만 허용합니다 $PATH.

또한 PATH.

bash "제한된" 모드에 대한 개요는 다음에서 확인할 수 있습니다.여기.

답변3

마지막으로 작동하게 하여 작동하지 않았지만 bash의 제한된 버전인 바이너리가 설치되어 있음 bash -r을 발견했습니다 .rbash

제한된 사용자로 쉘을 추가한 후에는 /bin/rbash경로를 설정할 수 없거나 전체 경로로 실행할 수 없습니다. 이것이 바로 제가 원하는 것입니다. 도움을 주셔서 감사합니다!

관련 정보