GNU/Linux >> Belajar Linux >  >> Linux

Cara mengelola izin Linux untuk pengguna, grup, dan lainnya

Mengelola akses ke sumber daya adalah tugas mendasar bagi sysadmin. Tanggung jawab ini terdiri dari tiga komponen:identitas, sumber daya, dan izin. Artikel ini membahas beberapa perintah pengguna, grup, dan manajemen file untuk mengontrol akses ke sumber daya. Artikel tersebut menggunakan "Bagaimana saya…?" format, dan ini mengasumsikan Anda memiliki beberapa sumber daya untuk digunakan. Secara khusus, saya membahas topik-topik berikut:

  • Membuat direktori dan file
  • Mengelola kepemilikan dan grup terkait
  • Menyetel izin dengan mode absolut dan simbolis

Menyiapkan taman bermain

Saya telah bekerja di bidang IT selama sekitar 25 tahun, dan sebagian besar waktu saya dihabiskan sebagai pelatih teknis. Itu berarti bahwa hal-hal yang saya tulis biasanya terstruktur sebagai semacam lab atau kesempatan langsung lainnya. Itu hanya bagaimana saya menutupi materi. Dengan mengingat hal itu, saya akan menganggap Anda memiliki beberapa identitas dan sumber daya untuk bereksperimen saat Anda membaca sisa artikel. Anda dapat menggunakan perintah berikut untuk menyiapkan taman bermain. Sebaiknya lakukan ini di mesin virtual daripada di kotak Linux pribadi Anda, tetapi tugas ini relatif tidak berbahaya.

Buat dua pengguna baru dan dua grup baru untuk diajak bekerja sama. Perhatikan bahwa Anda tidak perlu mengonfigurasi kata sandi untuk pengguna dalam latihan ini, karena Anda tidak akan masuk dengan akun tersebut.

# useradd user01
# useradd user02
# groupadd groupA
# groupadd groupB

Catatan :Anda akan menggunakan passwd user01 perintah untuk mengatur kata sandi pengguna.

Di direktori home Anda, buat direktori baru bernama playground :

# mkdir playground

Ubah menjadi ~/playground direktori dengan menggunakan cd memerintah. Anda siap bekerja dengan perintah dan konsep di bawah ini.

Setelah Anda menyelesaikan artikel dan mempelajari teknik yang telah saya bahas, hapus dua akun pengguna, grup, dan direktori taman bermain. Gunakan rm -fR /playground , userdel user01 , dan groupdel groupA untuk menghapus sumber daya.

Bagaimana cara membuat direktori dan file?

Gunakan mkdir perintah untuk membuat direktori. touch perintah adalah salah satu dari banyak cara untuk membuat file.

Bagaimana cara membuat direktori bernama Resources ?

# mkdir Resources

Bagaimana cara membuat jalur direktori (serangkaian direktori yang belum ada)?

# mkdir -p Resources/data/2020data

Catatan :Tujuannya di sini adalah untuk membuat 2020data direktori, tetapi data . jalur yang diberikan direktori belum ada. -p option membuat direktori induk sesuai kebutuhan untuk menyelesaikan jalur.

Bagaimana cara membuat file bernama file1 ?

# touch file1

Bagaimana cara membuat beberapa file sekaligus?

# touch file2 file3 file4

Bagaimana cara mengelola kepemilikan dan grup?

Di direktori taman bermain, tampilkan pemilik dan grup saat ini yang terkait dengan Resources direktori dan file.

Bagaimana cara menampilkan izin, pemilik, dan grup?

# ls -l

ls -l perintah menampilkan isi direktori dalam format panjang. Format panjang berisi izin dan kepemilikan. Anda dapat melihat bahwa akun pengguna yang membuat sumber daya juga memiliki sumber daya tersebut. Asosiasi grup juga merupakan grup utama pengguna tersebut.

Bagaimana cara mengubah pengguna/pemilik yang terkait dengan file1 ?

# chown user02 file1

Bagaimana cara mengubah grup yang terkait dengan file1 ?

# chown :groupA file1

