GNU/Linux >> Belajar Linux >  >> Linux

Perintah Umask di Linux

Pada sistem operasi Linux dan Unix, semua file baru dibuat dengan serangkaian izin default. umask utilitas memungkinkan Anda untuk melihat atau menyetel topeng pembuatan mode file, yang menentukan bit izin untuk file atau direktori yang baru dibuat.

Ini digunakan oleh mkdir, touch, tee, dan perintah lain yang membuat file dan direktori baru.

Izin Linux #

Sebelum melangkah lebih jauh, mari kita jelaskan model izin Linux secara singkat.

Di Linux, setiap file dikaitkan dengan pemilik dan grup dan diberikan dengan hak akses izin untuk tiga kelas pengguna yang berbeda:

  • Pemilik file.
  • Anggota grup.
  • Semua orang.

Ada tiga jenis izin yang berlaku untuk setiap kelas:

  • Izin membaca.
  • Izin menulis.
  • Izin eksekusi.

Konsep ini memungkinkan Anda untuk menentukan pengguna mana yang diizinkan untuk membaca file, menulis ke file, atau mengeksekusi file.

Untuk melihat izin file, gunakan ls perintah:

ls -l dirname
drwxr-xr-x 12 linuxize users 4.0K Apr  8 20:51 dirname
|[-][-][-]    [------] [---]
| |  |  |        |       |       
| |  |  |        |       +-----------> Group
| |  |  |        +-------------------> Owner
| |  |  +----------------------------> Others Permissions
| |  +-------------------------------> Group Permissions
| +----------------------------------> Owner Permissions
+------------------------------------> File Type

Karakter pertama mewakili jenis file yang dapat berupa file biasa (- ), sebuah direktori (d ), tautan simbolis(l ), atau jenis file khusus lainnya.

Sembilan karakter berikutnya mewakili izin, tiga set masing-masing tiga karakter. Set pertama menunjukkan izin pemilik, yang kedua izin grup, dan set terakhir menunjukkan izin orang lain.

Karakter r dengan nilai oktal 4 singkatan dari read, w dengan nilai oktal 2 untuk menulis, x dengan nilai oktal 1 untuk menjalankan izin, dan (- ) dengan nilai oktal 0 tanpa izin.

Ada juga tiga jenis izin file khusus lainnya:setuid , setgid, dan Sticky Bit .

Pada contoh di atas (rwxr-xr-x ) berarti pemilik telah membaca, menulis, dan menjalankan izin (rwx ), grup dan lainnya telah membaca dan menjalankan izin.

Jika kita merepresentasikan hak akses file menggunakan notasi numerik, kita akan mendapatkan angka 755 :

  • Pemilik:rwx =4+2+1 = 7
  • Grup:r-x =4+0+1 = 5
  • Lainnya:r-x =4+0+1 = 5

Saat direpresentasikan dalam notasi numerik, izin dapat memiliki tiga atau empat digit oktal (0-7). Digit pertama mewakili izin khusus, dan jika dihilangkan, berarti tidak ada izin khusus yang ditetapkan pada file. Dalam contoh kita 755 sama dengan 0755 . Digit pertama dapat berupa kombinasi 4 untuk setuid , 2 untuk setgid , dan 1 untuk Sticky Bit .

Izin file dapat diubah menggunakan chmod perintah dan kepemilikan menggunakan chown perintah.

Memahami umask #

Secara default, pada sistem Linux, izin pembuatan default adalah 666 untuk file, yang memberikan izin baca dan tulis kepada pengguna, grup, dan lainnya, dan ke 777 untuk direktori, yang berarti membaca, menulis, dan mengeksekusi izin ke pengguna, grup, dan lainnya. Linux tidak mengizinkan file dibuat dengan izin eksekusi.

Izin pembuatan default dapat dimodifikasi menggunakan umask utilitas.

umask hanya mempengaruhi lingkungan shell saat ini. Pada sebagian besar distribusi Linux, nilai umask seluruh sistem default diatur di pam_umask.so atau /etc/profile berkas.

Jika Anda ingin menentukan nilai yang berbeda pada basis per pengguna, edit file konfigurasi shell pengguna seperti ~/.bashrc atau ~/.zshrc . Anda juga dapat mengubah sesi saat ini umask nilai dengan menjalankan umask diikuti dengan nilai yang diinginkan.

