Kerugian dari umask 077?

14

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?

K. Norbert
sumber
izin sepertinya lebih seperti 'umask' untuk tag ... imo
xenoterracide
Anda dapat memiliki hingga 5 tag untuk satu pertanyaan, jadi mengapa harus bertengkar? :) Menambahkan tag umask.
Warren Young
@warren karena saya tidak berpikir kita perlu tag untuk setiap kata benda yang tepat. ketika berbicara izin di unix Anda harus menyertakan umask.
xenoterracide

Jawaban:

15

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 saya sudodan ditantang untuk memecahkan banyak sudopengaturan, dan saya belum mengambil lebih dari 15 detik untuk melakukannya. Panggilanmu.

Mengetahui tentang umaskitu 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 menegakkannya umask. Itu hanya default. Dengan kata lain, itu tidak membelikanmu banyak.

jonesy
sumber
2

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 .

zarkdav
sumber
dan alasan yang terakhir adalah alasan yang baik untuk su -dan memastikan root memiliki umask yang berbeda ... tapi oh ... ubuntu tidak percaya pada root ...
xenoterracide
1
@ xenoterracide: 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.
David Thornley
@ xenoterracide eh? apa maksudmu baik sudo dan su memungkinkan root memiliki umask yang berbeda. @ David, Anda dapat menggunakan sudo -i, bukan sudo su -
zarkdav
1
@ xenoterracide: Sebenarnya menggunakan perintah root berarti saya cenderung mengetik sesuatu ke jendela yang salah. Menggunakan "sudo" berarti saya harus menentukan saya ingin ini dieksekusi oleh root. Saya tahu betul ada akun root, jadi saya tidak melihat dari mana rasa aman palsu itu berasal. Itu hanya satu ritual kecil lagi (seperti duduk di tangan saya) yang membuatnya lebih kecil kemungkinannya bahwa saya akan melakukan sesuatu yang bodoh sebagai root.
David Thornley
1
sudo dan su, adalah alat, seperti perintah apa pun. Tidak perlu mencampuradukkan perasaan dengan utilitas. sudo menghadirkan konfigurasi, audit, dan kegunaan yang fleksibel untuk su. Tentu saja orang perlu tahu tentang berbagai kemungkinan dan benar-benar membutuhkannya untuk mengenali manfaatnya. Saya pikir "rasa aman yang salah" yang Anda bicarakan ini seharusnya lebih tepat ditargetkan pada kebijakan "root account disable" Ubuntu. Itulah perbedaan antara alat dan kebijakan. Seseorang dapat membuat argumen yang bagus terhadap suatu kebijakan. Menyangkal kegunaan alat karena orang tidak setuju dengan suatu kebijakan jelas-jelas salah.
zarkdav
1

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.

Sqeaky
sumber
1

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 oraclepengguna 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+rXperintah bijaksana untuk direktori yang sesuai, semuanya baik-baik saja.

Memang, ini bisa dihindari dengan memperlakukan oracleakun 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.

.rpmdan .debpaket membawa informasi izin eksplisit untuk file apa pun yang dikandungnya, sehingga mereka umumnya tidak memiliki risiko kesalahan jenis ini.

telcoM
sumber
0

Saya memiliki baris ini di ~/.zshrc

umask 0077

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/.rcfile. sistem yang luas akan menyebabkan masalah.

xenoterracide
sumber
0

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.

pertama
sumber