모든 파일과 폴더가 user1(rwe)에 속한 디렉터리에서 root, admin 및 user1에게 rwe 권한을 부여하는 방법

모든 파일과 폴더가 user1(rwe)에 속한 디렉터리에서 root, admin 및 user1에게 rwe 권한을 부여하는 방법

라는 디렉토리가 있습니다 /home/user1. 이 디렉터리에는 폴더와 그 안의 모든 파일에 대한 권한이 user1rwe(읽기, 쓰기, 실행)로 요구되는 Counter-Strike 게임 서버가 있습니다.

내가 하고 싶은 것은 데비안 SFTP 서버를 설정하고 user1을 user1의 디렉토리에 감옥에 가두는 것입니다.

그러나 게임 서버의 권한 요구 사항이 방해가 됩니다.

vsftpd와 sshd는 모두 감옥에 갇힐 디렉터리에 루트 권한을 설정해야 한다고 명시합니다. 따라서 /home/user1디렉터리와 디렉터리에 포함된 모든 파일의 루트 소유권을 설정하면 게임 서버가 시작되지 않습니다. 그러나 /home/user1디렉토리와 그 안의 모든 파일을 user1rwe 권한으로 설정하면 sftpd 및 sshd 서버가 filezilla에서 다음 메시지와 함께 연결을 끊습니다.

Response:   500 OOPS: vsftpd: refusing to run with writable root inside chroot()

오류: 치명적인 오류: 서버에 연결할 수 없습니다.

이제 user1ftp 계정에 chroot 권한을 부여할 수 있지만 서버를 자유롭게 로밍할 수 있으므로 이는 바람직하지 않습니다.

내가 해야 할 일은 디렉토리 user1에 갇혀 있는 vsftpd 또는 sshd에 rwe 권한을 부여하는 것 입니다./home/user1

또한 나 역시 admin이 디렉토리에 갇히고 싶지만 rwe 권한이 있는 디렉토리에서 게임 서버를 home관리할 수 있기를 원합니다 /home/user1./home/user2/home/user3

답변1

우선 실행 권한은 e 비트가 아닌 x 비트를 가집니다 ;-)

루트로만 쓸 수 있는(chroot 감옥에서 요구하는 대로) 디렉토리를 만드는 것은 불가능해 보이지만 (게임 서버에서 요구하는 대로) 해당 디렉토리에서 프로세스를 실행할 사용자도 쓸 수 있는 디렉토리를 만드는 것은 불가능해 보입니다. 따라서 문제 설명에 따르면 원하는 작업은 불가능합니다.

그러나 다음을 수행할 수 있습니다.

drwxr-xr-x 5 root  root  /home/jaildir
drwxr-xr-x 5 user1 user1 /home/jaildir/user1

홈 디렉터리를 user1로 설정 /home/jaildir/user1하고 vsftpd의 chroot Jail을 로 설정합니다 /home/jaildir. 이 접근 방식의 유일한 단점은 ftp 루트 디렉터리가 실제 "흥미로운" 콘텐츠보다 한 수준 위에 있다는 것입니다.

관련 정보