tmux 세션에서 사용자 권한 수정이 고려되지 않는 이유는 무엇입니까? [복사]

tmux 세션에서 사용자 권한 수정이 고려되지 않는 이유는 무엇입니까? [복사]

저는 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와 같이 이미 실행 중인 프로세스의 자격 증명을 다시 초기화하는 데 도움이 되지 않습니다).

관련 정보