Apa kontra, karena memiliki umask terbatas 077? Banyak distro (saya percaya semua, kecuali Red Hat?) Memiliki umask default 022, dikonfigurasi di / etc / profile. Tampaknya ini terlalu tidak aman untuk sistem non-desktop, yang diakses banyak pengguna, dan keamanan menjadi perhatian.
Pada catatan terkait, di Ubuntu, direktori home pengguna juga dibuat dengan 755 izin, dan installer menyatakan bahwa ini untuk memudahkan pengguna untuk berbagi file. Dengan asumsi bahwa pengguna merasa nyaman mengatur izin dengan tangan untuk membuat file dibagikan, ini bukan masalah.
Kerugian lain apa yang ada?
linux
permissions
umask
K. Norbert
sumber
sumber
Jawaban:
022 membuat segalanya nyaman. 077 membuat segala sesuatunya menjadi tidak nyaman, tetapi tergantung pada keadaan dan profil penggunaan, itu mungkin tidak lebih nyaman daripada harus digunakan
sudo
.Saya berpendapat bahwa, seperti
sudo
, manfaat keamanan aktual dan terukur yang Anda peroleh dari hal ini dapat diabaikan dibandingkan dengan tingkat rasa sakit yang Anda timbulkan pada diri sendiri dan pengguna Anda. Sebagai seorang konsultan, saya telah dihina untuk pandangan sayasudo
dan ditantang untuk memecahkan banyaksudo
pengaturan, dan saya belum mengambil lebih dari 15 detik untuk melakukannya. Panggilanmu.Mengetahui tentang
umask
itu baik, tapi itu hanya satu Serpihan Jagung di "sarapan lengkap". Mungkin Anda harus bertanya pada diri sendiri "Sebelum saya pergi bercinta dengan konfigurasi default, konsistensi yang perlu dipertahankan di seluruh instalasi, dan yang perlu didokumentasikan dan dibenarkan untuk orang-orang yang tidak bodoh, apa ini akan membeli saya?"Umask juga merupakan bash built-in yang dapat diatur oleh pengguna individu dalam file inisialisasi shell mereka (
~/.bash*
), sehingga Anda tidak benar-benar dapat dengan mudah menegakkannyaumask
. Itu hanya default. Dengan kata lain, itu tidak membelikanmu banyak.sumber
Kelemahan yang paling jelas adalah ketika Anda mulai membuat file / direktori di direktori bersama, mengharapkan pengguna lain untuk mengaksesnya.
Tentu saja, itu hanya masalah tidak lupa untuk mengatur umask yang benar sebelum melakukan hal-hal yang perlu dibagikan oleh semua pengguna.
Peringatan lain (bukan benar-benar kelemahan, setelah Anda menyadarinya) adalah ketika Anda mulai melakukan hal-hal sudo seperti menginstal program lokal, permata ruby, telur python (bukan OS mengelola paket jelas), membuat file konfigurasi, dan sebagainya.
Anda akan mendapat masalah karena umask diwarisi oleh sesi sudo, jadi hanya root yang dapat mengakses file / dir yang Anda buat. sudo dapat dikonfigurasi untuk secara otomatis mengatur umask seperti yang Anda inginkan: pertanyaan ini tercakup di superuser.com .
sumber
su -
dan memastikan root memiliki umask yang berbeda ... tapi oh ... ubuntu tidak percaya pada root ...sudo su -
berfungsi dengan baik. Ubuntu, seperti MacOSX, tidak percaya pada root yang bisa Anda masuki. Secara pribadi, saya suka harus mengatakan sesuatu seperti "Simon Says" untuk perintah root sebagian besar waktu.Umask tidak akan sesuai jika Anda mencoba untuk mengontrol apa yang dapat dilihat pengguna lain dari satu sama lain. Namun, jika Anda memiliki dan bekerja dengan banyak file yang peka sampai-sampai meminta izin untuk mengaksesnya tidak terlalu menyusahkan / berisiko daripada hanya membiarkan orang melihat apa pun yang mereka inginkan, daripada umask 077 adalah ide yang bagus.
Saya memiliki beberapa file sensitif pada server file yang saya kelola. Saya pikir menetapkan umask terbatas kemudian memiliki skrip berkala, mungkin tugas cron untuk mengatur izin yang lebih spesifik untuk item dalam folder tertentu akan menjadi solusi ideal bagi saya. Ketika saya mengatur ini, saya akan memposting kembali di sini, dan memberi tahu Anda cara kerjanya.
@ [Cowok bashing sudo] Mulai utas baru untuk itu, bisa butuh beberapa utas sendiri dan utas ini tentang umask.
sumber
Aplikasi pihak ketiga yang menggunakan sistem instalasi mereka sendiri mungkin memiliki asumsi bawaan tentang umask default sistem.
Sebagai contoh praktis, setelah memperbarui database Oracle 10 pada sistem yang memiliki umask diatur ke 077, aplikasi pada sistem yang sama gagal mengakses database ... karena perpustakaan penting untuk klien database, dan direktori perpustakaan terletak di, sekarang dilindungi sehingga hanya
oracle
pengguna yang dapat mengaksesnya, yang jelas bukan bagaimana segala sesuatu seharusnya berfungsi.Ternyata proses Oracle updater tidak secara khusus berhati-hati bahwa izin pustaka klien akan memungkinkan pengguna lain untuk menggunakannya, tetapi sebaliknya bergantung pada asumsi bahwa file yang ditambahkan oleh pembaru akan dibuat dengan umask 022 dan dapat digunakan secara default. Setelah beberapa
chmod -R a+rX
perintah bijaksana untuk direktori yang sesuai, semuanya baik-baik saja.Memang, ini bisa dihindari dengan memperlakukan
oracle
akun sebagai akun sistem khusus dengan umask standar 022, dan membatasi umask 077 hanya untuk akun pengguna yang benar-benar bisa masuk saja ... tapi saya pikir ini adalah contoh yang bagus tentang bagaimana selimut "pengerasan" "Keputusan dapat memiliki efek samping yang tidak terduga..rpm
dan.deb
paket membawa informasi izin eksplisit untuk file apa pun yang dikandungnya, sehingga mereka umumnya tidak memiliki risiko kesalahan jenis ini.sumber
Saya memiliki baris ini di
~/.zshrc
mengaturnya secara global mungkin bukan ide yang baik, tetapi menetapkannya sebagai default di file rc Anda mungkin tidak akan sakit atau bahkan mengaturnya sebagai default dalam
/etc/skel/.rc
file. sistem yang luas akan menyebabkan masalah.sumber
Ini akan menyebabkan masalah pada server; misalnya, ketika menjalankan beberapa aplikasi sebagai pengguna yang berbeda mencoba mengakses file dari pengguna yang berbeda. Seperti apache membaca file config atau membaca pi-hole dnsmasq.conf. Jalankan saja pada pengguna yang dapat mengambil manfaat darinya seperti direktori home individual, tidak ditetapkan secara eksplisit
/etc/profile
.sumber