Umask bertindak sebagai seperangkat izin yang aplikasi tidak dapat atur pada file. Ini adalah topeng pembuatan mode file untuk proses dan tidak dapat ditetapkan untuk direktori itu sendiri. Sebagian besar aplikasi tidak akan membuat file dengan mengeksekusi set izin, sehingga mereka akan memiliki default 666
, yang kemudian dimodifikasi oleh umask.
Karena Anda telah mengatur umask untuk menghapus bit baca / tulis untuk pemilik dan bit baca untuk yang lain, default seperti 777
dalam aplikasi akan menghasilkan hak akses file 133
. Ini berarti bahwa Anda (dan orang lain) dapat mengeksekusi file, dan orang lain akan dapat menulis ke sana.
Jika Anda ingin membuat file tidak dapat dibaca / ditulis / dieksekusi oleh siapa pun kecuali pemiliknya, Anda harus menggunakan umask seperti 077
untuk mematikan izin tersebut untuk grup & lainnya.
Sebaliknya, umask of 000
akan membuat direktori yang baru dibuat dapat dibaca, ditulis dan diturunkan untuk semua orang (izinnya akan 777
). Umask seperti itu sangat tidak aman dan Anda tidak boleh mengatur umask 000
.
Umask default pada Ubuntu adalah 022
yang berarti bahwa file yang baru dibuat dapat dibaca oleh semua orang, tetapi hanya dapat ditulis oleh pemilik:
user@computer:~$ touch new-file-name
user@computer:~$ ls -dl new-file-name
-rw-r--r-- 1 user user 0 Apr 1 19:15 new-file-name
Mulai di Ubuntu Oneiric (11.10), umask default telah dilonggarkan 002
, yang memperluas akses tulis ke grup pemilik:
user@computer:~$ touch new-file-name
user@computer:~$ ls -dl new-file-name
-rw-rw-r-- 1 user user 0 Apr 1 19:15 new-file-name
Melihat dan memodifikasi umask
Untuk melihat pengaturan umask Anda saat ini, buka terminal dan jalankan perintah:
umask
Untuk mengubah pengaturan umask dari shell saat ini ke sesuatu yang lain, katakan 077, jalankan:
umask 077
Untuk menguji apakah pengaturan ini berfungsi atau tidak, Anda dapat membuat file baru (izin file dari file yang sudah ada tidak akan terpengaruh) dan menampilkan informasi tentang file tersebut, jalankan:
user@computer:~$ touch new-file-name
user@computer:~$ ls -dl new-file-name
-rw------- 1 user user 0 Apr 1 19:14 new-file-name
Pengaturan umask diwarisi oleh proses yang dimulai dari shell yang sama. Misalnya, mulai editor teks GEdit dengan mengeksekusi gedit
di terminal dan menyimpan file menggunakan gedit. Anda akan melihat bahwa file yang baru dibuat dipengaruhi oleh pengaturan umask yang sama seperti di terminal.
Use case: sistem multi-pengguna
Jika Anda berada di sistem yang dibagikan oleh banyak pengguna, itu diinginkan agar orang lain tidak dapat membaca file di direktori home Anda. Untuk itu, umask sangat berguna. Edit ~/.profile
dan tambahkan baris baru dengan:
umask 007
Anda harus masuk kembali agar perubahan umask ini ~/.profile
berlaku. Selanjutnya, Anda perlu mengubah izin file yang ada file di direktori home Anda dengan menghapus bit baca, tulis, dan eksekusi untuk dunia. Buka terminal dan jalankan:
chmod -R o-rwx ~
Jika Anda ingin pengaturan umask ini diterapkan ke semua pengguna pada sistem, Anda dapat mengedit file profil seluruh sistem di /etc/profile
.
app_mode 666 rw- rw- rw-
umask 644 --0 -00 -00
file_mode 022 --- -w- -w-