cp + tidak ingin menimpa izin


23

Bagaimana Anda menggunakan cpperintah tanpa mengubah izin file target? Sebagai contoh:

cp /tmp/file   /home/file

Saya tidak ingin berubah chowndan chgrpterus /home/file.


3
Tidak jelas apakah Anda bertanya tentang menjaga izin sumber atau izin target. Anda juga telah mem-cross situs ke SuperUser.
Tom Shaw

Sebagai catatan, opsi "pelestarian" mengacu pada sumber . cp -pmembuat atribut target cocok (dengan demikian menjaga) atribut sumber.
mpersico

1
Saya baru saja menemukan halaman ini. cp secara default harus menjaga hak file target dan grup pengguna: karena ia membuka target dalam mode pembaruan dan mempertahankan inode-nya. Jadi tidak jelas bagi saya mengapa jawabannya tidak menunjukkan ini.
dozer

Jawaban:


30

Jika Anda hanya membuka manual untukcp ...

Berikutnya tidak akan menimpa izin file dan kepemilikan + grup:

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

Perhatikan bahwa hak akses root diperlukan jika Anda ingin mempertahankan kepemilikan dan kekerabatan.

Kutipan dari manual:

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

Tidak persis seperti yang diinginkan penulis. --no-preservemasuk akal jika digunakan setelah --preserve(atau alias), selain itu tidak mempengaruhi perilaku cp. Penulis ingin menjaga mode file dari file target yang ada dan hanya menimpa isinya
basin

Mis: ganti kunci host ssh cp --no-preserve=mode,ownership ssh* /etc/ssh/. Ini membuat kunci rahasia dapat dibaca dunia.
baskom

- Halaman manual penjelasannya adalah IMHO tidak masuk akal karena tidak membuat jelas melestarikan apa: Sumber atau atribut target
Waslap



0

Jangan gunakan sakelar yang terkait izin sama sekali, terutama --no-preserve, karena berperilaku aneh:

baik:

[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

buruk:

[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

The cp tidak mengesampingkan izin secara default. Jika Anda ingin memastikan izin tidak akan diganti, gunakan

cp --preserve=mode,ownership /tmp/file /target_dir_where_file_resides
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.