수정 가능한 파일의 소유자 변경을 비활성화하는 방법은 무엇입니까?

수정 가능한 파일의 소유자 변경을 비활성화하는 방법은 무엇입니까?

때때로 루트에서 Qt Creator를 실행해야 할 때가 있습니다. 그 후 Qt Creator의 일부 구성 파일이 갑자기 루트를 소유자로 갖게 되었습니다. 따라서 Qt Creator를 사용자로 실행할 때 이러한 파일에 쓸 수 없다는 경고가 표시됩니다. 이러한 파일의 소유자가 변경되는 것을 방지할 수 있습니까?

답변1

gdbserver루트로 실행하여 문제가 해결되었습니다.

sudo gdbserver :1234 <path_to_program>

그 후 QtCreator 메뉴에서 127.0.0.1:1234에 접속하여 디버깅을 시작했습니다. QtCreator는 일반 사용자가 실행합니다. 답변해 주셔서 감사합니다.

답변2

위에서 언급한 것처럼 Qt Creator를 루트로 실행하면 안 되지만, 질문에 대답하려면 불변 속성(chattr +i 파일 이름)을 설정하여 파일의 소유자가 변경되는 것을 방지할 수 있습니다. 그러면 파일 수정이 방지됩니다!

답변3

root이러한 파일의 소유권은 명시적으로 변경될 수 없습니다. 대부분의 경우 삭제하거나 이름을 바꾼 다음 동일한 이름으로 다시 만듭니다.

root이 경우 강제로 원본 버전으로 다시 생성하기는 쉽지 않습니다 uid. uid원본이 무엇인지 기억해야합니다 .

아마도 가장 좋은 방법은 root생성된 파일을 추적하고 이후에 소유권을 변경하는 것입니다.

물론 이미 지적했듯이 Qt Creator와 같은 것을 실행하는 것은 root어쨌든 나쁜 생각입니다.

관련 정보