Bagaimana cara mengubah pemilik dan grup secara bersamaan untuk file2 ?

# chown user02:groupA file2

Ada chgrp tertentu perintah, tetapi saya lebih suka hanya menghafal satu perintah (chown ) dan menerapkannya ke kedua fungsi (asosiasi pengguna dan grup) daripada chown untuk pengguna dan kemudian harus mengingat chgrp untuk grup.

Jadi bagaimana saya menggunakan chgrp ?

# chgrp groupB file1

Bagaimana cara mengubah pengguna/grup untuk direktori dan semua isinya?

# chown -R user01:groupA Resources

Tugas di atas menyediakan rekursif konfigurasi. Secara teknis, perintah rekursif diulang pada setiap objek yang ditentukan. Secara efektif, rekursif berarti "ini dan semua yang ada di dalamnya." Dalam contoh di atas, Anda mengonfigurasi pengguna/grup terkait untuk Resources direktori dan semua yang ada di dalamnya. Tanpa -R pilihan, Anda hanya akan mempengaruhi Resources direktori itu sendiri, tetapi bukan isinya.

[ Pembaca juga menyukai: Pengantar Daftar Kontrol Akses Linux (ACL) ]

Bagaimana cara mengelola izin?

ubah mode atau chmod perintah mengatur izin. Sintaksnya lurus ke depan:

chmod permissions resource-name

Berikut adalah dua contoh manipulasi izin untuk file2 :

# chmod 740 file2
# chmod u=rwx,g=r,o-rwx file2

Tapi tunggu! Itu tampak seperti contoh yang sangat berbeda (sebenarnya tidak). Apa semua huruf dan angka itu?

Kita perlu mendiskusikan mode absolut dan mode simbolik .

Bagaimana cara menggunakan mode absolut?

Mode absolut adalah salah satu dari dua cara untuk menentukan izin. Saya telah melihat mode ini disebut sebagai mode oktal atau numerik, tetapi istilah yang saya pelajari adalah mutlak . Istilah itu juga paling masuk akal bagi saya karena itu adalah pernyataan mutlak dari izin yang diinginkan. Saya selalu memberi tahu siswa saya bahwa ini tampak seperti yang paling kompleks dari dua mode tetapi sebenarnya yang paling sederhana. Biasanya, mereka setuju.

Setiap tingkat akses (baca, tulis, jalankan) memiliki nilai oktal:

Tingkat akses Nilai oktal
Baca 4
Tulis 2
Jalankan 1

Setiap identitas (pengguna, grup, lainnya) memiliki posisi:

Identitas Posisi
Pengguna Pertama atau paling kiri
Grup Tengah
Lainnya Terakhir atau paling kanan

Sintaks mode absolut menyatakan izin yang diinginkan dari kiri ke kanan.

Bagaimana cara memberi pengguna (pemilik) untuk membaca, menulis, dan mengeksekusi, grup hanya-baca, dan yang lainnya tidak memiliki akses ke file2 dengan menggunakan mode absolut?

# chmod 740 file2

Tiga nilai izin dikaitkan dengan identitas:
    ugo
    740

  • Yang 7 ditetapkan ke pengguna dan merupakan jumlah dari 4+2+1 atau baca+tulis+eksekusi (akses penuh)
  • 4 ditugaskan ke grup dan merupakan jumlah dari 4+0+0 (hanya-baca)
  • 0 ditugaskan ke orang lain dan merupakan jumlah dari 0+0+0 (tidak ada akses)

Dalam contoh ini, pengguna memiliki rwx , grup memiliki r saja, dan yang lainnya tidak memiliki akses ke file2 .

Mari kita lihat satu contoh lagi.

Bagaimana cara memberi pengguna (pemilik) membaca dan menulis, grup hanya-baca, dan semua yang lain hanya-baca ke file2 ?

# chmod 644 file2
  • Pengguna memiliki 6 (baca dan tulis)
  • Grup memiliki 4 (hanya baca)
  • Semua yang lain memiliki 4 (hanya baca)