Untuk melihat nilai topeng saat ini, cukup ketik umask tanpa argumen:

umask

Outputnya akan menyertakan

022

umask value berisi bit izin yang TIDAK diatur pada file dan direktori yang baru dibuat.

Seperti yang telah kami sebutkan, izin pembuatan default untuk file adalah 666 dan untuk direktori 777 . Untuk menghitung bit izin file baru, kurangi nilai umask dari nilai default.

Misalnya, untuk menghitung bagaimana umask 022 akan mempengaruhi file dan direktori yang baru dibuat, gunakan:

  • File:666 - 022 = 644 . Pemilik dapat membaca dan memodifikasi file. Grup dan orang lain hanya dapat membaca file.
  • Direktori:777 - 022 = 755 .Pemilik dapat cd ke dalam direktori, dan daftar, membaca, memodifikasi, membuat atau menghapus file dalam direktori. Grup dan lainnya dapat cd ke dalam direktori dan daftar dan baca file.

Anda juga dapat menampilkan nilai topeng dalam notasi simbolis menggunakan -S pilihan:

umask -S
u=rwx,g=rx,o=rx

Tidak seperti notasi numerik, nilai notasi simbolik berisi bit izin yang akan ditetapkan pada file dan direktori yang baru dibuat.

Menyetel Nilai Mask #

Masker pembuatan file dapat diatur menggunakan notasi oktal atau simbolis. Untuk membuat perubahan permanen, setel umask baru nilai dalam file konfigurasi global seperti /etc/profile file yang akan memengaruhi semua pengguna atau di file konfigurasi shell pengguna seperti ~/.profile , ~/.bashrc atau ~/.zshrc , yang hanya akan memengaruhi pengguna. File pengguna lebih diutamakan daripada file global.

Sebelum melakukan perubahan pada umask nilai, pastikan nilai baru tidak menimbulkan potensi risiko keamanan. Nilai kurang membatasi dari 022 harus digunakan dengan sangat hati-hati. Misalnya, umask 000 berarti siapa pun telah membaca, menulis, dan menjalankan izin pada semua file yang baru dibuat.

Katakanlah kita ingin menetapkan izin yang lebih ketat untuk file dan direktori yang baru dibuat sehingga orang lain tidak dapat cd ke direktori dan membaca file. Izin yang kami inginkan adalah 750 untuk direktori dan 640 untuk file.

Untuk menghitung umask nilai, cukup kurangi izin yang diinginkan dari izin default:

Nilai Umask:777-750 = 027

umask yang diinginkan nilai yang direpresentasikan dalam notasi numerik adalah 027 .

Untuk menetapkan nilai baru di seluruh sistem secara permanen, buka /etc/profile file dengan editor teks Anda:

sudo nano /etc/profile

dan ubah atau tambahkan baris berikut di awal file:

/etc/profile
umask 027

Agar perubahan diterapkan, jalankan source berikut perintah atau logout dan login:

source /etc/profile

Untuk memverifikasi pengaturan baru, kami akan membuat satu file dan direktori baru menggunakan mkdir dan touch :

mkdir newdirtouch newfile

Jika Anda memeriksa izin menggunakan ls perintah, Anda akan melihat bahwa file baru memiliki 640 dan direktori baru 750 izin, seperti yang kami inginkan:

drwxr-x--- 2 linuxize users 4096 Jul  4 18:14  newdir
-rw-r----- 1 linuxize users    0 Jul  4 18:14  newfile

Cara lain untuk mengatur topeng pembuatan file adalah dengan menggunakan notasi simbolis. Misalnya umask u=rwx,g=rx,o= sama dengan umask 027 .

Kesimpulan #

Dalam panduan ini, kami telah menjelaskan izin Linux dan cara menggunakan umask perintah untuk mengatur bit izin untuk file atau direktori yang baru dibuat.

Untuk informasi lebih lanjut, ketik man umask di terminal Anda.

Jika Anda memiliki pertanyaan, silakan tinggalkan komentar di bawah.


Linux
  1. Apa itu Umask di Linux?

  2. Perintah mv Linux

  3. Linux du perintah

  1. Perintah ip Linux

  2. Perintah cd Linux

  3. umask:perintah tidak ditemukan

  1. Perintah ifconfig Linux

  2. Perintah Waktu Linux

  3. Perintah Ping di Linux