폴더에 SSH를 사용하지만 상위 폴더에 nano를 넣을 수 있습니까?

폴더에 SSH를 사용하지만 상위 폴더에 nano를 넣을 수 있습니까?

내가 그랬어useradd -s /bin/rbash -d /var/www/html/directory USRNAME

USRNAME (ssh 키 포함)을 사용하여 ssh 로그인하면 directorycd로 돌아가지 않습니다. 그러면 작동합니다... 하지만

그들이 사용한다면 nano /var/www/html/.env(이전에예배 규칙서) 이렇게 말할 것이다

Unable to create directory /var/www/html/directory/.local/share/nano/: Permission denied
It is required for saving/loading search history or cursor positions.

Press Enter to continue

누르면 enter읽을 수 있게 됩니다어느nano..로 파일을 시스템 어디든!

이 사용자에게만 허용할 수 있는 도움이 필요합니다.Google Cloud만 사용하는 특정 디렉토리?

답변1

rbash는 쉘 사용자를 제한하는 안전한 방법이 아닙니다. 실행 파일에 대한 파일 시스템 액세스가 아닌 셸 입력만 제한합니다. 표준 Linux 시스템에는 nano뿐만 아니라 이러한 제한 사항을 해결하기 위해 $PATH에 액세스할 수 있는 도구가 많이 있습니다.

적절하게 제한된 액세스는 chroot 환경이나 감옥을 생성하여 수행되지만 필요한 모든 실행 파일과 잠재적으로 /dev, /sys 또는 /proc 하드링크도 제공해야 합니다.

안전한 명령만 포함하도록 $PATH를 수정할 수 있지만 이는 지뢰밭이며 기본적으로 별도의 실행 파일 컬렉션을 만들어야 합니다.

귀하가 보고 있는 오류는 사용자가 /var/www/html/directory에 쓸 수 없는 것과 관련이 있을 수 있지만 실제 문제와는 관련이 없습니다.

관련 정보