다른 사용자의 홈 디렉터리로 이동하려는 파일이 여러 개 있습니다. 나는 이 사용자의 홈 디렉토리에 쓸 수 있는 권한이 없지만 그의 비밀번호를 알고 있습니다.
난 어떻게 하는지 알아복사파일 사용량 scp
(참조여기). 하지만 파일을 옮기고 싶을 때 원본 파일을 복사한 후 삭제하는 것은 비효율적입니다. 어떤 방법이 있나요?이동하다사용되지 않은 파일은 무엇입니까 sudo
(루트의 비밀번호를 모릅니다)?
답변1
대상 사용자가 실제로 원래 위치에 있는 파일에 액세스할 수 있다는 가정에 따라 다음이 작동할 수 있습니다.
SRC='/path/to/existing/file'
DST='/path/to/new/file'
su target_user sh -c "ln -f '$SRC' '$DST'" && rm -f "$SRC"
이렇게 하면 파일이 새 사용자의 위치로 "이동"되지만 소유권이나 권한은 변경되지 않습니다.
답변2
su
비밀번호를 알면 모든 사용자에게 접근할 수 있습니다. (sudo의 경우 sudo 사용자여야 하며 비밀번호를 알고 있어야 합니다.)
따라서 파일을 읽을 수 있고 디렉터리에 쓰기 가능(삭제용)을 설정하거나 파일을 공유 그룹에 추가하거나 ACL(액세스 제어 목록)을 사용하세요 setfacl
(Gnu/linux에서 파일 권한 등을 설정하는 다른 방법은 무엇입니까?)
그런 su other user
다음 조치를 취하십시오.
수신 사용자에게 쓰기 액세스 권한을 부여하지 않고 이 작업을 수행하는 방법에 대한 @roaima의 답변도 참조하세요.