Saya baru saja meningkatkan ke Snow Leopard. Saya telah memperhatikan bahwa beberapa file yang ditulis oleh MacPorts diinstal dengan izin yang salah - mereka ditulis dengan umask 0077. Saya pikir saya telah mempersempit masalahnya:
- The
port
perintah dipanggil melaluisudo
. .bashrc
File saya menentukan umask dari 0077.- Pada versi OS X yang lebih lama (10,5 dan di bawah), sudo menggunakan umask dari pengguna root (yang adalah 0022); namun, sekarang menggunakan umask saya di 0077.
Apakah ada cara untuk tetap sudo
menggunakan perilaku lama? Sekarang, itu semacam menjengkelkan karena saya harus menggunakan sudo
untuk menjalankan perintah sederhana seperti port installed
, port outdated
, dll
(Masalahnya dijelaskan lebih rinci dalam tiket MacPorts ini .)
Edit
Saya menemukan umask
opsi untuk sudo, dan /etc/sudoers
saya menambahkan baris berikut:
Defaults umask=0022
Namun, ini tidak berfungsi seperti yang diinginkan, karena sesungguhnya umask digunakan oleh sudo
adalah persatuan dari topeng pengguna dengan topeng default ini. Untuk mengesampingkan perilaku sudo
umask dan menggunakan default secara langsung (yaitu, bukan gabungan dari pengguna dan sudo mask default), seseorang dapat menambahkan yang berikut ini:
Defaults umask_override
Saya akhirnya menambahkan yang berikut ini ke
.bashrc
skrip konfigurasi saya :sumber
bagaimana tentang:
sumber
Dengan .bashrc Anda
sumber
sudo
sebenarnya bukan sumber (kembali).bashrc
, tetapi mewarisi pengaturan saat ini dari pengguna yang memanggil sudo.Sebagai catatan: versi sudo saat ini sebagai opsi baru 'umask_override', yang akan mencegah penggabungan umask, sehingga Anda juga dapat menurunkan umask. Sayangnya, Mac OS X 10.6.6 tampaknya tidak mendukung versi sudo ini ...
sumber