Fail/direktori selamat menggunakan ACLS (senarai kawalan akses) di Linux

Fail/direktori selamat menggunakan ACLS (senarai kawalan akses) di Linux

Sebagai Pentadbir sistem, Keutamaan pertama kami adalah untuk melindungi dan menjamin data dari akses yang tidak dibenarkan. Kita semua menyedari keizinan yang kita tetapkan menggunakan beberapa arahan Linux yang berguna seperti chmod, Chown, chgrp… dan lain-lain. Walau bagaimanapun, set kebenaran lalai ini mempunyai batasan dan kadang -kadang mungkin tidak berfungsi mengikut keperluan kita. Sebagai contoh, kami tidak dapat menyediakan set kebenaran yang berbeza untuk pengguna yang berbeza di direktori atau fail yang sama. Oleh itu, Senarai Kawalan Akses (ACLS) telah dilaksanakan.

Senarai Kawalan Akses Linux

Katakan, anda mempunyai tiga pengguna, 'tecmint1','tecmint2'Dan'tecmint3'. Masing -masing mempunyai kumpulan biasa mengatakan 'ACL '. Pengguna 'tecmint1'Ingin itu sahaja'tecmint2'Pengguna boleh Baca dan akses fail yang dimiliki oleh 'tecmint1'Dan tidak ada orang lain yang mempunyai akses itu.

ACLs (Senarai Kawalan Akses) membolehkan kita melakukan muslihat yang sama. ACL ini membolehkan kita memberikan kebenaran untuk a pengguna, kumpulan dan mana -mana kumpulan mana -mana pengguna yang tidak berada dalam senarai kumpulan pengguna.

Catatan: Seperti dokumentasi produk Redhat, ia menyediakan sokongan ACL untuk sistem fail ext3 dan sistem fail yang dieksport NFS.

Cara Memeriksa Sokongan ACL dalam Sistem Linux

Sebelum bergerak ke hadapan, anda harus mendapat sokongan untuk ACL pada sistem fail dan sistem fail semasa.

1. Semak kernel untuk sokongan ACL

Jalankan arahan berikut untuk memeriksa sokongan ACL untuk sistem fail dan POSIX_ACL = y pilihan (jika ada N bukan Y, maka itu bermaksud kernel tidak menyokong ACL dan perlu dikompilasi).

[[dilindungi e -mel] ~]# grep -i acl /boot /config* config_Ext4_fs_posix_acl = y Config_Reiserfs_fs_posix_acl = y CONFIG_JFS_POSIX_ACL=y CONFIG_XFS_POSIX_ACL=y CONFIG_BTRFS_FS_POSIX_ACL=y CONFIG_FS_POSIX_ACL=y CONFIG_GENERIC_ACL=y CONFIG_TMPFS_POSIX_ACL=y CONFIG_NFS_V3_ACL=y CONFIG_NFSD_V2_ACL=y CONFIG_NFSD_V3_ACL=y CONFIG_NFS_ACL_SUPPORT=m CONFIG_CIFS_ACL=y CONFIG_9P_FS_POSIX_ACL=y

2. Semak pakej yang diperlukan

Sebelum memulakan bermain dengan ACL pastikan anda memerlukan pakej yang dipasang. Berikut adalah pakej yang diperlukan yang perlu dipasang menggunakan yum atau apt-get.

[[dilindungi e-mel] ~]# yum Pasang NFS4-ACL-TOOLS ACL Libacl [ON Topi merah sistem berasaskan]
[[dilindungi e-mel] ~] $ sudo apt-get memasang NFS4-ACL-TOOLS ACL [ON Debian sistem berasaskan]

3. Semak sistem fail yang dipasang untuk sokongan ACLS

Sekarang, periksa sistem fail yang dipasang sama ada ia dipasang dengan pilihan ACL atau tidak. Kita boleh guna 'Gunung'Perintah untuk memeriksa perkara yang sama seperti yang ditunjukkan di bawah.

[[E -mel dilindungi] ~]# Mount | GREP -I ROOT /DEV /MAPPER /FEDORA -ROOT ON /TYPE EXT4 (RW, RELATIME, DATA = dipesan)

Tetapi dalam kes kita tidak menunjukkan ACL secara lalai. Oleh itu, seterusnya kami mempunyai pilihan untuk mengulang semula partition yang dipasang lagi menggunakan pilihan ACL. Tetapi, sebelum bergerak ke hadapan, kami mempunyai pilihan lain untuk memastikan partition dipasang dengan pilihan ACL atau tidak, kerana untuk sistem baru -baru ini, ia mungkin diintegrasikan dengan pilihan gunung lalai.

[[E -mel dilindungi] ~]# tune2fs -l/dev/mapper/fedora -root | GREP ACL Pilihan Gunung Lalai: user_xattr ACL

Dalam output di atas, anda dapat melihat bahawa pilihan gunung lalai sudah mempunyai sokongan untuk ACL. Pilihan lain adalah untuk mengembalikan partition seperti yang ditunjukkan di bawah.

[[dilindungi e -mel] ~]# mount -o remount, acl /

