Mengapa izin default untuk / media / nama pengguna root: root?

20

Saya telah mengubah izin dari /media/usernamedari root:rootke username:root[1]. Saya mengerti bahwa lokasi yang berpusat pada pengguna memungkinkan izin yang berpusat pada pengguna [2].

Tetapi mengapa izin untuk folder ini root:rootpada awalnya?


[1] Agar saya dapat memasang folder terenkripsi di sana dengan Gnome EncFS Manager. Sebagai contoh, saya sekarang dapat me-mount folder terenkripsi sebagai /media/username/personal-documents.

[2] Dari Mengapa Ubuntu memindahkan titik pemasangan default? :

Akar penyebab perubahan perilaku default di udisks2 ini tampak jelas: keamanan. Lebih aman untuk membatasi akses ke sistem file ke satu pengguna tertentu daripada memberikan akses ke semua pengguna sistem.

david.libremone
sumber
Pemasangan biasanya melibatkan akses root. Anda dapat (seperti yang Anda lakukan) mengubah izin. Namun ini sama sekali tidak bisa menjadi perilaku "default" di Linux. Bayangkan apa yang akan terjadi jika ada pengguna (bukan admin) memiliki kemampuan untuk melakukan mount seperti yang Anda lakukan. Ini akan menjadi kekacauan total. :)
rbaleksandar

Jawaban:

20

Dalam kasus saya ini adalah bagaimana hal-hal terlihat /media:

$ ls -l /media | grep $USER
drwxr-x---+  3 root root 4096 Jan 22 15:59 oli

Pada dasarnya ini berarti bahwa hanya pengguna root yang dapat berinteraksi dengan direktori. Ini bagus untuk keamanan (tentu saja menghentikan pengguna lain untuk melihat, apalagi mencuri / menghapus / mengubah data) tetapi itu bukanlah akhir cerita.

Anda mungkin melihat tanda plus di akhir topeng izin. Ini berarti ACL (Access Control List) sedang digunakan. Ini memungkinkan izin yang lebih rinci.

$ getfacl /media/$USER
getfacl: Removing leading '/' from absolute path names
# file: media/oli
# owner: root
# group: root
user::rwx
user:oli:r-x
group::---
mask::r-x
other::---

Melalui ACL tempat pengguna saya diizinkan untuk melihat konten /media/oli. Saya masih tidak diizinkan mengedit konten.

Hal yang dilakukan pemasangan di desktop modern (baik Gnome dan KDE) adalah udisks2:

root      2882  0.3  0.0 195956  4048 ?        Sl   Jan16  30:35 /usr/lib/udisks/udisks-daemon
root      2887  0.0  0.0  47844   784 ?        S    Jan16   0:00 udisks-daemon: not polling any devices
root      3386  0.0  0.0 429148  6980 ?        Sl   Jan16   7:35 /usr/lib/udisks2/udisksd --no-debug

Seperti yang Anda lihat, itu berjalan di sana sebagai root, jadi ketika sesuatu mengaksesnya melalui DBUS, ia dapat membuat titik-mount di / home / $ USER dan mengirimkannya ke pengguna Anda sehingga mereka dapat mengedit konten.

Tidak ada yang mengubah apa yang saya katakan pada awalnya. Saya hanya menjelaskan cara kerjanya dalam praktik. Ini adalah bagaimana sesuatu di desktop Anda dalam efek diperbolehkan untuk menulis di suatu tempat yang hanya diizinkan oleh root, dan bagaimana pengguna Anda diizinkan untuk membacanya meskipun ada kepemilikan yang sebaliknya.

Semua itu mengubahnya menjadi lingkungan yang aman untuk data pengguna tetapi yang juga membuat sulit bagi pengguna untuk ikut campur dengan tatanan mount. Mereka tidak dapat, misalnya, menghapus titik-mount atau mengganti nama yang dapat menyebabkan masalah kecuali mereka memiliki akses root.

