SSH를 통해 원격 서버에 연결하고 있는데 권한 문제가 있습니다.
내 원격 계정은 thelq
주로 이 그룹의 일부입니다 thelq
. 나도 유니버셜 그룹에 속해 있다 users
. Primary 라는 다른 원격 계정이 game
이 그룹의 일부입니다 users
. 원격 서버에서는 모든 game
파일을 자유롭게 보고 편집할 수 있습니다. 그러나 로컬 서버에서는 분명히 해당 그룹에 속하지 않습니다 users
. 이상하게도 그룹에 대해 gid 옵션을 명시적으로 지정해 도 여전히 그룹 users
에 액세스할 수 없습니다.users
명령줄에서 시도한 예:
[thelq@quackwall ~]$ sshfs -o idmap=user -o uid=1000 -o gid=1000 -o allow_other -o default_permissions quackgame:/home game-home
thelq@quackgame's password:
[thelq@quackwall ~]$ echo something >> game-home/game/INIT-SETUP
bash: game-game/game/INIT-SETUP: Permission denied
Linux 권한이 나의 장점이 아니기 때문에 무엇을 해야 할지 혼란스럽습니다. 나는 열성적으로 원격 컴퓨터를 사용하면 그룹에서 말하는 모든 내용에 액세스할 수 있을 것이라고 생각했지만 분명히 그렇지 않았습니다.
어떤 제안이 있으십니까?
@penguin359님의 요청대로
[thelq@quackwall ~]$ ls -ld game-home
drwxr-xr-x 2 thelq allusers 4096 Apr 5 19:06 game-home
[thelq@quackwall ~]$ sshfs quackgame:/home game-home
thelq@quackgame's password:
[thelq@quackwall ~]$ ls -ld game-home
drwxr-xr-x 1 root root 4096 Jan 5 18:20 game-home
[thelq@quackwall ~]$ ssh quackgame id
thelq@quackgame's password:
uid=1000(thelq) gid=1000(thelq) groups=1000(thelq),4(adm),20(dialout),24(cdrom),46(plugdev),100(users),107(sambashare),109(lpadmin),110(admin)
[thelq@quackwall ~]$ ssh quackgame ls -ld /home/game
thelq@quackgame's password:
drwxr-xr-x 11 game users 4096 2011-04-11 21:59 /home/game
답변1
출력에 따르면 ssh quackgame ls -ld /home/game
/home/game은 사용자 그룹이 아닌 파일 소유자, 게임만 쓸 수 있습니다. chmod g+w /home/game
작동하는지 확인하려면 quackgame을 실행해 보세요 .
답변2
idmap 옵션은 권한에 영향을 주지 않으며 stat()
파일 소유자 표시에만 영향을 미칩니다. 또한 uid 및 gid 옵션은 로컬 권한, 즉 연결을 효과적으로 소유하는 권한에만 영향을 미칩니다. default_permissions 옵션은 로컬에서 권한 검사를 활성화하는데 이는 원하는 것이 아닐 수도 있습니다. 원격 측의 권한은 연결에 사용된 사용자 이름(이 경우 lq)에 의해서만 결정됩니다. sshfs -o idmap=user quackgame:/home game-home
작동하는지 확인하는 등 간단한 작업을 시도해 보세요 .