저는 SSH를 통해 데비안 서버에 연결하고 있으며 동시에 여러 연결을 피하기 위해 tmux를 사용하고 있습니다.
디렉토리(여기 /opt/syncserver
)의 권한을 변경하고 소유자를 group 및 user 로 설정했습니다 www-data
. 이 디렉터리에 대한 권한은 의 권한과 동일합니다 770
( chmod
소유자 rwxrwx---
및 그룹에 대한 읽기/쓰기/실행).
그런 다음 이전에는 그룹에 없었기 때문에 user1
기본 사용자(여기서 이를 호출함)를 그룹에 추가했습니다 . www-data
그런 다음 성공하지 못한 채 새로 수정된 디렉토리로 cd를 시도했습니다( Permission denied
오류).
동일한 tmux 세션 내에서 새 셸을 생성해도 문제가 해결되지 않습니다(이 질문의 가능한 중복 참조).
동일한 사용자를 사용하여 다른 SSH 세션을 시작해 보았지만 디렉토리에 들어가는 데 문제가 없었습니다.
tmux 세션에서 생성된 새 쉘이 권한 수정을 어떻게 고려하지 않을 수 있습니까? 이 문제를 해결할 수 있는 방법이 있습니까? 아니면 제가 완전히 잘못하고 애초에 뭔가 잘못하고 있는 것입니까?
새로운 tmux 세션을 생성해도(다른 세션은 여전히 연결되어 있음) 문제가 해결되지 않습니다. tmux를 완전히 다시 시작하면 문제가 해결될 것 같지만, 이를 피하고 왜 이런 일이 발생하는지 알고 싶습니다.
답변1
tmux 세션에서 생성된 새 쉘이 권한 수정을 어떻게 고려하지 않을 수 있습니까?
프로세스와 관련된 uid, gid 및 보충 그룹은 로그인 시에만 재설정됩니다. tmux 세션 내에서 생성된 새 쉘은 새 로그인이 아니며 단지 tmux 프로세스의 새로운 하위 프로세스일 뿐입니다.
그룹 멤버십을 업데이트하려면가지다다시 로그인하거나 다시 초기화된 그룹으로 하위 쉘을 시작하는 매우 작은 명령 세트( newgrp
, su
, sudo
) 중 하나를 사용하십시오(그러나 이러한 명령은 tmux와 같이 이미 실행 중인 프로세스의 자격 증명을 다시 초기화하는 데 도움이 되지 않습니다).