Android

Perintah umask di linux

What is CHMOD | Complete Linux file permission tutorial

What is CHMOD | Complete Linux file permission tutorial

Daftar Isi:

Anonim

Pada sistem operasi Linux dan Unix, semua file baru dibuat dengan set izin default. Utilitas umask memungkinkan Anda untuk melihat atau mengatur 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.

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

  • pemilik file. anggota grup. semua orang lain.

Ada tiga jenis izin yang berlaku untuk setiap kelas:

  • izin baca. izin menulis. izin eksekusi.

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

Untuk melihat izin file, gunakan perintah ls :

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 tipe file yang dapat berupa file biasa ( - ), direktori ( d ), tautan simbolik ( l ) atau jenis file khusus lainnya.

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

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

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

Dalam contoh di atas ( rwxr-xr-x ) berarti bahwa pemilik telah membaca, menulis, dan mengeksekusi izin ( rwx ), grup dan yang lainnya telah membaca dan mengeksekusi izin.

Jika kami merepresentasikan izin file menggunakan notasi numerik, kami akan membuka nomor 755 :

  • Pemilik: rwx = 4+2+1 = 7 Grup: rx = 4+0+1 = 5 Lainnya: rx = 4+0+1 = 5

Ketika diwakili 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 kasus kami 755 sama dengan 0755 . Digit pertama dapat berupa kombinasi dari 4 untuk setuid , 2 untuk setgid dan 1 untuk Sticky Bit .

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

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 kepada pengguna, grup, dan lainnya. Linux tidak mengizinkan file dibuat dengan mengeksekusi izin.

Izin pembuatan default dapat dimodifikasi menggunakan utilitas umask .

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

Untuk melihat nilai mask saat ini, cukup ketik umask tanpa argumen apa pun:

umask

Output akan mencakup

022

Nilai umask berisi bit izin yang TIDAK akan ditetapkan 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 dari file baru kurangi nilai umask dari nilai default.

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

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

Anda juga dapat menampilkan nilai mask dalam notasi simbolis menggunakan opsi -S :

umask -S

u=rwx, g=rx, o=rx

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

Mengatur nilai mask

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

Sebelum melakukan perubahan pada nilai umask pastikan nilai baru tidak menimbulkan risiko keamanan potensial. Nilai yang tidak terlalu membatasi dibandingkan 022 harus digunakan dengan sangat hati-hati. Misalnya umask 000 berarti bahwa siapa pun akan membaca, menulis, dan mengeksekusi izin untuk semua file yang baru dibuat.

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

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

Nilai 777-750 = 027 : 777-750 = 027

Nilai umask diinginkan terwakili dalam notasi numerik adalah 027 .

Untuk secara permanen mengatur seluruh sistem nilai yang baru, buka file /etc/profile 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 perintah atau logout source berikut dan masuk:

source /etc/profile

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

mkdir newdir touch newfile

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 simbolik. Misalnya umask u=rwx, g=rx, o= sama dengan umask 027 .

Kesimpulan

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

Untuk informasi lebih lanjut ketikkan man umask di terminal Anda.

terminal umask