사용자가 다른 사용자에게 파일을 선물할 수 있도록 하려면 어떻게 해야 합니까?

사용자가 다른 사용자에게 파일을 선물할 수 있도록 하려면 어떻게 해야 합니까?

바라보다일반 사용자가 파일을 "chown"할 수 없는 이유는 무엇입니까?chown에 대한 무제한 액세스는 나쁜 생각이기 때문입니다. 하지만 제한된 버전을 구현하고 싶습니다. 사용자 adam이 사용자 bobby에게 파일을 제공하도록 허용하고 이 전송만 허용하고 싶습니다.

답변1

사용자 adam이 사용자 bobby에게 파일을 제공하도록 허용하고 이 전송만 허용하고 싶습니다.

이렇게 하려면 루트로 실행되고 필요한 검사를 수행하며 주어진 파일의 소유자를 변경하는 프로그램이 있어야 합니다. 루트로 실행하기 쉽고 sudosetuid 프로그램을 사용할 수 있으며 프로그램이 남용되지 않도록 검사가 올바르게 수행되지만 더 어렵습니다.

작동할 수 있는 방법은 다음과 같습니다. 1) 파일을 엽니다. 2) fstat()소유자를 확인하는 데 사용합니다. 3) 그런 다음 fchown()소유자를 변경합니다.

파일을 통해 접근하기 때문에 파일은 fd를 통해 처리되어야 합니다.이름검사 중인 파일이 나중에 작업할 파일이라는 보장은 없습니다. 파일은 둘 사이에서 변경될 수 있습니다.

또 다른 옵션은 네트워크를 통해 서버로부터 파일(해당 내용)을 수신 adam한 다음 bobby수신된 데이터를 기반으로 완전히 새로운 파일을 생성하는 "업로드 서비스"를 구현하는 것입니다.

후자는 이메일과 비슷하지만 이것이 기성 도구라고 생각하지 않습니다.

답변2

chmod모든 사람이 파일에 쓸 수 있도록 허용하면 소유권이 덜 중요해집니다 .

chmod 777 file모든 사람이 파일을 사용하여 거의 모든 작업을 수행할 수 있습니다.

관련 정보