루트 액세스 없이 파일 소유권을 변경할 수 있습니까?

루트 액세스 없이 파일 소유권을 변경할 수 있습니까?

사용자 A가 file.txt를 소유한 경우 사용자 A가 루트 액세스 없이 파일 소유권을 사용자 B로 변경할 수 있습니까? 사용자 A로 chown B file.txt를 실행하면 작업이 허용되지 않음 오류가 발생합니다. 사용자 A가 파일을 소유하고 있으므로 소유권을 변경할 수 있어야 하는 것 같지만 그렇게 할 수 있는 방법이 없습니다. 도와 주셔서 감사합니다!

답변1

사용자 A가 을 소유한 경우 루트 액세스/sudo 권한 없이는 file.txt의 소유권을 변경할 수 없습니다 . file.txt이는 버그가 아닌 기능입니다. 그리고 장로들이 이 기능을 선택한 많은 이유 중 하나가 귀하의 질문에 대한 의견에서 설명되었습니다.로드미르

요점:루트/sudo 권한이 없으면 을 사용하여 파일의 권한을 변경할 수 있으며 chmod, 해당 파일의 소유자인 경우 그룹 소유권(을 사용하여 구성원인 모든 그룹 chgrp)을 변경할 수 있지만 사용자 소유권( )을 사용하는 chown경우, 루트/sudo 권한이 없는 파일 소유자라도 마찬가지입니다. 이는 버그가 아닌 기능입니다.

답변2

아니요, 액세스 권한 없이는 파일 소유자를 변경할 수 없습니다. 하지만 파일을 소유하고 있는 경우 해당 파일의 권한을 변경할 수 chmod있으며 해당 그룹을 chgrp귀하가 구성원으로 속한 다른 그룹으로 변경할 수도 있습니다.

관련 질문:루트가 아닌 사용자에게 chown이 허용됩니까?

답변3

사용자 B에 대한 액세스 권한이 있는 경우 B로 로그인한 동안 파일을 복사하면 됩니다. 사용자 A에 대한 액세스 권한도 있는 경우 로그인하여 원본 파일을 삭제할 수 있습니다. 마지막으로 복사된 파일의 이름을 원래 이름(역시 B)으로 변경하면 기본적으로 다른 사용자가 소유한 동일한 파일이 남게 됩니다.

분명히 동일한 파일은 아니지만 파일의 내용에만 관심이 있다면 이것이 트릭입니다.

답변4

소유권 변경에 대한 강력한 주장이 있습니다. 왜냐하면 내 사업에서는 항상 다른 사용자로부터 파일을 받고 권한이 그 파일을 읽은 다른 파일에 대해 아무것도 할 수 없는 경우 문제를 실행하기 때문입니다.

그래서 제가 알아낸 것은 '압축 <data_filename>'을 실행한 다음 '압축 해제 <data_filename.Z>'를 실행하는 것이 쉽다는 것입니다. 그러면 원본 파일의 소유권이 자동으로 현재 소유자로 변경됩니다.

관련 정보