izin 755 di / home / <user> /

14

Saya bertanya-tanya mengapa secara default direktori saya /home/<user>/memiliki izin yang ditetapkan 755. Ini memungkinkan pengguna lain untuk masuk ke direktori dan membaca file di rumah saya. Apakah ada alasan yang sah untuk ini?

Dapatkah saya mengatur izin 700untuk rumah saya dan semua sub direktori, misalnya:

chmod -R o-xw /home/<user>/ 
chmod -R g-xw /home/<user>/

tanpa merusak apapun?

Juga, apakah mungkin untuk mengatur izin di rumah saya, sehingga semua file baru yang dibuat akan memiliki 600dan direktori 700?

Martin Vegter
sumber
1
dalam standar RHEL / CentOS 5 adalah 700, tetapi di Ubuntu 755
Rahul Patil
2
Ini umum dalam pengaturan tertentu yang digunakan public_htmluntuk memungkinkan akses server web ke direktori. Meskipun sangat nyaman bagi pengguna, saya bukan penggemar beratnya.
Marco

Jawaban:

18

Jika direktori home Anda bersifat pribadi, maka tidak ada orang lain yang dapat mengakses file Anda. Untuk mengakses file, suatu proses harus memiliki izin untuk menjalankan semua direktori di jalur turun pohon dari direktori root. Misalnya, untuk memungkinkan pengguna lain untuk membaca /home/martin/public/readme, direktori /, /home, /home/martindan /home/martin/publicsemua kebutuhan untuk memiliki izin d??x??x??x(bisa drwxr-xr-x, atau drwx--x--xatau beberapa kombinasi lainnya), dan tambahan file readmeharus dibaca publik ( -r??r??r??).

Adalah umum untuk memiliki direktori home dengan mode drwxr-xr-x(755) atau setidaknya drwx--x--x(711). Mode 711 (hanya menjalankan izin) pada direktori memungkinkan orang lain untuk mengakses file di direktori itu jika mereka tahu namanya, tetapi tidak mencantumkan konten direktori. Di bawah direktori rumah itu, buat subdirektori publik dan pribadi sesuai keinginan.

Jika Anda tidak pernah ingin orang lain membaca file Anda, Anda dapat membuat direktori home Anda drwx------(700). Jika Anda melakukannya, Anda tidak perlu melindungi file Anda satu per satu. Ini tidak akan merusak apa pun selain kemampuan orang lain untuk membaca file Anda.

Satu hal umum yang mungkin pecah, karena itu adalah contoh orang lain yang membaca file Anda, adalah jika Anda memiliki direktori seperti ~/public_htmlatau ~/wwwyang berisi halaman web Anda. Bergantung pada konfigurasi server web, direktori ini mungkin perlu dibaca dunia.

Anda dapat mengubah izin default untuk file yang Anda buat dengan mengatur nilai umask di file Anda .profile. Umask adalah komplemen dari izin maksimal file. Nilai umum termasuk 022 (hanya dapat ditulis oleh pemilik, dapat dibaca dan dieksekusi oleh semua orang), 077 (hanya dapat diakses oleh pemilik), dan 002 (seperti 022, tetapi juga dapat ditulis kelompok). Ini adalah izin maksimal: aplikasi dapat menetapkan izin yang lebih ketat, misalnya sebagian besar file akhirnya tidak dapat dieksekusi karena aplikasi yang membuatnya tidak mengatur bit izin eksekusi saat membuat file.

Gilles 'SANGAT berhenti menjadi jahat'
sumber
Saya tidak menjalankan server web di mesin saya, jadi saya tidak perlu mengizinkan akses ke ~/public_html. Apakah ada program umum lain selain Apache, yang bisa memerlukan akses ke rumah saya? Bagaimana dengan postfix, misalnya.
Martin Vegter
1
@ Martin Poin bagus. Program email selalu berjalan sebagai pengguna Anda ketika mereka mengirim email, tetapi beberapa sistem harus .forwarddapat dibaca oleh sistem email yang berjalan sebagai pengguna sistem. Namun postfix baik-baik saja dengan pribadi .forward.
Gilles 'SANGAT berhenti menjadi jahat'
3

Jika Anda memeriksa di RHEL / CentOS 5.x, Izin default adalah 700, tetapi di Ubuntu adalah 755.

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.

Juga, apakah mungkin untuk mengatur izin di rumah saya, sehingga semua file baru yang dibuat akan memiliki 600 dan direktori 700?

Anda dapat mengatur umask 0077untuk itu

Ini akan bekerja seperti:

Izin default untuk direktori adalah 0777, jadi ketika Anda mengatur umask 0077maka direktori baru akan dibuat dengan izin (0777-0077) yaitu 0700seperti yang Anda inginkan.

Rahul Patil
sumber
apakah umaskberlaku untuk file juga? Tampaknya hanya berpengaruh ketika saya membuat direktori baru.
Martin Vegter
2
Ya ... Anda dapat memeriksa di shell Anda saat ini hanya mengatur umask 0077dan membuat file, dir dan memeriksa izinstat filename
Rahul Patil
3

Ya, ada alasan yang sangat sah. Perhatikan bahwa pengguna lain dapat membaca tetapi tidak menulis ke file Anda. Ini sangat berguna dalam jaringan profesional karena Anda dapat dengan mudah berbagi file dengan kolega Anda.

Misalnya, di lab tempat saya dulu bekerja, kami semua memiliki akses ke $HOMEdirektori masing-masing sehingga kami dapat dengan mudah berbagi data atau skrip kami satu sama lain. Jika teman saya Alice memiliki skrip yang bagus untuk melakukan X, saya hanya akan menjalankannya:

~alice/bin/scriptX.pl mydata

Seperti yang disebutkan orang lain, untuk mengubahnya, Anda perlu mengatur umask. Misalnya, untuk membuat file dan folder baru hanya dapat dibaca oleh Anda, tambahkan ini ke ~/.bashrc:

umask 0077
terdon
sumber
3
Sedikit tentang menggunakan skrip Alice's Perl sangat menakutkan. Salin skrip ke direktori home Anda, audit, dan kemudian gunakan salinan Anda.
AlexWebr
6
@AlexWebr pertama-tama, saya akan membacanya dulu, kedua Alice dalam hal ini adalah orang yang duduk di sebelah saya yang baru saja menulis naskah yang keren. Kita dapat berasumsi bahwa saya mempercayai mereka sama seperti saya terhadap pengembang mana pun yang pekerjaannya akan saya instal dan laksanakan secara membabi buta di mesin saya. Lebih dari kebanyakan sebenarnya. Selain itu, ini adalah laboratorium sehingga kami sering mengunduh beberapa GB genom dan itu adalah cara mudah untuk saling memberikan akses kepada mereka.
terdon
1

Anda perlu mengubah umask, untuk mengubah cara file baru dibuat di folder rumah Anda. Ini biasanya dilakukan dengan mengedit skrip startup shell Anda, ada gambaran yang cukup bagus di sini

Adapun untuk mengubah semua izin di folder rumah Anda ke 700, saya bertanya-tanya bagaimana hal itu akan mempengaruhi layanan yang berjalan di bawah akun layanan yang memerlukan info konfigurasi dari folder rumah Anda ... Anda mungkin akhirnya mencegah layanan ini membaca file konfigurasi yang mereka butuhkan .

Niall Byrne
sumber