Dengan asumsi bahwa Anda memiliki sudo
hak istimewa, perintah berikut akan dilakukan.
sudo cp /home/USER1/FNAME /home/USER2/FNAME && sudo chown USER2:USER2 /home/USER2/FNAME
Akan menyalin file dari USER1 ke USER2, dan kemudian mengubah pemilik salinan di / home / USER2 ke USER2
Jika Anda tidak memiliki sudo
hak istimewa, maka kedua pengguna perlu memastikan bahwa Anda telah membaca izin pada direktori USER1, dan menulis akses pada direktori USER2. Jika Anda memiliki akses ini, Anda dapat memasukkan perintah:
cp /home/USER1/FNAME /home/USER2/FNAME
Ini akan menyalin file yang dimaksud, tetapi USER2 mungkin tidak dapat memanipulasi file sampai mereka memiliki izin yang sesuai.
jika Anda tidak memiliki hak sudo tetapi Anda dapat masuk dengan dua pengguna maka Anda dapat menggunakan scp dengan localhost:
sumber
Seperti USER1:
Sebagai USER2:
Seperti USER1:
sumber
Asumsikan Anda tidak menginstal ssh, atau tidak dapat tidak ingin membagikan kunci / rahasia.
Misalkan user1 ada di group1, dan user2 ada di group2, dan keduanya user1! = User2 dan group1! = Group2.
Buat grup bersama, group3s.
Tambahkan user1 dan user2 ke group3s.
Buat direktori di tempat yang dapat diakses bersama, di mana satu pengguna memiliki, tetapi memiliki kepemilikan grup dari group3s.
Tetapi, misalkan Anda tidak dapat membuat grup baru, yang dibagikan, dan menempatkan kedua pengguna dalam grup itu?
Buat direktori dan berikan 770 izin,
Kemudian, sebagai root / admin, ubah kepemilikan grup ke grup pengguna lain,
Perintah chmod g + s menetapkan bit setgid sehingga file yang ditempatkan ke direktori memiliki kepemilikan grup diatur ke group2.
sumber
Setiap jawaban lain di sini memerlukan akses root, memungkinkan setiap pengguna pada mesin yang sama untuk menyalin file, atau memerlukan berbagi kata sandi. Berikut adalah metode yang tidak:
Mintalah
USER2
(sebut saja dia Bob) menjalankan perintah berikut (Anda dapat mengganti/tmp
dengan direktori mana pun yang memiliki izin untuk ditulis oleh kedua pengguna, tetapi/tmp
sangat ideal karena secara default bersifat lengket, yang mencegah pengguna jahat untuk membatalkan proses ini. Direktori yang dimiliki oleh Bob yang bisa dibaca dunia juga berfungsi):Ini membuat file yang bisa ditulis dunia, tetapi tidak bisa dibaca.
Kemudian
USER1
jalankan (sebut saja dia Alice) jalankan (jika Anda paranoid, Alice dapat memeriksa izin terlebih dahulu untuk memastikan file tersebut dimiliki oleh Bob):Ini menimpa isi
/tmp/test.txt
. Jika Anda ingin memeriksa integritas file, Alice juga harus menghasilkan hash file. Contohnya:Anda dapat menandatangani file secara digital, atau metode lain untuk menjamin integritasnya.
Dan akhirnya Bob memindahkan file dan mengambilnya:
Dan Bob dapat memeriksa integritas jika dia suka. Jika demikian, ia harus memeriksa untuk memastikan hanya Alice yang dapat menulis
/tmp/test.txt
.Jika file itu disalin dengan benar, ini seharusnya tidak menampilkan output.
sumber
Sebelum pergi menyalin satu pengguna ke yang lain Anda harus login sebagai pengguna su dan kemudian Anda menggunakan perintah cp
sumber
USER2
tetapi membiarkannya seolah-root
olah. -1