Android

Perintah Umask di linux

Linux umask Command to Set Default Permissions

Linux umask Command to Set Default Permissions

Isi kandungan:

Anonim

Pada sistem operasi Linux dan Unix, semua fail baru dicipta dengan set kebenaran kebenaran. Utiliti umask membolehkan anda melihat atau menetapkan topeng penciptaan mod fail, yang menentukan bit keizinan untuk fail atau direktori yang baru dibuat.

Ia digunakan oleh mkdir, sentuhan, tee dan arahan lain yang mencipta fail dan direktori baru.

Kebenaran Linux

Sebelum pergi lebih jauh, mari kita jelaskan model kebenaran Linux.

Di Linux, setiap fail dikaitkan dengan pemilik dan kumpulan dan diberikan hak akses kebenaran untuk tiga kelas pengguna yang berbeza:

  • ahli file owner.the ahli kumpulan. orang lain.

Terdapat tiga jenis kebenaran yang digunakan untuk setiap kelas:

  • izin baca. dia menulis kebenaran.

Konsep ini membolehkan anda menentukan pengguna mana yang dibenarkan untuk membaca fail, menulis ke fail, atau melaksanakan fail.

Untuk melihat keizinan fail, gunakan arahan 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

Watak pertama mewakili jenis fail yang boleh menjadi fail biasa ( - ), direktori ( d ), pautan simbolik ( l ) atau sebarang jenis fail khas yang lain.

Sembilan huruf seterusnya mewakili kebenaran, tiga set tiga huruf setiap satu. Set pertama menunjukkan keizinan pemilik, keizinan kumpulan kedua, dan set terakhir menunjukkan keizinan semua orang.

Karakter r dengan nilai oktal 4 bermaksud bacaan, dengan nilai oktal 2 untuk menulis, x dengan nilai oktal 1 untuk melaksanakan kebenaran dan ( - ) dengan nilai oktal 0 untuk tiada kebenaran.

Terdapat juga tiga jenis kebenaran fail khas: setuid , setgid dan Sticky Bit .

Dalam contoh di atas ( rwxr-xr-x ) bermakna pemilik telah membaca, menulis dan melaksanakan kebenaran ( rwx ), kumpulan dan yang lain telah membaca dan melaksanakan kebenaran.

Jika kami mewakili kebenaran fail menggunakan notasi angka kami akan tampil ke nombor 755 :

  • Pemilik: rwx = 4+2+1 = 7 Kumpulan: rx = 4+0+1 = 5 Lain-lain: rx = 4+0+1 = 5

Apabila diwakili dalam notasi nombor, keizinan boleh mempunyai tiga atau empat angka oktal (0-7). Nombor pertama mewakili keizinan khas jika ia ditinggalkan bermakna tiada keizinan khusus ditetapkan pada fail. Dalam kes kita 755 adalah sama dengan 0755 . Nombor pertama boleh menjadi gabungan 4 untuk setuid , 2 untuk setgid dan 1 untuk Sticky Bit .

Kebenaran fail boleh diubah menggunakan perintah chmod dan pemilikan menggunakan perintah chown .

Memahami umask

Secara kebiasaannya, pada sistem Linux, keizinan penciptaan lalai adalah 666 untuk fail, yang memberikan kebenaran membaca dan menulis kepada pengguna, kumpulan, dan lain-lain, dan 777 untuk direktori, yang bermaksud membaca, menulis dan melaksanakan kebenaran kepada pengguna, kumpulan, dan lain-lain. Linux tidak membenarkan fail dibuat dengan melaksanakan kebenaran.

Keizinan penciptaan lalai boleh diubah suai menggunakan utiliti umask .

umask hanya mempengaruhi persekitaran shell semasa. Pada kebanyakan pengedaran Linux nilai umask seluruh sistem lalai ditetapkan dalam pam_umask.so atau /etc/profile .

Untuk melihat nilai masker semasa, hanya taipkan umask tanpa sebarang hujah:

umask

Output akan termasuk

022

Nilai umask mengandungi bit kebenaran yang TIDAK akan ditetapkan pada fail dan direktori yang baru dibuat.

Seperti yang telah disebutkan sebelumnya, keizinan penciptaan lalai untuk fail adalah 666 dan untuk direktori 777 . Untuk mengira bit kebenaran fail baru tolak nilai umask dari nilai lalai.

Sebagai contoh, untuk mengira bagaimana uname 022 akan menjejaskan fail dan direktori yang baru dibuat, gunakan:

  • Fail: 666 - 022 = 644 . Pemilik boleh membaca dan mengubah suai fail tersebut. Kumpulan dan lain-lain hanya boleh membaca files.Directories: 777 - 022 = 755 Pemilik boleh cd ke direktori dan senarai membaca, mengubah suai, membuat atau memadam fail dalam direktori. Kumpulan dan lain-lain boleh cd ke direktori dan senarai dan membaca fail.

Anda juga boleh memaparkan nilai masker dalam nota simbol menggunakan pilihan -S :

umask -S

u=rwx, g=rx, o=rx

Tidak seperti notasi angka, nilai notasi simbol mengandungi bit kebenaran yang akan ditetapkan pada fail dan direktori yang baru dibuat.

Menetapkan nilai masker

Topeng penciptaan fail boleh ditetapkan menggunakan nota oktal atau simbolik. Untuk membuat perubahan secara kekal menetapkan nilai umask baru dalam fail konfigurasi global seperti fail /etc/profile yang akan memberi kesan kepada semua pengguna atau dalam fail konfigurasi shell user seperti ~/.profile , ~/.bashrc atau ~/.zshrc yang akan memberi kesan kepada pengguna sahaja. Fail pengguna mempunyai keutamaan di atas fail global.

Sebelum membuat perubahan kepada nilai umask pastikan nilai baru tidak menimbulkan potensi risiko keselamatan. Nilai kurang ketat daripada 022 harus digunakan dengan berhati-hati. Sebagai contoh umask 000 bermakna sesiapa sahaja akan membaca, menulis, dan melaksanakan kebenaran pada semua fail yang baru dibuat.

Katakan kita ingin menetapkan keizinan yang lebih ketat untuk fail dan direktori yang baru dibuat supaya orang lain tidak dapat cd ke direktori dan membaca fail. Perizinan yang kami mahu ialah 750 untuk direktori dan 640 untuk fail.

Untuk mengira nilai umask hanya tolak keizinan yang diingini dari yang lalai:

Nilai Umask: 777-750 = 027

Nilai umask dikehendaki dalam notasi angka adalah 027 .

Untuk menetap secara keseluruhan sistem nilai secara keseluruhan buka fail /etc/profile dengan editor teks anda:

sudo nano /etc/profile

dan ubah atau tambah baris berikut pada permulaan fail:

/ etc / profile

umask 027

Untuk perubahan berkuat kuasa jalankan arahan source atau log keluar berikut dan log masuk:

source /etc/profile

Untuk mengesahkan tetapan baru kami akan membuat satu fail 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 menetapkan topeng penciptaan fail adalah dengan menggunakan nota simbolik. Contohnya umask u=rwx, g=rx, o= sama dengan umask 027 .

Kesimpulannya

Dalam panduan ini, kami telah menjelaskan kebenaran Linux dan cara menggunakan arahan umask untuk menetapkan bit kebenaran untuk fail atau direktori yang baru dibuat.

Untuk maklumat lanjut, taipkan man umask di terminal anda.

terminal umask