GNU/Linux >> Belajar Linux >  >> Linux

Cara Mengubah Izin di Linux

Di Linux dan Unix, keamanan dimulai dengan izin file. Pada tingkat yang sangat dasar, izin file dan direktori memainkan peran penting dalam keamanan sistem. Saat Anda membuat file atau direktori di sistem Linux, itu datang dengan izin default.

Izin file diterapkan pada tiga tingkat:owner , group members dan others . Perintah chmod digunakan di Linux untuk mengubah izin ini.

Dalam tutorial ini, kita akan membahas cara mengubah hak akses file di Linux menggunakan perintah chmod.

1) Ubah izin menggunakan metode Numerik (oktal)

Izin (mode akses) dapat diubah dengan perintah chmod dengan menggunakan beberapa operator (-, + atau =) untuk menetapkan izin (r, w atau x) ke pengguna tertentu (u, g, o atau a). Perintah menerima spesifikasi mode akses numerik (oktal) atau simbolis.

Metode numerik adalah cara yang paling umum digunakan untuk mengatur hak akses untuk file dan direktori. Untuk melakukannya, masukkan chmod numeric_permission filename .

Setiap izin diwakili oleh nomor dan izin untuk entitas tertentu akhirnya diwakili oleh satu set tiga kolom.

Pada diagram di atas,

'Pengguna' diberikan (4 2 1 ) izin di mana pengguna telah membaca, menulis, dan mengeksekusi.

'Grup' diberikan (4 2 0) izin di mana anggota grup dapat membaca dan menulis.

'Lainnya (dunia)' diberikan (4 0 0) izin di mana orang lain hanya bisa membaca.

Dalam metode numerik, semua izin diubah sekaligus.

Misalnya,

755 :atur izin baca+tulis+eksekusi ke user , atur izin baca+eksekusi ke group dan atur izin baca+eksekusi ke others .

# chmod 755 asciiquarium.tar.gz
# ls -l asciiquarium.tar.gz 
-rwxr-xr-x 1 linoadmin linoadmin 15436 Mar 9 2013 asciiquarium.tar.gz

476 :atur hanya izin baca ke user , setel izin baca+tulis+eksekusi ke group dan atur izin baca+tulis ke others .

# chmod 476 bootstrap
# ls -l bootstrap
-r--rwxrw- 1 root root 5747 Apr 25 01:45 bootstrap

500 :atur izin baca+eksekusi ke user , tidak menetapkan izin ke group dan tidak menyetel izin ke others .

# chmod 500 asciiquarium_1.1/
# ls -ld asciiquarium_1.1/
dr-x------ 2 linoadmin linoadmin 4096 Mar 9 2013 asciiquarium_1.1/

Saat menggunakan metode numerik, Anda harus selalu menentukan tiga nilai (pemilik, grup, dan lainnya).

2) Ubah izin menggunakan mode simbolis

Mode akses numerik lebih disukai oleh sebagian besar pengguna Linux. Namun, beberapa orang lebih suka menggunakan bentuk simbolis karena mereka biasanya memodifikasi mode yang ada daripada menggantinya sepenuhnya.

Mode simbolis digunakan sebagai chmod entity=permissions filename . Spesifikasi mode simbolik memiliki tiga bagian, terdiri dari karakter individu dan menggunakan huruf untuk mengidentifikasi bagian:

  • Entity :Pemilik pengguna =u , pemilik grup =g , lainnya =o , dan semua =a
  • Operation :+ untuk menambahkan, - untuk menghapus, atau = untuk menetapkan (hapus izin lain yang ada)
  • Permissions to set :r =baca, dengan =tulis, dan x =jalankan

Beberapa contoh untuk membuat Anda mengerti.

chmod +x  :Tambahkan izin eksekusi untuk semua pengguna entitas, grup, dan lainnya. Ini digunakan untuk membuat skrip atau program dapat dieksekusi untuk menjalankannya

# chmod +x hello.sh
# ls -l hello.sh 
-rwxr-xr-x 1 root root   66 May 15 20:12 hello

Sekarang Anda dapat menjalankan skrip Anda seperti di bawah ini

# ./hello 
Hello... How are you ?

u+x :Tambahkan izin eksekusi untuk pengguna saja

# chmod u+x backupdb.sh
# ls -l backupdb.sh 
-rwxr--r-- 1 linoadmin linoadmin 15436 Mar 9 2013 backupdb.sh

go-w :Hapus izin menulis dari grup dan kelas lain saja.

# chmod go-w script-test/
# ls -ld script-test/
drwxr-xr-x 3 root root 4096 Apr 25 02:21 script-test/

a=rw :Menyetel izin baca dan tulis, tetapi tidak eksekusi, untuk semua orang.

# chmod a=rw bootstrap
# ls -l bootstrap
-rw-rw-rw- 1 root root 5747 Apr 25 01:45 bootstrap

g-x,o-rx :Hapus izin eksekusi untuk group dan hapus izin baca+eksekusi untuk other .

Catatan:Jangan gunakan spasi setelah koma (, )

# chmod g-x,o-rx baba/

Mari kita verifikasi izin menggunakan perintah ls:

# ls -ld baba/
drwxr----- 2 root root 4096 Apr 13 01:35 baba/

