사용자가 있다고 가정합니다: alice
및 bob
.
~/Documents
이제 Bob은 Alice의 디렉터리를 자신의 홈 폴더로 이동하려고 합니다 .
권한을 업데이트하는 데 가장 적합한 워크플로는 무엇입니까(Alice에서 Bob으로)?
이는 (디렉터리 및 파일, 재귀적으로)에 대한 Alice의 모든 권한이 /home/alice/Documents/
Bob의 (디렉터리 및 파일, 재귀적으로)에 추가되고 /home/bob/Documents/
Alice의 권한은 여기에서 제거됨을 의미합니다 /home/bob/Documents
.
답변1
파일 소유자 변경을 사용하면 chown
alice의 권한이 bob으로 이전됩니다. 프로세스는 다음과 같습니다.
sudo mv ~bob/Documents ~bob/Documents.orig
sudo mv ~alice/Documents/ ~bob/Documents
sudo chown -PR bob ~bob/Documents
편집하다:
그룹도 재정의하려면 다음을 사용하십시오.
sudo chown -PR bob:bob ~bob/Documents
또는:
sudo chown -PR bob: ~bob/Documents
Bob의 기본 그룹을 사용합니다.
그러나 ~alice/Documents
기본이 아닌 그룹 권한이 있는 경우 문제가 될 수 있습니다. 이 경우 다음과 같은 것을 사용하는 것이 좋습니다.
sudo find ~bob/Documents -group alice -exec chown -h bob: {} +
ACL이 사용 중인지 확인할 수도 있습니다.
답변2
밥으로서:
mv ~bob/Documents ~bob/Documents.orig
cp --remove-destination --no-preserve=ownership -r ~alice/Documents/ ~bob/
sudo rm -fr ~alice/Documents/
답변3
cp -avv /home/alice/Documents/ /home/bob/newDocuments/ &&
chown -Rvv bob:bob /home/bob/newDocuments/
답변4
Bob에게 Alice의 홈 폴더를 읽을 수 있는 권한이 없으면 슈퍼유저로 작업을 수행해야 합니다(Bob에게 아직 해당 권한이 없는 경우). 개인적으로는 다음과 같은 방법을 사용합니다.
sudo rsync -a --progress /home/alice/Documents/ /home/bob/Documents/
sudo chown -Rv bob:bob_group /home/bob/Documents
sudo rm -rv /home/alice/Documents
rsync는 매우 다재다능합니다. 파일을 선택하여 기존 폴더를 건너뛰거나 동기화하거나 원격 호스트에서 복사할 수 있으며 더 많은 옵션을 사용할 수 있습니다. 이 예에서 "-a"는 아카이브를 나타냅니다. 이는 재귀 및 권한 보존을 위한 -r 및 -p와 같은 더 많은 rsync 옵션을 의미합니다. 또한 -o(소유자 유지) 및 -g(그룹 유지)도 포함되어 있어 필요에 따라 이 옵션을 조정할 수 있습니다. 따라서 이 명령이 끝나면 Bob의 홈 폴더에 Alice의 문서 폴더 복제본이 생성됩니다.
chown은 새 폴더의 소유자 및 소유자 그룹을 변경합니다.
rm은 원할 경우 원본 폴더를 삭제합니다.