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.