Halo semuanya. Ini adalah terjemahan dari artikel dari RedHat RHCSA RHCE 7 RedHat Enterprise Linux 7 EX200 dan EX300.
Dari saya sendiri: Saya harap artikel ini bermanfaat tidak hanya bagi pemula, tetapi juga akan membantu administrator yang lebih berpengalaman mengatur pengetahuan mereka.
Jadi ayo pergi.

Untuk mengakses file di Linux, izin digunakan. Izin ini diberikan ke tiga objek: file, grup, dan objek lain (yaitu, semua orang). Pada artikel ini, Anda akan belajar cara menerapkan izin.
Artikel dimulai dengan tinjauan konsep-konsep dasar, setelah itu izin khusus dan daftar kontrol akses (ACL) dibahas. Di akhir artikel ini, Anda akan belajar cara mengonfigurasi izin default melalui umask, serta mengelola atribut pengguna tingkat lanjut.
Manajemen Kepemilikan File
Sebelum membahas izin, Anda harus mengetahui peran pemilik file dan direktori. Memiliki file dan direktori sangat penting untuk bekerja dengan izin. Di bagian ini, pertama-tama Anda akan belajar cara melihat pemiliknya. Anda kemudian akan belajar cara mengubah pemilik grup dan pengguna untuk file dan direktori.
Tampilkan pemilik file atau direktori
Di Linux, setiap file dan direktori masing-masing memiliki dua pemilik: pengguna dan grup.
Pemilik ini ditetapkan ketika file atau direktori dibuat. Pengguna yang membuat file menjadi pemilik file ini, dan grup utama, yang mencakup pengguna yang sama, juga menjadi pemilik file ini. Untuk menentukan apakah Anda sebagai pengguna memiliki hak akses ke file atau direktori, shell memeriksa kepemilikannya.
Ini terjadi dalam urutan sebagai berikut:- Shell memeriksa apakah Anda memiliki file yang ingin Anda akses. Jika Anda adalah pemilik ini, Anda mendapatkan izin dan shell berhenti memeriksa.
- Jika Anda tidak memiliki file, shell akan memeriksa apakah Anda adalah anggota grup yang memiliki izin pada file ini. Jika Anda adalah anggota grup ini, Anda mendapatkan akses ke file dengan izin yang ditetapkan untuk grup, dan shell akan berhenti memeriksa.
- Jika Anda bukan pengguna atau pemilik grup, Anda mendapatkan hak pengguna lain (Lainnya).
Untuk melihat tugas pemilik saat ini, Anda dapat menggunakan
perintah ls-l . Perintah ini menunjukkan grup pengguna dan pemilik. Di bawah ini Anda dapat melihat pengaturan pemilik untuk direktori di direktori / home.
[root@server1 home]
Menggunakan
perintah ls, Anda dapat menampilkan pemilik file dalam direktori ini. Terkadang mungkin berguna untuk mendapatkan daftar semua file dalam sistem di mana pengguna atau grup ditentukan sebagai pemilik. Anda dapat menggunakan
find untuk ini .
Argumen find -user dapat digunakan untuk tujuan ini. Misalnya, perintah berikut ini menunjukkan semua file yang memiliki pengguna linda ditentukan sebagai pemilik:
find / -user linda
Anda juga dapat menggunakan
find untuk mencari file yang dimiliki grup tertentu.
Sebagai contoh, perintah berikut mencari semua file milik grup
pengguna :
find / -group users
Perubahan kepemilikan
Untuk menerapkan izin, hal pertama yang harus dipertimbangkan adalah kepemilikan. Ada
perintah chown untuk ini. Sintaks perintah ini mudah dimengerti:
chown
Misalnya, perintah berikut mengubah pemilik direktori / home / akun menjadi linda pengguna:
chown linda /home/account
Perintah chown memiliki beberapa opsi, salah satunya sangat berguna:
-R . Anda dapat menebak apa fungsinya, karena opsi ini juga tersedia untuk banyak tim lain. Ini memungkinkan Anda untuk mengatur pemilik secara rekursif, yang memungkinkan Anda untuk mengatur pemilik direktori saat ini dan semua yang ada di bawah ini. Perintah berikut mengubah pemilik untuk direktori / home dan semuanya di bawahnya menjadi lisa:
Sekarang pemiliknya terlihat seperti ini:
[root@localhost ~]
Jalankan:
[root@localhost ~]
Sekarang lisa telah menjadi pemilik direktori akun:
[root@localhost ~]
Perubahan pemilik grup
Ada dua cara untuk mengubah kepemilikan grup. Anda dapat melakukan ini menggunakan
chown , tetapi ada perintah khusus yang disebut
chgrp yang
berfungsi . Jika Anda ingin menggunakan
perintah chown , gunakan
. atau
: sebelum nama grup.
Perintah berikut mengubah pemilik grup / home / akun menjadi grup akun:
chown .account /home/account
Anda dapat menggunakan
chown untuk mengubah pemilik pengguna dan / atau grup dengan beberapa cara. Berikut ini beberapa contohnya:
- chown lisa myfile1 menetapkan lisa untuk memiliki myfile1.
- chown lisa.sales myfile menetapkan pengguna lisa ke pemilik file myfile, dan juga menetapkan grup penjualan ke pemilik file yang sama.
- chown lisa: sales myfile sama dengan perintah sebelumnya.
- chown .sales myfile menetapkan grup penjualan sebagai pemilik file myfile tanpa mengubah pemilik pengguna.
- chown: sales myfile sama dengan perintah sebelumnya.
Anda dapat menggunakan perintah
chgrp untuk mengubah pemilik grup. Pertimbangkan contoh berikut, di mana Anda dapat menggunakan
chgrp untuk mengatur grup penjualan sebagai pemilik direktori akun:
chgrp .sales /home/account
Seperti halnya
chown , Anda dapat menggunakan opsi
-R dengan
chgrp , dan juga mengubah pemilik grup secara rekursif.
Memahami pemilik default
Anda mungkin memperhatikan bahwa ketika pengguna membuat file, kepemilikan default diterapkan.
Pengguna yang membuat file secara otomatis menjadi pemilik file ini, dan grup utama pengguna ini secara otomatis menjadi pemilik file ini. Ini biasanya grup yang ditentukan dalam file / etc / passwd sebagai grup utama pengguna. Namun, jika pengguna adalah anggota dari beberapa grup, ia dapat mengubah grup inti yang efektif.
Untuk menampilkan grup utama efektif saat ini, pengguna dapat menggunakan perintah
grup :
[root@server1 ~]
Jika pengguna saat ini ingin mengubah grup utama yang efektif, ia akan menggunakan perintah
newgrp , diikuti dengan nama grup yang ia ingin atur sebagai grup primer baru yang efektif. Setelah menggunakan perintah
newgrp , grup utama akan aktif sampai pengguna mengeluarkan
perintah keluar atau logout.
Berikut ini menunjukkan bagaimana lisa menggunakan perintah ini sehingga grup penjualan menjadi grup utama:
lisa@server1 ~]$ groups lisa account sales [lisa@server1 ~]$ newgrp sales [lisa@server1 ~]$ groups sales lisa account [lisa@server1 ~]$ touch file1 [lisa@server1 ~]$ ls -l total 0 -rw-r--r--. 1 lisa sales 0 Feb 6 10:06 file1
Setelah mengubah grup utama saat ini, semua file baru yang dibuat oleh pengguna akan menerima grup ini sebagai grup pemilik. Untuk kembali ke pengaturan awal grup utama, gunakan
keluar .
Untuk dapat menggunakan perintah
newgrp , pengguna harus menjadi anggota grup yang ingin digunakan sebagai primer. Selain itu, kata sandi grup dapat digunakan untuk grup menggunakan perintah
gpasswd . Jika pengguna menggunakan perintah
newgrp tetapi bukan anggota grup target, shell meminta kata sandi grup. Setelah Anda memasukkan kata sandi grup yang benar, grup utama baru yang efektif akan ditetapkan.
Manajemen Hak Dasar
Sistem izin Linux ditemukan pada tahun 1970-an. Karena kebutuhan komputasi terbatas pada tahun-tahun itu, sistem izin dasar agak terbatas. Sistem izin ini menggunakan tiga izin yang dapat diterapkan ke file dan direktori. Di bagian ini, Anda akan belajar cara menggunakan dan mengubah izin ini.
Memahami Hak Membaca, Menulis, dan Menjalankan
Tiga izin dasar memungkinkan Anda membaca, menulis, dan mengeksekusi file. Efek dari izin ini berbeda ketika diterapkan pada file atau direktori. Untuk file, izin baca memberi Anda hak untuk membuka file untuk dibaca. Oleh karena itu, Anda dapat membaca isinya, tetapi itu berarti komputer Anda dapat membuka file untuk melakukan sesuatu dengannya.
File program yang memerlukan akses ke perpustakaan harus, misalnya, memiliki akses baca ke perpustakaan itu. Oleh karena itu izin baca adalah izin paling dasar yang Anda perlukan untuk bekerja dengan file.
Untuk direktori, membaca memungkinkan Anda untuk menampilkan konten direktori itu. Anda harus tahu bahwa izin ini tidak memungkinkan Anda membaca file di direktori. Izin Linux tidak tahu warisan, dan satu-satunya cara untuk membaca file adalah dengan menggunakan izin baca untuk file itu.
Karena Anda mungkin bisa menebak, izin menulis, jika diterapkan pada file, memungkinkan Anda untuk menulis ke file. Dengan kata lain, ini memungkinkan Anda untuk memodifikasi konten file yang ada. Namun, itu tidak memungkinkan membuat atau menghapus file baru atau mengubah izin file. Untuk melakukan ini, Anda harus memberikan izin menulis ke direktori tempat Anda ingin membuat file. Dalam direktori, izin ini juga memungkinkan Anda membuat dan menghapus subdirektori baru.
Izin eksekusi adalah apa yang Anda butuhkan untuk mengeksekusi file. Ini tidak akan pernah diinstal secara default, yang membuat Linux hampir sepenuhnya kebal terhadap virus. Hanya seseorang dengan izin tulis ke direktori yang dapat menerapkan izin untuk mengeksekusi.
Berikut ini ringkasan penggunaan izin dasar:
Menggunakan chmod
Untuk mengelola hak, gunakan
perintah chmod . Saat menggunakan
chmod, Anda dapat mengatur izin untuk pengguna (pengguna), grup (grup), dan lainnya (lainnya). Anda dapat menggunakan perintah ini dalam dua mode: mode relatif dan mode absolut. Dalam mode absolut, tiga digit digunakan untuk mengatur izin dasar.

