cp + non vuole sovrascrivere le autorizzazioni


23

Come si utilizza il cpcomando senza modificare le autorizzazioni del file di destinazione? Per esempio:

cp /tmp/file   /home/file

Non voglio cambiare chowne chgrpavanti /home/file.


3
Non è chiaro se si sta chiedendo di preservare le autorizzazioni di origine o le autorizzazioni di destinazione. Hai anche effettuato il cross-site di spaming su SuperUser.
Tom Shaw,

Per la cronaca, le opzioni di "conservazione" sono in riferimento alla fonte . cp -pfa corrispondere gli attributi di destinazione (preservando così) gli attributi di origine.
mpersico,

1
Mi sono appena imbattuto in questa pagina. cp per impostazione predefinita dovrebbe preservare le autorizzazioni dei file di destinazione e l'utente: gruppo perché apre la destinazione in modalità di aggiornamento e mantenendo l'inode. Quindi non è chiaro per me perché le risposte non indicano questo.
apripista

Risposte:


30

Se hai aperto il manuale solo percp ...

Il prossimo non sovrascriverà le autorizzazioni del file e la proprietà + grouphip:

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

Si noti che sono necessari i privilegi di root se si desidera preservare la proprietà e il grouphip.

Un estratto dal manuale:

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

Non esattamente quello che voleva l'autore. --no-preserveha senso se usato dopo --preserve(o suoi alias), altrimenti non influenza il comportamento di cp. L'autore voleva mantenere la modalità file di un file di destinazione esistente e sovrascriverne il contenuto
bacino

Es: sostituire le chiavi host ssh cp --no-preserve=mode,ownership ssh* /etc/ssh/. Questo rende le chiavi segrete leggibili in tutto il mondo.
Bacino

La pagina man --preserve spiegazione è senza senso IMHO in quanto non chiarisce cosa preservare: gli attributi di origine o di destinazione
Waslap

10

cat funzionerà anche:

cat /tmp/file > /home/file


0

Non utilizzare affatto opzioni correlate alle autorizzazioni, soprattutto --no-preserveperché si comporta in modo strano:

bene:

[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

male:

[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

Il cp non sostituisce le autorizzazioni per impostazione predefinita. Se si desidera assicurarsi che l'autorizzazione non venga ignorata, utilizzare

cp --preserve=mode,ownership /tmp/file /target_dir_where_file_resides
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.