공통 하위 디렉터리와 그 사이에 파일이 있는 두 개의 서로 다른 경로에 두 개의 디렉터리가 있습니다. 첫 번째 디렉터리의 내용을 두 번째 디렉터리에 복사하고 동시에 동일한 권한이 필요하지만 파일을 복사합니다. 이제 권한이 변경된 후 내 파일에 대한 권한은 다음과 같습니다-rwxr-xr-x
로 변경해야합니다lrwxrwxrwx
.
이 형식에 대한 권한을 어떻게 변경할 수 있나요?
답변1
rsync
복사할 때 파일 권한을 저장하기 위해 자주 사용합니다.
rsync [OPTION...] SRC... [DEST]
이 -p
옵션을 사용하면 권한이 유지됩니다.
-p, --perms
권한 보존
(아카이브)를 사용하면 -a
더 많은 옵션이 추가됩니다.
-a, --archive
아카이브 모드, -rlptgoD와 동일(-H, -A, -X 없음)
바라보다man rsync
사용법 세부정보와 추가 옵션을 알아보세요.
답변2
원래 파일 권한이 l
시작되면 -
파일이 아니라 다른 파일/디렉토리에 대한 심볼릭 링크입니다.
복사하는 데 어떤 명령을 사용하더라도 심볼릭 링크가 아닌 참조하는 실제 파일이 복사됩니다. l
권한 표시 시작 부분에 심볼릭 링크만 있고 일반 파일은 -
.
심볼릭 링크를 복사하고 싶지만 심볼릭 링크가 가리키는 파일은 복사하지 않으려면 파일을 복사하는 데 사용하는 도구의 매뉴얼 페이지( cp
어쩌면 지정하지 않았나요?)를 읽고 따르지 않을 수 있는 옵션이 있는지 확인하세요. 심볼릭 링크.
또한 대부분의 복사 도구( cp
, rsync
등)에는 원래 권한을 유지하는 옵션이 있으므로 복사된 파일은 umask
.
일반 사용자는 다른 사람이나 자신이 속하지 않은 그룹이 소유한 파일을 만들 수 없으므로 루트만이 복사된 파일에 대한 소유권, 그룹 및 모든 권한을 완전히 보유할 수 있습니다.
답변3
귀하의 질문에/cp 태그, 나는 당신이 cp를 사용했다고 가정합니다. ~에서cp에 대한 coreutils 문서:
심볼릭 링크에서 복사할 때 cp는 일반적으로 재귀적으로 복사하지 않거나 --link(-l)가 사용되는 경우에만 링크를 따릅니다. 이 기본값은 --archive(-a), -d, --dereference(-L), --no-dereference(-P) 및 -H 옵션을 사용하여 재정의할 수 있습니다. 여러 옵션이 지정된 경우 마지막 옵션이 자동으로 다른 옵션을 재정의합니다.
링크된 파일 대신 심볼릭 링크를 복사하려면 -d
다음과 같이 이 플래그를 사용할 수 있습니다 cp
.
cp -d SOURCE DEST
이 플래그는 심볼릭 링크가 심볼릭 링크로 복사되도록 -d
강제합니다 . cp
~에서coreutils 문서:
심볼릭 링크를 가리키는 파일 대신 심볼릭 링크로 복사하고 복사본의 소스 파일 간의 하드 링크를 유지합니다. --no-dereference --preserve=links와 동일합니다.
이 복사 중에 다른 플래그를 사용한 경우 간단히 -d
플래그에 추가할 수 있어야 합니다.~하지 않는 한다른 플래그 중 하나는 -l
, -a
, -L
또는 -P
입니다 -H
(여러 옵션 사용에 대한 위의 참고 사항 참조). 이 경우 플래그 순서에 주의하거나 불필요한 플래그를 제거해야 합니다.