Saat mengatur izin, hitung nilai yang Anda butuhkan. Jika Anda ingin mengatur membaca, menulis, dan mengeksekusi untuk pengguna, membaca dan mengeksekusi untuk grup, dan membaca dan mengeksekusi untuk orang lain di file / somefile, maka Anda menggunakan
perintah chmod berikut:
chmod 755 /somefile
Saat Anda menggunakan
chmod dengan cara ini, semua izin saat ini digantikan oleh izin yang Anda atur.
Jika Anda ingin mengubah izin relatif terhadap izin saat ini, Anda dapat menggunakan
chmod dalam mode relatif. Saat menggunakan
chmod dalam mode relatif, Anda bekerja dengan tiga indikator untuk menunjukkan apa yang ingin Anda lakukan:
- Pertama, Anda menunjukkan untuk siapa Anda ingin mengubah izin. Untuk melakukan ini, Anda dapat memilih antara pengguna ( u ), grup ( g ) dan lainnya ( o ).
- Kemudian Anda menggunakan operator untuk menambah atau menghapus izin dari mode saat ini, atau mengaturnya sepenuhnya.
- Pada akhirnya, Anda menggunakan r , w, dan x untuk menunjukkan izin mana yang ingin Anda atur.
Saat mengubah izin dalam mode relatif, Anda dapat melewati bagian "ke" untuk menambah atau menghapus izin untuk semua objek. Misalnya, perintah ini menambahkan izin eksekusi untuk semua pengguna:
chmod +x somefile
Saat bekerja dalam mode relatif, Anda juga dapat menggunakan perintah yang lebih kompleks. Misalnya, perintah ini menambahkan izin menulis ke grup dan menghapus bacaan untuk orang lain:
chmod g+w,or somefile
Saat menggunakan
chmod -R o + rx / data, Anda menetapkan izin eksekusi untuk semua direktori, serta untuk file di direktori / data. Untuk mengatur izin untuk mengeksekusi hanya untuk direktori, bukan untuk file, gunakan
chmod -R o + rX / data .
Huruf besar X memastikan bahwa file tidak mendapatkan izin untuk dieksekusi jika file tersebut belum menetapkan izin eksekusi untuk beberapa objek. Ini membuat X cara yang lebih cerdas untuk bekerja dengan mengeksekusi izin; ini akan menghindari menginstal izin ini pada file yang tidak diperlukan.
Hak yang Diperpanjang
Selain izin dasar yang baru saja Anda baca, Linux juga memiliki seperangkat izin lanjutan. Ini bukan izin default yang Anda tetapkan, tetapi terkadang mereka memberikan tambahan yang bermanfaat. Di bagian ini, Anda akan mempelajari apa itu dan bagaimana mengkonfigurasinya.
Memahami izin SUID, GUID dan bit stick yang diperluas
Ada tiga izin lanjutan. Yang pertama adalah izin untuk menetapkan pengidentifikasi pengguna (SUID). Dalam beberapa kasus khusus, Anda dapat menerapkan izin ini ke file yang dapat dieksekusi. Secara default, pengguna yang menjalankan file yang dapat dieksekusi mengeksekusi file dengan izinnya sendiri.
Untuk pengguna biasa, ini biasanya berarti bahwa penggunaan program terbatas. Namun, dalam beberapa kasus, pengguna hanya memerlukan izin khusus untuk melakukan tugas tertentu.
Pertimbangkan, misalnya, situasi di mana pengguna perlu mengubah kata sandi. Untuk melakukan ini, pengguna harus menulis kata sandi barunya ke file / etc / shadow. Namun, file ini tidak dapat ditulisi oleh pengguna non-root:
root@hnl ~]
Resolusi SUID menawarkan solusi untuk masalah ini. Di utilitas / usr / bin / passwd, izin ini digunakan secara default. Ini berarti bahwa ketika kata sandi diubah, pengguna sementara mendapatkan hak akses root, yang memungkinkannya untuk menulis ke file / etc / shadow. Anda dapat melihat resolusi SUID dengan
ls-l di posisi di mana Anda biasanya mengharapkan
x untuk izin pengguna:
[root@hnl ~]
Izin SUID mungkin terlihat berguna (dan dalam beberapa kasus itu), tetapi pada saat yang sama mereka berpotensi berbahaya. Jika digunakan secara tidak benar, Anda dapat secara tidak sengaja memberikan izin akses root. Karena itu, saya sarankan menggunakannya hanya dengan sangat hati-hati.
Sebagian besar administrator tidak perlu menggunakannya; Anda akan melihatnya hanya di beberapa file di mana sistem operasi harus mengaturnya secara default.
Izin khusus kedua adalah pengidentifikasi grup (SGID). Resolusi ini memiliki dua efek. Ketika diterapkan ke file yang dapat dieksekusi, itu memberi pengguna yang mengeksekusi file izin dari pemilik grup file ini. Dengan demikian, SGID dapat melakukan kurang lebih sama dengan SUID. Namun, SGID secara praktis tidak digunakan untuk tujuan ini.
Seperti halnya izin SUID, SGID diterapkan ke beberapa file sistem sebagai pengaturan default.
Ketika diterapkan ke direktori, SGID dapat berguna karena Anda dapat menggunakannya untuk mengatur pemilik grup default untuk file dan subdirektori yang dibuat dalam direktori ini. Secara default, ketika pengguna membuat file, grup utamanya yang efektif ditetapkan sebagai pemilik grup untuk file ini.
Ini tidak selalu sangat berguna, terutama karena pengguna Red Hat / CentOS memiliki grup dengan nama yang sama dengan pengguna, dan di mana pengguna adalah satu-satunya anggota. Dengan demikian, secara default, file yang dibuat pengguna akan dibagikan.
Bayangkan sebuah situasi di mana pengguna linda dan lori bekerja di bidang akuntansi dan merupakan anggota grup
akun . Secara default, pengguna ini adalah anggota grup pribadi yang mana mereka adalah satu-satunya anggota. Namun, kedua pengguna adalah anggota grup akun, tetapi juga sebagai parameter grup sekunder.
Situasi default adalah ketika salah satu dari pengguna ini membuat file, grup utama menjadi pemilik. Oleh karena itu, secara default, linda tidak dapat mengakses file yang dibuat oleh lori, dan sebaliknya. Namun, jika Anda membuat direktori grup bersama (katakan / grup / akun) dan pastikan bahwa izin SGID diterapkan ke direktori ini dan bahwa akuntansi grup ditetapkan sebagai pemilik grup untuk direktori ini, semua file dibuat di direktori ini dan di semua subdirektori nya , juga dapatkan grup akun sebagai pemilik grup default.
Karena alasan ini, izin SGID adalah izin yang sangat berguna untuk dipasang di direktori grup bersama.
Izin SGID ditunjukkan dalam output
ls -ld sebagai
s pada posisi di mana Anda biasanya menemukan izin untuk mengeksekusi grup:
[root@hnl data]
Yang ketiga dari izin khusus sedikit lengket. Izin ini berguna untuk melindungi file dari penghapusan tidak disengaja di lingkungan di mana banyak pengguna memiliki izin menulis ke direktori yang sama. Jika sedikit lengket digunakan, pengguna dapat menghapus file hanya jika dia adalah pemilik file atau direktori di mana file tersebut berada. Untuk alasan ini, ini digunakan sebagai izin default untuk direktori / tmp dan mungkin juga berguna untuk direktori grup bersama.
Tanpa sedikit lengket, jika pengguna dapat membuat file dalam direktori, ia juga dapat menghapus file dari direktori ini. Dalam lingkungan grup publik, ini bisa mengganggu. Bayangkan pengguna linda dan lori, yang keduanya memiliki izin menulis ke direktori / data / akun dan menerima izin ini melalui keanggotaan di grup akun. Oleh karena itu, linda dapat menghapus file yang dibuat oleh lori, dan sebaliknya.
Saat Anda menggunakan bit sticky, pengguna dapat menghapus file hanya jika salah satu dari kondisi berikut ini benar:
- Pengguna adalah pemilik file;
- Pengguna adalah pemilik direktori tempat file tersebut berada.
Saat menggunakan
ls -ld , Anda dapat melihat bit lengket seperti
t pada posisi di mana Anda biasanya melihat izin eksekusi untuk orang lain:
[root@hnl data]
Hak yang Ditingkatkan
Untuk menerapkan SUID, SGID dan sticky bit, Anda juga dapat menggunakan
chmod . SUID memiliki nilai numerik 4, SGID memiliki nilai numerik 2, dan bit sticky memiliki nilai numerik 1.
Jika Anda ingin menerapkan izin ini, Anda perlu menambahkan argumen empat digit ke
chmod , digit pertama yang mengacu pada izin khusus. Baris berikut, misalnya, akan menambahkan izin SGID ke direktori dan mengatur rwx untuk pengguna dan rx untuk grup dan lainnya:
chmod 2755 /somedir
Ini sangat tidak praktis jika Anda perlu melihat izin saat ini yang ditetapkan sebelum bekerja dengan
chmod dalam mode absolut. (Anda berisiko menimpa izin jika tidak.) Oleh karena itu, saya sarankan bekerja dalam mode relatif jika Anda perlu menerapkan salah satu izin khusus:
- Untuk SUID, gunakan chmod u + s .
- Untuk SGID, gunakan chmod g + s .
- Untuk bit sticky, gunakan chmod + t dan kemudian nama file atau direktori yang ingin Anda atur izinnya.
Tabel ini merangkum segala hal yang penting untuk diketahui tentang mengelola izin khusus.

