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.
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
Atau Anda dapat menggunakan program instalasi yang lebih baik lagi dari GNU coreutils yang telah dibuat untuk tujuan khusus ini. Harap dicatat ini tidak dapat berulang (opsi -R atau -r).
cp -p
membuat atribut target cocok (dengan demikian menjaga) atribut sumber.Jawaban:
Jika Anda hanya membuka manual untuk
cp
...Berikutnya tidak akan menimpa izin file dan kepemilikan + grup:
Perhatikan bahwa hak akses root diperlukan jika Anda ingin mempertahankan kepemilikan dan kekerabatan.
Kutipan dari manual:
sumber
--no-preserve
masuk akal jika digunakan setelah--preserve
(atau alias), selain itu tidak mempengaruhi perilakucp
. Penulis ingin menjaga mode file dari file target yang ada dan hanya menimpa isinyacp --no-preserve=mode,ownership ssh* /etc/ssh/
. Ini membuat kunci rahasia dapat dibaca dunia.cat
akan bekerja juga:sumber
Atau Anda dapat menggunakan program instalasi yang lebih baik lagi dari GNU coreutils yang telah dibuat untuk tujuan khusus ini. Harap dicatat ini tidak dapat berulang (opsi -R atau -r).
http://www.gnu.org/software/coreutils/manual/html_node/install-invocation.html
sumber
Jangan gunakan sakelar yang terkait izin sama sekali, terutama
--no-preserve
, karena berperilaku aneh:baik:
buruk:
sumber
The cp tidak mengesampingkan izin secara default. Jika Anda ingin memastikan izin tidak akan diganti, gunakan
sumber