![tmux 세션에서 사용자 권한 수정이 고려되지 않는 이유는 무엇입니까? [복사]](https://linux55.com/image/108752/tmux%20%EC%84%B8%EC%85%98%EC%97%90%EC%84%9C%20%EC%82%AC%EC%9A%A9%EC%9E%90%20%EA%B6%8C%ED%95%9C%20%EC%88%98%EC%A0%95%EC%9D%B4%20%EA%B3%A0%EB%A0%A4%EB%90%98%EC%A7%80%20%EC%95%8A%EB%8A%94%20%EC%9D%B4%EC%9C%A0%EB%8A%94%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F%20%5B%EB%B3%B5%EC%82%AC%5D.png)
저는 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와 같이 이미 실행 중인 프로세스의 자격 증명을 다시 초기화하는 데 도움이 되지 않습니다).