Seterusnya, tambahkan entri di bawah ke fail '/etc/fstab' untuk menjadikannya kekal.

/Dev/Mapper/Fedora-Root/Ext4 Default, ACL 1 1

Sekali lagi, memisahkan partition.

[[dilindungi e -mel] ~]# mount -o remount /

4. Untuk pelayan NFS

Pada pelayan NFS, jika sistem fail yang dieksport oleh pelayan NSF menyokong ACL dan ACLS boleh dibaca oleh pelanggan NFS, maka ACLS digunakan oleh sistem klien.

Untuk melumpuhkan ACL pada bahagian NFS, anda perlu menambah pilihan "no_acl"Dalam '/etc/exportfs'fail pada pelayan NFS. Untuk melumpuhkannya di sisi pelanggan NSF sekali lagi gunakan "no_acl"Pilihan semasa masa gunung.

Cara Melaksanakan Sokongan ACL dalam Sistem Linux

Terdapat dua jenis ACLS:

  1. ACLS ACLS: Akses ACL digunakan untuk memberikan kebenaran pada sebarang fail atau direktori.
  2. ACL lalai: ACL lalai digunakan untuk memberikan/menetapkan senarai kawalan akses pada direktori tertentu sahaja.

Perbezaan antara ACL ACL dan ACL lalai:

  1. ACL lalai boleh digunakan pada tahap direktori sahaja.
  2. Sebarang direktori sub atau fail yang dibuat dalam direktori itu akan mewarisi ACL dari direktori induknya. Sebaliknya fail mewarisi ACL lalai sebagai ACL aksesnya.
  3. Kami menggunakan "-d"Untuk menetapkan ACL lalai dan ACL lalai adalah pilihan.
Sebelum menetapkan ACL lalai

Untuk menentukan ACL lalai untuk fail atau direktori tertentu, gunakan 'getfacl'Perintah. Dalam contoh di bawah, getfacl digunakan untuk mendapatkan ACL lalai untuk folder 'Muzik'.

[[E-mel dilindungi] ~] # GetFacl Music/ # File: Music/ # Pemilik: Root # Group: Root User :: RWX Group :: R-X Lain :: R-X Default: User :: RWX Default: Group :: R-X Default: Lain -lain :: rw-
Selepas menetapkan ACL lalai

Untuk menetapkan ACL lalai untuk fail atau direktori tertentu, gunakan 'setfacl'Perintah. Dalam contoh di bawah, setfacl Perintah akan menetapkan ACL baru (Baca dan melaksanakan) di folder 'Muzik '.

[[dilindungi e -mel] ~] # setfacl -m d: o: rx muzik/ [[e -mel dilindungi] ~] # getfacl muzik/ # fail: muzik/ # pemilik: root # kumpulan: root user :: rwx group :: r -x lain :: r-x Lalai: Pengguna :: RWX Lalai: Kumpulan :: R-X Lalai: Lain :: R-X

Cara menetapkan ACL baru

Menggunakan 'setfacl ' Perintah untuk menetapkan atau mengubahsuai sebarang fail atau direktori. Contohnya, untuk memberi Baca dan tulis kebenaran kepada pengguna 'tecmint1'.

# setfacl -m u: tecmint1: rw /tecmint1 /contohnya

Cara Melihat ACL

Menggunakan 'getfacl'Perintah untuk melihat ACL pada sebarang fail atau direktori. Sebagai contoh, untuk melihat ACL pada '/TECMINT1/Contohnya'Gunakan arahan di bawah.

# getfacl/tecmint1/contoh # fail: tecmint1/contoh/ # pemilik: tecmint1 # kumpulan: tecmint1 user :: rwx user: tecmint1: rwx user: tecmint2: r-- group :: rwx mask :: rwx lain ::---

Cara mengeluarkan ACL

Untuk mengeluarkan ACL dari mana -mana fail/direktori, kami gunakan x dan b pilihan seperti yang ditunjukkan di bawah.

# setFACL -x ACL Fail/Direktori # Keluarkan hanya ACL yang ditentukan dari fail/direktori. # setfacl -b fail/direktori #removing semua acl dari fail/direcoty

Mari kita melaksanakan ACL mengenai senario berikut.

Dua Pengguna (tecmint1 dan tecmint2), kedua -duanya mempunyai kumpulan menengah biasa bernama 'ACL'. Kami akan membuat satu direktori yang dimiliki oleh 'tecmint1'dan akan menyediakan Baca dan melaksanakan kebenaran pada direktori itu kepada pengguna 'tecmint2'.

Langkah 1: Buat dua pengguna dan keluarkan kata laluan dari kedua -duanya

[[dilindungi e -mel] ~]# untuk pengguna di tecmint1 tecmint2> do> userAdd $ user> passwd -d $ user> selesai mengeluarkan kata laluan untuk pengguna tecmint1. passwd: kejayaan mengeluarkan kata laluan untuk pengguna tecmint2. Passwd: Kejayaan

Langkah 2: Buat kumpulan dan pengguna ke kumpulan menengah.

