cp + 권한을 덮어 쓰고 싶지 않음


23

cp대상 파일의 권한을 변경하지 않고 명령을 어떻게 사용합니까? 예를 들면 다음과 같습니다.

cp /tmp/file   /home/file

나는 변경하지 않으 chownchgrp/home/file.


3
소스 권한을 유지할 것인지 대상 권한을 유지할 것인지에 대해 명확하지 않습니다. 또한 크로스 사이트가 슈퍼 유저에게 스팸되었습니다.
Tom Shaw

레코드의 경우 "보존"옵션은 source 를 참조합니다 . cp -p대상 속성이 소스 속성과 일치하도록 (따라서 보존) 만듭니다.
mpersico

1
방금이 페이지를 우연히 발견했습니다. cp는 기본적으로 대상 파일 권한과 user : group을 유지해야합니다. 대상은 업데이트 모드에서 대상을 열고 inode를 유지하기 때문입니다. 따라서 왜 대답이 이것을 나타내지 않는지는 명확하지 않습니다.
dozer

답변:


30

대한 매뉴얼cp 만 열었다 ...

다음은 파일 권한 및 소유권 + 그룹 쉽을 덮어 쓰지 않습니다.

cp --no-preserve=mode,ownership /tmp/file /home/file

소유권과 그룹을 유지하려면 루트 권한이 필요합니다.

매뉴얼에서 발췌 :

  --preserve[=ATTR_LIST]
      preserve   the   specified   attributes   (default:  mode,owner-
      ship,timestamps), if possible  additional  attributes:  context,
      links, xattr, all

저자가 정확히 원하는 것이 아닙니다. --no-preserve이후 --preserve(또는 그 별명)를 사용하면 의미가 있고 그렇지 않으면의 동작에 영향을 미치지 않습니다 cp. 저자는 기존 대상 파일의 파일 모드를 유지하고 싶어하고 단지 그 내용 덮어 쓰기
유역

예 : ssh 호스트 키를 교체하십시오 cp --no-preserve=mode,ownership ssh* /etc/ssh/. 비밀 키를 세계가 읽을 수있게합니다.
분지

매뉴얼 페이지의 --preserve 설명은 다음을 명확하게 밝히지 않기 때문에 IMHO의 의미가 없습니다. 소스 또는 대상 속성
Waslap



0

권한 관련 스위치, 특히 --no-preserve이상하게 동작하므로 사용하지 마십시오 .

좋은:

[il@localhost Downloads]$ sudo cp ssh_host_* /etc/ssh/
[il@localhost Downloads]$ ls -l /etc/ssh
total 604
-rw-r--r--  1 root root     581843 Oct 20  2017 moduli
-rw-r--r--  1 root root       2276 Oct 20  2017 ssh_config
-rw-------  1 root root       3907 Oct 20  2017 sshd_config
-rw-r-----. 1 root ssh_keys    227 Oct  2 12:26 ssh_host_ecdsa_key
-rw-r--r--. 1 root root        172 Oct  2 12:26 ssh_host_ecdsa_key.pub
-rw-r-----. 1 root ssh_keys    411 Oct  2 12:26 ssh_host_ed25519_key
-rw-r--r--. 1 root root        100 Oct  2 12:26 ssh_host_ed25519_key.pub
-rw-r-----. 1 root ssh_keys   1679 Oct  2 12:26 ssh_host_rsa_key
-rw-r--r--. 1 root root        392 Oct  2 12:26 ssh_host_rsa_key.pub

나쁜:

[il@localhost Downloads]$ sudo cp --no-preserve=mode,ownership ssh_host_* /etc/ssh/
[il@localhost Downloads]$ ls -l /etc/ssh
total 604
-rw-r--r--  1 root root     581843 Oct 20  2017 moduli
-rw-r--r--  1 root root       2276 Oct 20  2017 ssh_config
-rw-------  1 root root       3907 Oct 20  2017 sshd_config
-rw-r--r--. 1 root ssh_keys    227 Oct  2 12:27 ssh_host_ecdsa_key
-rw-r--r--. 1 root root        172 Oct  2 12:27 ssh_host_ecdsa_key.pub
-rw-r--r--. 1 root ssh_keys    411 Oct  2 12:27 ssh_host_ed25519_key
-rw-r--r--. 1 root root        100 Oct  2 12:27 ssh_host_ed25519_key.pub
-rw-r--r--. 1 root ssh_keys   1679 Oct  2 12:27 ssh_host_rsa_key
-rw-r--r--. 1 root root        392 Oct  2 12:27 ssh_host_rsa_key.pub

0

CP는 기본적으로 권한을 대체하지 않습니다. 권한이 무시되지 않도록하려면 다음을 사용하십시오.

cp --preserve=mode,ownership /tmp/file /target_dir_where_file_resides
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.