Saya menemukan ini lebih mudah karena tidak ada perhitungan yang terlibat. Saya tidak peduli dengan menambah atau mengurangi izin tertentu berdasarkan pengaturan saat ini. Sebaliknya, saya katakan, "atur izin menjadi ini," dan itulah hasil akhir yang saya dapatkan. Ini adalah pernyataan mutlak.

Bagaimana cara menetapkan izin untuk Resources direktori dan semua isinya dengan menggunakan mode absolut?

# chmod -R 744 Resources

Bagaimana cara menggunakan mode simbolis?

Modus simbolik menggunakan lebih banyak simbol, tetapi simbol lebih sederhana untuk dipahami. Itu menarik bagi sysadmin yang baru mengenal izin Linux standar.

Setiap tingkat akses memiliki simbol:

Tingkat akses Simbol
Baca r
Tulis w
Jalankan x

Setiap identitas memiliki simbol:

Identitas Simbol
Pengguna u
Grup g
Lainnya o

Ada juga operator untuk memanipulasi izin:

Tugas Operator
Berikan tingkat akses +
Hapus tingkat akses -
Menetapkan tingkat akses =

chmod umum sintaks perintahnya sama:

command permissions directory/file

Ini contohnya:

Bagaimana cara menghapus izin baca dari orang lain untuk file2 dengan menggunakan mode simbolis?

# chmod o-r file2

Contoh ini menghapus (- ) yang dibaca (r ) izin dari orang lain (o ) untuk file2 .

Berikut contoh sederhana lainnya:

Bagaimana cara memberikan izin baca dan tulis ke grup untuk file2 ?

# chmod g+rw file2

Yang ini memberi (+ ) membaca dan menulis (rw ) ke grup (g ) untuk file2 .

Bagaimana cara menetapkan izin untuk direktori dan semua kontennya dengan menggunakan mode simbolis?

# chmod -R o=rwx,g+rw,o-rwx Resources

Izin khusus dan Daftar Kontrol Akses

Diskusi di atas mencakup izin Linux standar—menerapkan rwx kepada pengguna, grup, dan yang lainnya. Namun, Linux memiliki lebih banyak fleksibilitas. Izin khusus mengizinkan pengguna untuk menjalankan aplikasi dengan kredensial lain, mengontrol pewarisan asosiasi grup, dan menjaga agar file tidak diubah secara tidak sengaja. Lihat artikel bagus ini tentang izin khusus.

Linux juga memiliki cara untuk menerapkan izin yang berbeda untuk pengguna dan grup yang berbeda. Access Control Lists (ACLs) mengizinkan sysadmin untuk menentukan izin untuk lebih dari satu pengguna dan satu grup, yang menambahkan lebih banyak fleksibilitas untuk izin standar. Misalnya, user01 dapat diberikan rw- ke file1 , sedangkan user02 dapat diberikan r-- ke file1 . Ini artikel bagus tentang ACL.

[ Kursus gratis:Tinjauan Teknis Satelit Red Hat. ] 

Menutup

Membuat sumber daya, mengelola pengguna, dan mengatur izin adalah tugas mendasar bagi pengguna Linux. Tujuan saya adalah memberikan panduan cepat dan mudah berdasarkan pertanyaan umum atau tugas yang harus kita selesaikan secara teratur. Jika Anda baru mengenal Linux, memahami delapan perintah yang dibahas di atas akan membuat hidup sysadmin Anda lebih mudah.


Linux
  1. Lembar contekan untuk pengguna dan izin Linux

  2. Cara Menemukan File Dengan Izin SUID dan SGID di Linux

  3. Cara Mengelola Kedaluwarsa dan Penuaan Kata Sandi Pengguna di Linux

  1. Kelola Pengguna Linux &Grup Linux

  2. Bagaimana mengelola pengguna dengan useradd di linux

  3. Bagaimana mengelola pengguna dan grup di Server FreeIPA

  1. Cara Membuat Direktori Bersama untuk Semua Pengguna di Linux

  2. Cara Mengelola dan Mendaftar Layanan di Linux

  3. Cara mengelola Izin/Kepemilikan File dan Direktori di Linux