[[E -mel dilindungi] ~]# GroupAdd ACL [[E -mel dilindungi] ~]# usermod -g acl tecmint1 [[e -mel dilindungi] ~]# usermod -g acl tecmint2

Langkah 3: Buat direktori /tecmint dan menukar pemilikan ke tecmint1.

[[dilindungi e -mel] ~]# mkdir /tecmint1 [[dilindungi e -mel] ~]# chown tecmint1 /tecmint1 /
[[dilindungi e-mel] ~]# ls -ld /tecmint1 /drwxr-xr-x 2 tecmint1 root 4096 Apr 17 14:46 /tecmint1 /
[[dilindungi e -mel] ~]# getfacl /tecmint1 getFacl: Mengeluarkan '/' dari nama jalan mutlak # Fail: Tecmint1 # Pemilik: Tecmint1 # Kumpulan: Root User :: RWX Group :: R-X Lain-lain :: R-X

Langkah 4: Log masuk dengan tecmint1 dan buat direktori di /tecmint folder.

[[E -mel dilindungi] ~] $ Su - TECMINT1 Log masuk terakhir: Thu Apr 17 14:49:16 IST 2014 di PTS/4
[[dilindungi e -mel] ~] $ cd / tecmint1 / [[dilindungi e -mel] tecmint1] $ mkdir contoh
[[dilindungi e-mel] tecmint1] $ ll total 4 drwxrwxr-x 2 tecmint1 tecmint1 4096 Apr 17 14:50 Contoh
[[dilindungi e -mel] tecmint1] $ whoami tecmint1

Langkah 5: Sekarang tetapkan ACL menggunakan 'setfacl', Jadi itu'tecmint1'akan mempunyai semua RWX kebenaran, 'tecmint2'hanya akan Baca kebenaran pada 'Contoh'folder dan lain -lain tidak akan mempunyai kebenaran.

$ setfacl -m u: tecmint1: rwx contoh/ $ setfacl -m u: tecmint2: r-- contoh/ $ setfacl -m lain: --- contoh/ $ getfacl contoh/ # fail: contoh # pemilik: tecmint1 # kumpulan: tecmint1 pengguna :: RWX Pengguna: TECMINT1: RWX Pengguna: TECMINT2: R-- Group :: R-X Mask :: RWX Lain-lain ::---

Langkah 6: Sekarang log masuk dengan pengguna lain i.e. 'tecmint2'Di terminal lain dan ubah direktori ke'/tecmint1'. Sekarang cuba lihat kandungannya menggunakan 'ls'Perintah dan kemudian cuba menukar direktori dan lihat perbezaan seperti di bawah.

[[E -mel dilindungi] ~] $ Su - TECMINT2 Log masuk terakhir: Thu Apr 17 15:03:31 IST 2014 di PTS/5
[[dilindungi e -mel] ~] $ cd/ tecmint1/ [[dilindungi e -mel] tecmint1] $ ls -lr contoh/ contoh/: total 0
[[dilindungi e -mel] TECMINT1] CD $ CD/ -Bash: CD: Contoh/: Kebenaran Ditolak 
[[dilindungi e-mel] tecmint1] $ getfacl contoh/ # fail: contoh # pemilik: tecmint1 # kumpulan: tecmint1 user :: rwx user: tecmint1: rwx user: tecmint2: r-- group :: rwx mask :: rwx lain ::---

Langkah 7: Sekarang berikan 'melaksanakan'Kebenaran untuk'tecmint2'on'Contoh'Folder dan kemudian gunakan 'CD'perintah untuk melihat kesannya. Sekarang 'tecmint2'Mempunyai kebenaran untuk melihat dan menukar direktori, tetapi tidak mempunyai kebenaran untuk menulis apa -apa.

[[e -mel dilindungi] tecmint1] $ setfacl -m u: tecmint2: r -x contoh/ [[dilindungi e -mel] tecmint1] $ getfacl contoh/ # fail: contoh # pemilik: tecmint1 # kumpulan: tecmint1 user :: rwx user: tecmint1: rwx user : tecmint2: kumpulan r-x :: topeng rwx :: rwx lain ::---
[[E -mel dilindungi] ~] $ Su - TECMINT2 Log masuk terakhir: Thu Apr 17 15:09:49 IST 2014 di PTS/5
[[dilindungi e -mel] ~] $ cd/ tecmint1/ [[dilindungi e -mel] tecmint1] $ cd contoh/ [[e -mel dilindungi]] $ getfacl .
[[E -mel dilindungi] Contoh] $ mkdir ujian MKDIR: Tidak dapat membuat direktori 'ujian': Kebenaran ditolak 
[[E -mel dilindungi] Contoh] $ sentuh ujian Sentuh: Tidak dapat menyentuh 'Ujian': Kebenaran ditolak 

Catatan: Setelah melaksanakan ACL, anda akan melihat tambahan '+'Tandatangan untuk output' ls -l 'seperti di bawah.

[[dilindungi e-mel] tecmint1]# ll total 4 drwxrwx ---+ 2 tecmint1 tecmint1 4096 Apr 17 17:01 Contoh

Pautan rujukan

Dokumentasi ACL