Saya ingin memberikan akses ke dir untuk teman. Ia memiliki akses ke sistem file, di mana direktori tersebut berada. Saya tidak ingin mengatur izin untuk semua pengguna. Bagaimana saya bisa mengizinkan hanya satu orang untuk melihat dir? Tidak seorang pun dari kita adalah pengguna super.
[BOUNTY CHALLENGE] Tidak ada balasan yang berfungsi, menggunakan Ubuntu:
1. Pendekatan jamuraa tidak berfungsi
$ setfacl -m user:friend:rwx classroom.xml
setfacl: classroom.xml: Operation not supported
2. Pendekatan nik tidak berfungsi: tidak dapat mengakses file yang tidak ada
3. Pendekatan ba tidak berfungsi: Saya tidak dapat membuat grup, bukan root.
4. Pendekatan ToK tidak berfungsi, pengguna berada dalam dua kelompok: "pengguna" dan "bidang"
chown -R myFriend:users ~/TEST
chown: changing ownership of `/u/myFriend/TEST/you_see_it': Operation not permitted
chown: changing ownership of `/u/myFriend/TEST': Operation not permitted
Jawaban:
Dengan izin UNIX biasa (pengguna, grup, semua orang), Anda tidak dapat melakukan ini dengan mudah. Jika Anda tidak lagi memerlukan akses ke direktori, Anda dapat mengubah pemilik direktori menjadi teman Anda, yang berlaku pada beberapa Unices, tetapi sebagian besar tidak.
Namun - jika Anda mengaktifkan ACL di Linux, Anda dapat melakukan ini jika Anda adalah pemilik file. Jalankan saja perintah di
setfacl -m user:friend:rwx filename
mana teman adalah nama akun teman Anda dan nama file adalah file tersebut. Anda dapat memeriksa bahwa itu mulai berlaku dengan menjalankangetfacl filename
, Anda harus melihat triaduser:friend:rwx
dalam daftar. Saya belum melihat terlalu banyak sistem Linux yang mengaktifkan ACL.sumber
Ini adalah sesuatu yang telah kami diskusikan di sekolah.
Berjalan kira-kira seperti ini,
data
, untuk referensi di sini)chmod 711 data
"x
- akses untuk masuk ke direktoridifficult-name-here
(ini bisa berupa hashed-string)chmod a+rx difficult-name-here
"cd path/to/data/difficult-name-here
"root
selalu dapat mengakses semuanya (yang bukan masalah di sini)difficult-name-here
dengan orang yang ingin Anda berikan data iniCukup kasar, tetapi jika ini bisa rusak tanpa kerusakan kontrol akses unix, saya ingin tahu.
Perbarui komentar dari
dmckee
,Ini persis kesimpulan yang kami capai!
"keamanan karena ketidakjelasan" memiliki keamanan yang terbatas .
Karena itu, ketika merancang perlindungan untuk data,
penting untuk mengidentifikasi nilainya.
Anda harus menargetkan untuk,
Dalam hal ini, jika
root
memutuskan untuk menyebutkan pohon direktori di suatu tempat di akses publik,rahasia Anda keluar! Tetapi, apakah Anda melindungi dari akar atau kemungkinan tidak bertanggung jawab mereka?
Jika itu masalahnya, Anda memiliki lebih banyak hal yang perlu dikhawatirkan daripada membagikan file.
Perbarui not yang tidak berfungsi dalam pertanyaan .
Saya telah menggunakan ini pada hari-hari awal linux untuk mengetahui bahwa itu berfungsi.
Jika Anda mendapatkan '
cannot access non-existant file
' bukan'permissions denied
'Anda kemungkinan besar telah membuat kesalahan dalam urutannya. Apa yang Anda inginkan akan terlihat seperti ini,CoverDir
' akses sebagai'rwx--x--x
',grup dan yang lain hanya bisa masuk ke direktori tetapi tidak bisa membaca isinya.
'
Obscure
', di dalamnya dan memberikan akses baca penuh dengan 'rwxr-xr-x
',siapa pun yang mengenal nama ini dapat mendaftar isinya.
ls BasePath/CoverDir/Obscure
'Karena orang-orang dalam grup Anda dan orang lain tidak akan dapat '
ls BasePath/CoverDir
'.sumber
ssh
kunci pribadi).Ryan sebenarnya 100% benar, hanya mundur. Karena teman Anda (kemungkinan) memiliki grup unik yang terkait dengan nama penggunanya, ubah kepemilikan grup dari direktori tersebut ke grup tersebut, kemungkinan besar nama pengguna teman tersebut. Agar dapat berbagi konten antara Anda berdua, Anda harus tetap memiliki kepemilikan sebagai pengguna:
Kemudian tetapkan izin yang sesuai ke direktori, tergantung pada akses apa yang Anda ingin dimiliki oleh pengguna lain:
akan memberi Anda berdua akses rwx penuh ke direktori dan seluruh isinya.
Harap perhatikan bahwa ini mengasumsikan bahwa tidak ada pengguna lain yang telah ditambahkan ke grup teman Anda. Sistem kemungkinan tidak akan membuat tugas ini, namun, seperti yang disebutkan sebelumnya, pengguna root dapat melakukan apa yang mereka pilih. Anda dapat menggunakan perintah grup untuk melihat setiap grup yang dimiliki teman Anda, atau pengguna yang sewenang-wenang. Selain itu, kecuali izin telah diubah karena alasan tertentu, Anda harus dapat melihat file / etc / group yang berisi tugas grup untuk setiap grup pada sistem.
sumber
Saya akan membuat grup baru untuk Anda dan teman Anda dan mengatur izin folder menjadi penuh untuk pemilik dan grup bersama dengan bit setgid untuk direktori.
Tetapi tergantung pada kebutuhan Anda, Anda mungkin juga harus mengubah umask Anda dan teman-teman Anda sehingga secara otomatis mengatur grup untuk dapat mengubah file baru.
sumber
Daftar Kontrol Akses adalah cara sempurna untuk melakukan ini.
Namun (jika saya ingat dengan benar), sistem file perlu diinisialisasi dengan ACL (mis. "/ Dev / sda6 / home ext3 default, acl "), melalui / etc / fstab, dan ini adalah sesuatu yang hanya dapat dilakukan oleh superuser. ..
sumber
RBACS seperti grsec / selinux diperlukan ..
sumber
Secara default, setiap pengguna pada sistem Ubuntu juga memiliki grup terkait dengan nama yang sama. Jadi, jika Anda dapat menambahkan teman ke grup Anda dan menandai folder yang dimaksud sebagai
g+rwx
, Anda akan ditetapkan. Saya samar-samar ingat kasus penggunaan ini dikutip sebagai alasan untuk membuat grup untuk setiap pengguna.sumber
Bagaimana dengan Dropbox? Anda dapat menginstalnya tanpa hak admin dan keduanya menautkan ke akun yang sama.
Lihat Cara Memasang Dropbox di Lingkungan Linux Berbasis Teks Sepenuhnya
sumber
belum mencoba ini, tetapi bagaimana dengan direktori yang dapat dibaca publik dengan ruang pengguna FS terenkripsi di dalamnya (misalnya encfs). Kemudian Anda dapat membagikan kata sandi itu dengan teman Anda dan tidak ada orang lain yang dapat menggunakan data itu (well, saya kira mereka bisa mendapatkan data dan menjalankan cracker kata sandi secara offline?).
sumber
Untuk memberikan Linux kemahiran yang sama seperti windows dalam hak istimewa file Anda harus bersarang grup. Buat satu grup yang memiliki akses ke folder Anda sesuai keinginan teman Anda. Tambahkan dia ke grup itu atau grup dia tinggal di grup itu. Sebagai contoh
/ foo adalah folder yang ingin Anda bagikan. Buat grup FooGroup yang memiliki akses yang diinginkan ke folder. Tambahkan grup dan pengguna ke grup ini yang ingin Anda akses ke folder ini.
Sangat sulit memiliki grup untuk setiap folder atau file tetapi ini adalah cara terbaik untuk membatasi akses pada level yang sama dengan Windows.
sumber
Anda dapat mengenkripsi direktori dengan
gpg
. Dan kemudian cobalah untuk mengaburkan lokasi seperti yang disarankan nik.sumber