Mengapa pengguna lain dapat melihat file di folder rumah saya?

36

Saya baru saja menambahkan "pengguna desktop" yang baru dan kurang mampu, dan saya terkejut menemukan bahwa ia dapat melihat file-file di folder rumah saya.

Apa yang rasional untuk mengatur izin longgar seperti itu?

ændrük
sumber
Terkait: unix.stackexchange.com/a/315197/85039
Sergiy Kolodyazhnyy

Jawaban:

32

Sebuah Publicfolder ada di direktori Home Anda ( /home/user) untuk berbagi file dengan pengguna lain. Jika pengguna lain ingin mendapatkan akses ke Publicfolder ini , bit eksekusi untuk dunia harus ditetapkan pada direktori Home.

Jika Anda tidak perlu mengizinkan orang lain mengakses folder rumah Anda (manusia lain atau pengguna seperti www-datauntuk server web), Anda akan baik-baik saja dengan chmod o-rwx "$HOME"(hapus baca / tulis / jalankan dari "lain", setara dengan chmod 750 "$HOME"karena izin default adalah 750 ). Jika tidak, Anda harus mengubah umaskpengaturan juga untuk mencegah file yang baru dibuat dari mendapatkan izin baca untuk dunia secara default.

Untuk konfigurasi seluruh sistem, edit /etc/profile; pengaturan per-pengguna dapat dikonfigurasi dalam ~/.profile. Saya lebih suka kebijakan yang sama untuk semua pengguna, jadi saya akan mengedit /etc/profilefile dan menambahkan baris:

umask 027

Anda harus masuk kembali untuk menerapkan perubahan ini, kecuali jika Anda berada di shell. Jika demikian, Anda dapat menjalankannya umask 027di shell.

Sekarang untuk memperbaiki izin yang ada, Anda harus menghapus izin baca / tulis / eksekusi dari yang lain:

chmod -R o-rwx ~

Sekarang jika Anda memutuskan untuk membagikan ~/Publicfolder kepada semua orang, jalankan perintah berikut:

  • chmod o+x ~- izinkan setiap orang turun di direktori ( x), tetapi tidak mendapatkan daftar direktori ( rtidak boleh ditambahkan)
  • find ~/Public -type f -exec chmod o+r {} \; - izinkan semua orang untuk membaca file di ~/Public
  • find ~/Public -type d -exec chmod o+rx {} \; - memungkinkan semua orang untuk turun ke direktori dan daftar isinya

Jika Anda menggunakan GNU coreutils (mis. Pada Ubuntu, bukan pada sistem embedded yang hanya memiliki busybox), maka dua perintah sebelumnya menggunakan finddan chmoddapat diganti dengan perintah tunggal ini yang secara rekursif membuat folder dan file dapat dibaca (dan juga menambahkan eksekusi (turun) bit hanya untuk direktori ):

chmod -R o+rX ~/Public
Lekensteyn
sumber
13

Menurut anggota staf Ubuntuforms.org , hal ini untuk memudahkan berbagi file antara pengguna baru.

Anda dapat mengubah izin menjadi 700 atau 750 jika Anda tidak ingin file dapat dibaca dan dieksekusi oleh orang lain.

Perintah adalah:

chmod 750 $HOME

Catatan: Default Ubuntu adalah 755

Jason Iverson
sumber
2
Tentu saja pengguna lain tidak boleh menjadi sudoer .
Pablo A
7

Menurut Mark Shuttleworth ,

"Mayoritas pengguna sistem Ubuntu memiliki penggunaan mesin (laptop pribadi) secara eksklusif atau berbagi dengan teman dan kerabat. Kami berasumsi bahwa orang-orang yang berbagi mesin dipercaya, atau dalam posisi meretas mesin (boot dari USB!) sepele. Akibatnya, ada sedikit atau tidak ada manfaat "

... dari menghapus izin tersebut.

ignis
sumber
12
Saya pikir memiliki perilaku yang sama di edisi Server adalah lubang keamanan
warvariuc
4
Itu penjelasan yang gila. Selain akun orang, ada akun teknis yang dapat digunakan orang untuk mengisolasi aplikasi. Selain itu ada banyak instruksi tentang cara mengatur server ftp lokal yang pada dasarnya membagikan akun pada mesin.
Barafu Albino
4
Saya tahu ini adalah utas lama, tetapi menganggap ini sebagai keputusan bodoh. Bayangkan salah satu pengguna menjalankan aplikasi / skrip (dapat secara tidak sengaja) yang dapat membaca dan mengirim file dari profil lain mana pun.
mauron85
5

Anda dapat membaca bagian Manajemen Pengguna pada Panduan Server Ubuntu yang mencakup perincian yang diperlukan. The Profil Pengguna Keamanan ayat mungkin akan menjawab pertanyaan Anda - resmi.

Pavlos G.
sumber
4
Saya menghargai sumber resmi. Sayangnya, itu tidak terlihat seperti memberikan pembenaran.
ændrük
1

Saya pikir jawaban Lekensteyn dapat ditingkatkan dengan mengganti dua perintah find terakhir dengan chmod menggunakan opsi -X (perhatikan ibukota X). Dua perintah find dapat diganti dengan

chmod -R o+rX ~/Public

Ini membedakan secara tepat antara file dan direktori, tetapi memang memiliki efek tambahan yang memungkinkan orang lain untuk menjalankan file yang dapat dieksekusi.

putar
sumber
0

Karena privasi yang menarik minat Anda (dilihat dari tag yang diterapkan), sangat mungkin pengaturan izin tidak mencukupi (lihat jawaban ignis ). Jawabannya mungkin berupa sesuatu di sepanjang baris direktori home terenkripsi . Solusi ini dirancang khusus untuk melawan serangan oleh pengguna komputer lainnya. Tentu saja, itu tidak akan dapat menghentikan pengguna lain dari merusak file Anda (hanya dengan menghapus ~/.Privatedirektori, sehingga menghapus semua file Anda), tetapi mereka tidak akan dapat me-mount direktori dan melihat file tanpa kata sandi Anda.

Cara termudah untuk mencapai itu adalah selama proses instalasi, ada kotak centang, yang menyatakan "Enkripsi direktori rumah Anda" dan Anda harus memilih itu.

Karena tidak mungkin Anda ingin menginstal ulang hanya untuk itu (dan karena masih membawa semua risiko yang diperlukan untuk melakukannya tanpa menginstal ulang), Anda dapat melakukan hal berikut:

sudo apt-get install encryptfs-utils
encryptfs-migrate-home
v010dya
sumber
-1

Jika Anda benar-benar membutuhkan tingkat keamanan yang tinggi: silakan instal ulang dan pastikan untuk memilih opsi untuk mengenkripsi seluruh disk Anda. Ini akan membutuhkan frasa sandi untuk memulai mesin. Anda tentu saja juga dapat mengenkripsi folder rumah Anda sekali lagi di atas ini, dengan beberapa penurunan kinerja; meskipun tidak terlihat untuk penggunaan normal.

Harap dicatat, bahwa mengenkripsi folder beranda Anda akan menonaktifkan aplikasi seperti Dropbox. Dropbox bukanlah penyimpanan aman yang menghormati privasi, sehingga mungkin menjadi basi. Namun, jika Anda memang membutuhkan penyimpanan yang aman dan pribadi di cloud, saya pribadi akan merekomendasikan MEGAsync karena hanya Anda yang memiliki kunci untuk mengakses data.

SLS
sumber