Contoh bekerja dengan hak khusus
Dalam contoh ini, Anda menggunakan izin khusus untuk membuatnya lebih mudah bagi anggota tim untuk berbagi file di direktori grup bersama. Anda menetapkan bit ID dari pengidentifikasi grup yang ditetapkan, serta bit yang lengket, dan Anda melihat bahwa setelah mereka diinstal, fungsi ditambahkan yang memfasilitasi kerja bersama anggota grup.
- Buka terminal di mana Anda adalah pengguna linda. Anda dapat membuat pengguna menggunakan useradd linda , tambahkan kata sandi passwd linda .
- Buat direktori / data dan subdirektori / data / penjualan di root dengan perintah mkdir -p / data / penjualan . Jalankan cd / data / penjualan untuk pergi ke direktori penjualan. Jalankan touch linda1 dan sentuh linda2 untuk membuat dua file kosong yang dimiliki oleh linda.
- Jalankan su - lisa untuk mengalihkan pengguna saat ini ke lisa, yang juga merupakan anggota grup penjualan.
- Jalankan cd / data / sales dan dari direktori ini, jalankan ls -l . Anda akan melihat dua file yang dibuat oleh linda dan milik grup linda. Jalankan rm -f linda * . Ini akan menghapus kedua file.
- Jalankan touch lisa1 dan sentuh lisa2 untuk membuat dua file milik lisa pengguna.
- Jalankan su - untuk meningkatkan hak istimewa Anda ke tingkat root.
- Jalankan chmod g + s, o + t / data / penjualan untuk mengatur bit pengenal grup (GUID) serta bit sticky di direktori grup bersama.
- Jalankan su - linda . Kemudian lakukan sentuh linda3 dan sentuh linda4 . Sekarang Anda akan melihat bahwa dua file yang Anda buat milik grup penjualan, yang merupakan pemilik grup direktori / data / penjualan.
- Jalankan rm -rf lisa * . Sticky bit mencegah file-file ini dihapus atas nama linda karena Anda tidak memiliki file-file ini. Harap dicatat bahwa jika linda adalah pemilik direktori / data / penjualan, ia tetap dapat menghapus file-file ini!
Mengelola ACL (setfacl, getfacl) di Linux
Bahkan jika hak yang diperluas yang dibahas di atas menambah fungsionalitas yang berguna untuk cara Linux bekerja dengan izin, ini tidak memungkinkan Anda untuk memberikan izin kepada lebih dari satu pengguna atau satu grup dalam satu file.Daftar kontrol akses menawarkan fitur ini. Selain itu, mereka memungkinkan administrator untuk mengatur izin default dengan cara yang rumit di mana izin yang ditetapkan dapat bervariasi di direktori yang berbeda.Memahami ACL
Meskipun subsistem ACL menambahkan fungsionalitas hebat ke server Anda, ia memiliki satu kelemahan: tidak semua utilitas mendukungnya. Oleh karena itu, Anda mungkin kehilangan pengaturan ACL saat menyalin atau memindahkan file, dan perangkat lunak cadangan mungkin tidak mencadangkan pengaturan ACL.Utilitas tar tidak mendukung ACL. Untuk memastikan bahwa pengaturan ACL tidak hilang saat membuat cadangan, gunakan bintang sebagai ganti tar. star bekerja dengan parameter yang sama dengan tar; itu hanya menambah dukungan untuk pengaturan ACL.Anda juga dapat mencadangkan ACL menggunakan getfacl , yang dapat dipulihkan menggunakan perintah setfacl. Untuk membuat cadangan, gunakangetfacl -R / direktori> file.acls . Untuk mengembalikan pengaturan dari file cadangan, gunakan setfacl --restore = file.acl .Kurangnya dukungan dengan beberapa alat seharusnya tidak menjadi masalah. ACL sering diterapkan pada direktori sebagai ukuran struktural, bukan pada file individual.Oleh karena itu, tidak akan banyak, tetapi hanya sedikit, yang diterapkan di tempat-tempat pintar sistem file. Oleh karena itu, memulihkan ACL asli yang bekerja dengan Anda relatif mudah, bahkan jika perangkat lunak cadangan Anda tidak mendukungnya.Mempersiapkan sistem file untuk ACL
Sebelum Anda mulai bekerja dengan ACL, Anda mungkin perlu menyiapkan sistem file untuk mendukung ACL. Karena metadata sistem file perlu diperluas, tidak selalu ada dukungan default untuk ACL dalam sistem file. Jika Anda mendapatkan pesan "operasi tidak didukung" ketika mengonfigurasi ACL untuk sistem file, sistem file Anda mungkin tidak memiliki dukungan ACL.Untuk memperbaikinya, Anda perlu menambahkan opsi mount acl di file / etc / fstab sehingga sistem file di-mount dengan dukungan ACL secara default.Ubah dan lihat pengaturan ACL dengan setfacl dan getfacl
Untuk mengatur ACL, Anda memerlukan perintah setfacl . Untuk melihat pengaturan ACL saat ini, Anda perlu getfacl . Perintah ls-l tidak menunjukkan ACL yang ada; itu hanya menunjukkan + setelah daftar izin, yang menunjukkan bahwa ACL berlaku untuk file juga.Sebelum mengkonfigurasi ACL, selalu berguna untuk menunjukkan pengaturan ACL saat ini menggunakan getfacl . Di bawah ini dengan contoh, Anda dapat melihat izin saat ini, seperti yang ditunjukkan dengan ls -ld , serta ditunjukkan dengan getfacl . Jika Anda melihat dengan cukup hati-hati, Anda akan melihat bahwa informasi yang ditampilkan persis sama. [root@server1 /]
Sebagai hasil dari perintah getfacl , Anda dapat melihat di bawah ini bahwa izin ditampilkan untuk tiga objek berbeda: pengguna, grup, dan lainnya. Sekarang mari kita tambahkan ACL untuk memberikan izin membaca dan mengeksekusi ke grup penjualan. Perintah untuk ini adalah setfacl -mg: sales: rx / dir . Dalam perintah ini, -m menunjukkan bahwa pengaturan ACL saat ini harus diubah. Setelah itu, g: sales: rx memberitahu tim untuk mengatur ACL untuk membaca dan mengeksekusi ( rx ) untuk penjualan grup ( g ). Di bawah ini Anda dapat melihat bagaimana perintah itu terlihat, serta output dari perintah getfacl setelah mengubah pengaturan ACL saat ini. [root@server1 /]
Sekarang setelah Anda memahami cara mengatur ACL grup, mudah untuk memahami ACL untuk pengguna dan pengguna lain. Sebagai contoh, perintah setfacl -mu: linda: rwx / data memberikan izin kepada pengguna linda di direktori / data, tanpa menjadikannya pemilik dan tanpa mengubah tujuan pemilik saat ini.Perintah setfacl memiliki banyak fitur dan opsi. Satu opsi sangat penting, opsi -R . Jika digunakan, opsi ini mengkonfigurasi ACL untuk semua file dan subdirektori yang saat ini ada di direktori tempat Anda menginstal ACL. Disarankan agar Anda selalu menggunakan opsi ini saat memodifikasi ACL untuk direktori yang ada.Bekerja dengan ACL default
Salah satu manfaat menggunakan ACL adalah Anda dapat memberikan izin kepada banyak pengguna atau grup dalam direktori. Keuntungan lain adalah bahwa Anda dapat mengaktifkan warisan dengan bekerja dengan ACL default.Dengan menetapkan ACL default, Anda menentukan izin yang akan ditetapkan untuk semua item baru yang dibuat dalam direktori. Perlu diingat bahwa ACL default tidak mengubah izin untuk file dan subdirektori yang ada. Untuk mengubahnya, Anda perlu menambahkan ACL biasa!Ini penting untuk diketahui. Jika Anda ingin menggunakan ACL untuk mengonfigurasi akses untuk banyak pengguna atau grup ke direktori yang sama, Anda harus mengatur ACL dua kali. Pertama gunakan setfacl -R -m untuk mengubah ACL untuk file saat ini. Kemudian gunakansetfacl -md: untuk mengurus semua elemen baru yang juga akan dibuat.Untuk mengatur ACL default, Anda hanya perlu menambahkan opsi d setelah opsi -m (urutan penting!). Jadi gunakan setfacl -md: g: sales: rx / data jika Anda ingin grup penjualan membaca dan mengeksekusi akses ke apa pun yang pernah dibuat di direktori / data.Saat menggunakan ACL default, juga berguna untuk mengatur ACL untuk orang lain. Ini biasanya tidak masuk akal, karena Anda juga dapat mengubah izin untuk orang lain menggunakan chmod . Namun, apa yang tidak bisa Anda lakukan dengan chmod, ini menunjukkan hak yang harus diberikan kepada pengguna lain untuk setiap file baru yang akan dibuat. Jika Anda ingin orang lain tidak mendapatkan izin untuk apa pun yang dibuat di / data, misalnya, gunakan setfacl -md: o :: - / data .ACL dan izin reguler tidak selalu terintegrasi dengan baik. Masalah dapat terjadi jika Anda menerapkan ACL default ke direktori, setelah item yang telah ditambahkan ke direktori ini, dan kemudian mencoba mengubah izin normal. Perubahan yang berlaku untuk izin reguler tidak akan tercermin dengan baik dalam ikhtisar ACL. Untuk menghindari masalah, pertama atur izin normal, lalu atur ACL default (dan kemudian coba untuk tidak mengubahnya lagi).Contoh Manajemen Hak Lanjutan Menggunakan ACL
Dalam contoh ini, Anda akan terus bekerja dengan direktori / data / akun dan / data / penjualan yang Anda buat sebelumnya. Dalam contoh sebelumnya, Anda menjamin bahwa grup penjualan memiliki izin untuk / data / penjualan, dan grup akun memiliki izin untuk / data / akun.Pertama, pastikan bahwa grup akun mendapat izin baca di direktori / data / akun, dan grup penjualan mendapat izin baca di direktori / data / akun.Kemudian Anda mengatur ACL default untuk memastikan bahwa semua file baru memiliki izin yang ditetapkan untuk semua item baru.- Buka terminal.
- Jalankan setfacl -mg: akun: rx / data / sales dan setfacl -mg: penjualan: rx / data / akun .
- getfacl , , , .
- setfacl -md:g:account:rwx,g:sales:rx /data/sales , ACL sales.
- ACL /data/account, setfacl -md:g:sales:rwx,g:account:rx /data/account .
- , ACL , /data/sales. touch /data/sales/newfile getfacl /data/sales/newfile .
umask
Di atas, Anda belajar cara bekerja dengan ACL secara default. Jika Anda tidak menggunakan ACL, ada parameter shell yang mendefinisikan hak default yang akan Anda terima: umask (topeng mundur). Di bagian ini, Anda akan belajar cara mengubah izin default menggunakan umask .Anda mungkin memperhatikan bahwa ketika Anda membuat file baru, beberapa izin default ditetapkan. Izin ini ditentukan oleh pengaturan umask . Opsi shell ini berlaku untuk semua pengguna saat masuk. Parameter umask menggunakan nilai numerik yang dikurangkan dari izin maksimum yang dapat secara otomatis ditetapkan untuk file; pengaturan maksimum untuk file adalah 666, dan untuk direktori - 777.Namun, beberapa pengecualian berlaku untuk aturan ini. Anda dapat menemukan gambaran umum lengkap pengaturan umask pada tabel di bawah ini.Dari digit yang digunakan dalam umask , seperti dalam kasus argumen numerik untuk perintah chmod , digit pertama merujuk pada izin pengguna, digit kedua mengacu pada izin grup, dan yang terakhir mengacu pada izin default yang ditetapkan untuk orang lain. Nilai umask default 022 memberikan 644 untuk semua file baru dan 755 untuk semua direktori baru yang dibuat di server Anda.Gambaran lengkap dari semua nilai numerik umask dan hasilnya dalam tabel di bawah ini.
Cara mudah untuk melihat cara kerja parameter umask adalah sebagai berikut: mulai dengan izin default untuk file yang ditetapkan ke 666, dan kurangi umask untuk mendapatkan izin yang valid. Lakukan hal yang sama untuk direktori dan izin default 777.Ada dua cara untuk mengubah pengaturan umask: untuk semua pengguna dan untuk pengguna individu. Jika Anda ingin menginstal umask untuk semua pengguna, Anda harus memastikan bahwa opsi umask diperhitungkan saat menjalankan file environment shell, sebagaimana ditentukan dalam / etc / profile. Pendekatan yang benar adalah dengan membuat skrip shell bernama umask.sh di direktori /etc/profile.d dan tentukan umask yang ingin Anda gunakan dalam skrip shell ini. Jika umask diubah dalam file ini, ini diterapkan untuk semua pengguna setelah masuk ke server.Alternatif untuk mengonfigurasi umask melalui / etc / profile dan file terkait, di mana ia diterapkan untuk semua pengguna di sistem, adalah mengubah pengaturan umask dalam file bernama .profile, yang dibuat di direktori home masing-masing pengguna.Pengaturan yang diterapkan dalam file ini hanya berlaku untuk pengguna individu; oleh karena itu, ini adalah metode yang baik jika Anda membutuhkan lebih banyak detail. Saya pribadi suka fitur ini untuk mengubah nilai umask default untuk pengguna root ke 027, sementara pengguna biasa bekerja dengan umask 022 default.Bekerja dengan atribut pengguna tingkat lanjut
Ini adalah bagian terakhir tentang hak Linux.Saat bekerja dengan izin, selalu ada hubungan antara objek pengguna atau grup dan izin yang dimiliki objek pengguna atau grup ini untuk file atau direktori. Metode alternatif untuk melindungi file di server Linux adalah bekerja dengan atribut.Atribut melakukan pekerjaan mereka terlepas dari pengguna yang mengakses file.Seperti halnya ACL, atribut file mungkin perlu menyertakan opsi mount .Ini adalah opsi user_xattr . Jika Anda mendapatkan pesan "operasi tidak didukung" ketika bekerja dengan atribut pengguna tingkat lanjut, pastikan untuk mengatur parameter mount di file / etc / fstab.Banyak atribut didokumentasikan. Beberapa atribut tersedia tetapi belum diimplementasikan. Jangan menggunakannya; mereka tidak akan membawakanmu apa pun.Berikut ini adalah atribut yang paling berguna yang dapat Anda terapkan:A Atribut ini memastikan bahwa waktu akses ke file file tidak berubah.Biasanya setiap kali file dibuka, waktu akses file harus ditulis ke metadata file. Ini mempengaruhi kinerja; Oleh karena itu, untuk file yang diakses secara teratur, atribut A dapat digunakan untuk menonaktifkan fitur ini.a Atribut ini memungkinkan Anda untuk menambah, tetapi tidak menghapus, file.cJika Anda menggunakan sistem file yang mendukung kompresi level volume, atribut file ini memastikan bahwa file akan dikompresi saat mekanisme kompresi diaktifkan untuk pertama kali.D Atribut ini memastikan bahwa perubahan pada file segera ditulis ke disk, dan tidak di-cache terlebih dahulu. Ini adalah atribut yang berguna dalam file database penting, memastikan bahwa mereka tidak hilang antara cache file dan hard drive.d Atribut ini memastikan bahwa file tidak akan disimpan dalam cadangan di mana utilitas dump digunakan.SayaAtribut ini memungkinkan pengindeksan untuk direktori yang disertakan. Ini memberikan akses file yang lebih cepat untuk sistem file primitif seperti Ext3, yang tidak menggunakan database B-tree untuk akses file cepat.i Atribut ini membuat file tidak berubah. Oleh karena itu, Anda tidak dapat membuat perubahan pada file, yang berguna untuk file yang membutuhkan perlindungan tambahan.j ini atribut memastikan bahwa sistem berkas berkas ext3 pertama kali ditulis ke log, dan kemudian - dalam blok data pada hard disk.s Timpa blok tempat file disimpan selama 0 s setelah menghapus file. Ini memastikan pemulihan file tidak dimungkinkan setelah dihapus.kamuAtribut ini menyimpan informasi penghapusan. Ini memungkinkan Anda untuk mengembangkan utilitas yang berfungsi dengan informasi ini untuk menyimpan file yang dihapus.Jika Anda ingin menerapkan atribut, Anda dapat menggunakan perintah chattr . Sebagai contoh, gunakan chattr + s somefile untuk menerapkan atribut ke somefile. Perlu menghapus atribut? Kemudian gunakan chattr -s somefile dan itu akan dihapus. Untuk mendapatkan gambaran umum dari semua atribut yang saat ini digunakan, gunakan perintah lsattr .Ringkasan
Di artikel ini, Anda belajar cara bekerja dengan izin. Anda membaca tentang tiga izin dasar, izin lanjutan, dan cara menerapkan ACL ke sistem file. Anda juga belajar cara menggunakan parameter umask untuk menerapkan izin default. Di akhir artikel ini, Anda belajar cara menggunakan atribut tingkat lanjut pengguna untuk menerapkan lapisan tambahan keamanan sistem file.Jika Anda menyukai terjemahan ini, silakan tulis di komentar. Akan ada lebih banyak motivasi untuk membuat terjemahan yang bermanfaat.. .
ยซ - .ยป ยซ - .ยป, .
berez .
:
, , , .
:
, , , . , , , .
CryptoPirate