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 700
untuk 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 600
dan direktori 700
?
permissions
files
chmod
Martin Vegter
sumber
sumber
public_html
untuk memungkinkan akses server web ke direktori. Meskipun sangat nyaman bagi pengguna, saya bukan penggemar beratnya.Jawaban:
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/martin
dan/home/martin/public
semua kebutuhan untuk memiliki izind??x??x??x
(bisadrwxr-xr-x
, ataudrwx--x--x
atau beberapa kombinasi lainnya), dan tambahan filereadme
harus dibaca publik (-r??r??r??
).Adalah umum untuk memiliki direktori home dengan mode
drwxr-xr-x
(755) atau setidaknyadrwx--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_html
atau~/www
yang 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.sumber
~/public_html
. Apakah ada program umum lain selain Apache, yang bisa memerlukan akses ke rumah saya? Bagaimana denganpostfix
, misalnya..forward
dapat dibaca oleh sistem email yang berjalan sebagai pengguna sistem. Namun postfix baik-baik saja dengan pribadi.forward
.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.
Anda dapat mengatur
umask 0077
untuk ituIni akan bekerja seperti:
Izin default untuk direktori adalah
0777
, jadi ketika Anda mengatur umask0077
maka direktori baru akan dibuat dengan izin(0777-0077)
yaitu0700
seperti yang Anda inginkan.sumber
umask
berlaku untuk file juga? Tampaknya hanya berpengaruh ketika saya membuat direktori baru.umask 0077
dan membuat file, dir dan memeriksa izinstat filename
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
$HOME
direktori 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: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
:sumber
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 .
sumber