Saat Anda menggunakan metode simbolik, dimungkinkan untuk melakukan kombinasi untuk memanipulasi beberapa entitas pada saat yang sama.

Perlu diingat, saat menggunakan mode simbolik, izin yang tidak Anda tetapkan tetap seperti sebelum menjalankan perintah chmod

3) Ubah izin secara rekursif

Saat Anda menggunakan perintah chmod pada direktori tanpa opsi apa pun, itu tidak memengaruhi izin pada subdirektorinya. Artinya izin hanya diterapkan pada direktori itu sendiri.

Untuk mengubah hak akses direktori dengan subdirektorinya (secara rekursif), kita dapat menggunakan -R pilihan.

Misalnya, lihat direktori 'asciiquarium_1.1' tempat kami menerapkan 500 izin.

Saat kami mencantumkan izin untuk file dan direktori di dalam direktori 'asciiquarium_1.1', kami tidak dapat mengaturnya ke '500'.

# ls -l asciiquarium_1.1/
total 60
-rw-rw-r-- 1 linoadmin linoadmin 27679 Mar  9  2013 asciiquarium
-rw-rw-r-- 1 linoadmin linoadmin   228 Mar  9  2013 CHANGES
-rw-rw-r-- 1 linoadmin linoadmin 18092 Mar  9  2013 gpl.txt
-rw-rw-r-- 1 linoadmin linoadmin    45 Mar  9  2013 MANIFEST
-rw-rw-r-- 1 linoadmin linoadmin  1060 Mar  9  2013 README

Sekarang mari kita gunakan chmod -R perintah dengan izin yang sama pada direktori 'asciiquarium_1.1' menggunakan perintah berikut:

# chmod -R 500 asciiquarium_1.1/

Sekarang mari kita verifikasi izin file dan direktori sebagai berikut:

# ls -l asciiquarium_1.1/
total 60
-r-x------ 1 linoadmin linoadmin 27679 Mar  9  2013 asciiquarium
-r-x------ 1 linoadmin linoadmin   228 Mar  9  2013 CHANGES
-r-x------ 1 linoadmin linoadmin 18092 Mar  9  2013 gpl.txt
-r-x------ 1 linoadmin linoadmin    45 Mar  9  2013 MANIFEST
-r-x------ 1 linoadmin linoadmin  1060 Mar  9  2013 README

Anda dapat melihat bahwa izin telah disetel pada file dan subdirektori.

4) Izin bit khusus

Sebagian besar tugas yang akan Anda selesaikan dengan izin adalah dengan izin baca, tulis, dan eksekusi. Namun, ada beberapa izin khusus lainnya yang dapat Anda tetapkan ke file dan direktori di sistem file Anda. Izin khusus ini dirujuk sebagai digit tambahan yang ditambahkan ke awal mode file atau direktori.

Bit khusus berikut tersedia untuk penggunaan sistem file Linux:

  • SUID :izin Set User ID memungkinkan pengguna untuk menjalankan program seolah-olah mereka adalah pemilik pengguna dari program tersebut; dalam kebanyakan kasus, pemilik pengguna adalah pengguna root. Nilai numerik dari kumpulan izin ini adalah 4XXX (dengan “XXX” diganti dengan nilai numerik untuk kumpulan tiga yang disebutkan sebelumnya).
  • SGID :Saat diatur pada direktori, izin Set Group ID secara otomatis memberikan kepemilikan grup atas semua file baru yang dibuat dalam direktori kepada pemilik grup direktori (numerik =2XXX). Saat diatur pada file, SGID memungkinkan pengguna untuk menjalankan program seolah-olah mereka adalah pemilik grup dari file tersebut.
  • Sedikit lengket:t set izinnya digunakan untuk mencegah "nonowners" menghapus file di direktori umum (numerik =1XXX). Dalam direktori bit yang lengket, hanya pemilik file atau pemilik direktori yang dapat menghapus file (root selalu dapat menghapus file juga).

Untuk memahaminya, izinkan saya memberi Anda satu contoh:

Kami akan menerapkan izin SUID pada file menggunakan perintah berikut:

# chmod 4755 bootstrap
# ls -l bootstrap
-rwsr-xr-x 1 root root 5747 Apr 25 01:45 bootstrap

Kesimpulan

Saat mengubah izin, Anda selalu dapat menggunakan metode numerik atau metode simbolis. Izin numerik adalah yang paling sering digunakan, dan muncul setiap saat. Sebagai aturan, saya sarankan menggunakan mode numerik untuk mengatur atau memaksa izin pada objek, bukan membuat perubahan kecil pada izin. Anda harus memiliki akses pengguna root atau sudo untuk mengubah izin file dan direktori yang dimiliki oleh orang lain, jika tidak, Anda hanya dapat mengubah izin file dan direktori yang Anda miliki.


Linux
  1. Cara mengubah nama host di Linux

  2. Cara Mengubah Nama Pengguna di Linux

  3. Cara Mengubah Nama Host di Linux

  1. Cara Mengubah Port SSH Di Linux

  2. Cara Mengganti Shell di Linux

  3. Cara Menggunakan Perintah chmod (Ubah Mode) di Linux

  1. Tutorial Izin File Linux:Cara Memeriksa dan Mengubah Izin

  2. Cara Mengubah Izin File Secara Rekursif dengan chmod di Linux

  3. Cara mengubah nama host di Redhat 7 Linux