Sunting : Sesuatu yang baru saja terjadi pada saya adalah bahwa itu juga memberikan administrator tempat yang baik untuk me-mount sesuatu untuk satu pengguna. Izin secara default membantu menjaga mount ini tetap pribadi dan melindungi mount ini terhadap campur tangan pengguna. Sepertinya default yang cukup waras untuk sesuatu yang dilakukan tanpa /media/$user/direktori, akan memerlukan izin root.

Oli
sumber
2

Saya setuju dengan jawaban dan komentar lain di samping itu

root:rootterutama untuk menghindari dua situasi.
1. Risiko keamanan: Skrip hacker yang membuang / dev / nol ke / media / pengguna / yang mengisi partisi root dan karenanya tidak dapat masuk atau kinerja buruk.
2. Konflik dengan udisk2: Asumsikan partisi dengan cadangan label . Udang memasangnya @ / media / pengguna / cadangan. pengguna secara manual membuat direktori di atas yang akan memaksa udisk untuk mengubah mount point ke sesuatu seperti / media / user / backup1 dan dengan demikian disesatkan oleh skrip cadangan dll.

Prinz
sumber
2

Mentalitas Linux (dan * nix) secara umum didasarkan pada prinsip Least amount of necessary privileges.

Biasanya modern Desktop Environmentsakan memasang perangkat Anda di bawah /media/username/devicepartitionname. Ini berarti bahwa agar perangkat dapat digunakan, Anda hanya perlu memiliki devicepartitionnamefolder dan apa pun di bawahnya. Ini berarti bahwa folder Anda /media/usernamemasih dapat dimiliki oleh root, dan itu akan membuatnya lebih aman.

Juga memasang apa pun pada /media/usernameadalah ide yang buruk, karena itu akan membuat Anda DEmencoba untuk me-mount partisi ke folder di partisi mount lain yang dapat menyebabkan banyak !! MENYENANGKAN !! (juga kemungkinan hilangnya data).

Serigala
sumber
terima kasih atas jawaban yang sederhana tetapi tidak sederhana ... Saya telah menjelaskan di atas bahwa GnomeEncFS sedang dipasang untuk /media/username/someplacetidak /media/username... Anda secara khusus mengatakan itu harus dimiliki oleh root, akan root:usernamelebih baik daripada username:rootdalam kasus saya? atau apakah mereka berdua memperkenalkan masalah keamanan yang sama? (lihat pertanyaan ini untuk alasan mengapa saya harus tetap melakukannya askubuntu.com/questions/392063/... )
david.libremone
@ d3vid: Tergantung, dalam kasus kedua jika Anda tidak mengubah izin default, pengguna normal Anda tidak akan bisa menulis /media/user(karena itu 750) yang sedikit lebih baik daripada kasus pertama. Adapun pemasangan: secara historis, /mntdan subfoldernya dianggap sebagai titik pemasangan default untuk apa pun, /mediaitu hanya ditambahkan sehingga orang yang hanya ingin menggunakan kotak linux tanpa benar-benar memahami bagaimana hal-hal yang bekerja tidak akan bingung oleh semua folder aneh dan yang lainnya aktif /.
Wolfer
@ d3vid: Mengenai masalah keamanan: itu karena folder tempat Anda memiliki akses tulis dan menjalankan akses dapat digunakan oleh peretas / cracker / apa pun yang Anda ingin panggil dia untuk mengunggah binari yang kemudian dapat mereka gunakan untuk mendapatkan rootakses ke kotakmu. (Ini disebut hak istimewa eskalasi.) Meskipun Anda tidak seharusnya membuat sistem Anda dengan sengaja lebih tidak aman, ada tempat-tempat default yang memungkinkan hal yang sama (dan lebih tidak jelas sehingga mengurangi kemungkinan aktivitas peretas ditemukan). Jadi "masalah keamanan" dalam kasus ini dapat diabaikan tergantung pada pengaturan Anda.
Wolfer
1
@Wolfer - Saya telah memutar kembali ke versi jawaban Anda daripada tidak mengandung bahasa yang dianggap menyinggung. Mari kita mencoba untuk menjaga T&J sebersih mungkin dan berusaha untuk tidak menyebabkan pelanggaran. Terima kasih.
fossfreedom