사용자:
root
userA
- 파일의 일반 소유자userB
- 파일에 쓰고 싶은 사용자
문서:
- 기본 텍스트 파일이 있다고 가정해 보겠습니다.
/tmp/file
- 소유권:
chown userA:groupA /tmp/file
- 권한은 그룹 + 전역 쓰기 가능입니다.
chmod 666 /tmp/file
질문:
userB
전 세계/모든 사람 권한으로 쓸 수 없습니다.userB
groupA
그룹에 있으면 글도 못 쓴다- 나는 새로운 Debian 11 호스트에서만 이것을 볼 수 있습니다.
- 내 Debian 10 호스트에는 문제가 없습니다.
효과는 무엇입니까:
- 만약 내가
chown root:root /tmp/file
- 문제없어- ...그게 제가 보기엔 가장 이상한 부분이에요. 이것이 새로운 보안 정책이라면 왜 허용됩니까?
- 파일을 외부로 옮기면
/tmp
문제 없습니다.
여기서 무슨 일이 일어나고 있는 걸까요?
Debian 10 -> 11 사이에 변경 사항이 있나요?
내 디렉토리에 대해 기본값이 아닌 것은 없습니다 /tmp
. 이는 별도의 파티션이나 다른 것이 아니며 단지 데비안과 함께 제공되는 기본 하위 디렉터리 설정일 뿐입니다.
답변1
그래서 질문을 입력한 후 루트로 파일에 쓰기도 해야 한다는 것을 깨달았습니다. 놀랍게도 그것조차 허용되지 않았습니다.
- 그래서 이 문제를 해결하려고 초기 검색에서 많은 정보를 찾지 못한 것 같습니다. 대부분의 다른 사용자가 먼저 시도한 것 같아서 스레드 제목이 내가 찾고 있는 것과 약간 다릅니다.
- 따라서 제가 계속 이 질문을 게시하고 답변하는 것이 나중에 저와 같은 검색어를 사용하는 누군가에게 도움이 될 수 있기를 바랍니다.
그 이유는 새로운 기본 설정 때문인 것 같습니다.
sysctl fs.protected_regular
나는 내가 그 파일을 소유하고 있다면
userB
그 파일에 쓸 수 있다는 사실에 아직도 조금 놀랐습니다 .root:root
하지만 실제로 쓰기 가능한 파일을 세상에 허용할 수 있는 방법이 필요하다고 생각합니다.- 루트가 소유하더라도 그 반대인 것처럼 느껴집니다. 이것이 허용되는 이유에 대해 아는 사람이 있다면 듣고 싶습니다.