OnWorks Linux dan Windows Online Workstations

logo

Pengehosan Dalam Talian Percuma untuk Workstation

<Sebelum | Contents [show] | Seterusnya>

1.7. Kawalan Akses


Pengurusan jenis akses (baca, tulis, dll) pengguna harus diberikan kepada sumber dikenali sebagai

kawalan capaian. Arahan konfigurasi yang terlibat dipanggil senarai kawalan akses atau ACL.


Apabila kami memasang pakej slapd pelbagai ACL telah disediakan secara automatik. Kami akan melihat beberapa akibat penting daripada lalai tersebut dan, dengan berbuat demikian, kami akan mendapat idea tentang cara ACL berfungsi dan cara ia dikonfigurasikan.


Untuk mendapatkan ACL yang berkesan untuk pertanyaan LDAP, kita perlu melihat entri ACL pangkalan data yang sedang ditanya serta contoh pangkalan data bahagian hadapan khas. ACL yang dimiliki oleh yang kedua bertindak sebagai lalai sekiranya ACL yang pertama tidak sepadan. Pangkalan data bahagian hadapan ialah yang kedua untuk dirujuk dan ACL yang akan digunakan ialah yang pertama dipadankan ("perlawanan pertama menang") antara 2 sumber ACL ini. Arahan berikut akan memberikan, masing-masing, ACL bagi pangkalan data mdb ("dc=example,dc=com") dan bagi pangkalan data frontend:


sudo ldapsearch -Q -LLL -Y LUARAN -H ldapi:/// -b \ cn=config '(olcDatabase={1}mdb)' olcAccess


dn: olcDatabase={1}mdb,cn=config

olcAccess: {0}to attrs=userPassword by self write by anonymous auth by * none olcAccess: {1}to attrs=shadowLastChange by self write by * read

olcAccess: {2}kepada * oleh * baca


gambar

RootDN sentiasa mempunyai hak penuh ke pangkalan datanya dan tidak perlu disertakan dalam mana-mana ACL.



sudo ldapsearch -Q -LLL -Y LUARAN -H ldapi:/// -b \ cn=config '(olcDatabase={-1}frontend)' olcAccess


dn: olcDatabase={-1}frontend,cn=config

olcAccess: {0}ke * oleh dn.exact=gidNumber=0+uidNumber=0,cn=peercred,cn=external

,cn=auth urus dengan * break

olcAccess: {1}to dn.exact="" oleh * baca

olcAccess: {2}ke dn.base="cn=Subschema" oleh * baca


Dua ACL pertama adalah penting:


olcAccess: {0}to attrs=userPassword by self write by anonymous auth by * none olcAccess: {1}to attrs=shadowLastChange by self write by * read


Ini boleh diwakili secara berbeza untuk penghadaman yang lebih mudah:


kepada attrs=userPassword



dengan menulis sendiri

oleh pengesahan tanpa nama oleh * tiada


kepada attrs=shadowLastChange dengan menulis sendiri

oleh * membaca


ACL ini menguatkuasakan perkara berikut:

• Akses 'auth' tanpa nama disediakan kepada kata laluan pengguna atribut supaya pengguna boleh mengesahkan, atau mengikat. Mungkin secara berlawanan dengan intuitif, 'oleh pengesahan tanpa nama' diperlukan walaupun akses tanpa nama kepada DIT tidak diingini, jika tidak, ini akan menjadi masalah ayam dan telur: sebelum pengesahan, semua pengguna adalah tanpa nama.

• The dengan menulis sendiri ACL memberikan akses tulis kepada kata laluan pengguna atribut kepada pengguna yang disahkan sebagai dn di mana sifat itu hidup. Dengan kata lain, pengguna boleh mengemas kini kata laluan pengguna atribut entri mereka sendiri.

• The kata laluan pengguna atribut sebaliknya tidak boleh diakses oleh semua pengguna lain, kecuali rootDN, yang sentiasa mempunyai akses dan tidak perlu disebut secara eksplisit.

• Agar pengguna menukar kata laluan mereka sendiri, menggunakan passwd atau utiliti lain, milik pengguna sendiri shadowLastChange atribut perlu boleh ditulis. Semua pengguna direktori lain boleh membaca kandungan atribut ini.


DIT ini boleh dicari tanpa nama kerana 'kepada * oleh * baca' dalam ACL ini, yang memberikan akses baca kepada semua yang lain, oleh sesiapa sahaja (termasuk tanpa nama):


kepada *

oleh * membaca


Jika ini tidak diingini maka anda perlu menukar ACL. Untuk memaksa pengesahan semasa permintaan bind anda boleh secara alternatif (atau dalam kombinasi dengan ACL yang diubah suai) menggunakan arahan 'olcRequire: authc'.


Seperti yang dinyatakan sebelum ini, tiada akaun pentadbiran ("rootDN") dicipta untuk pangkalan data slapd-config. Walau bagaimanapun, terdapat identiti SASL yang diberikan akses penuh kepadanya. Ia mewakili superuser localhost (root/ sudo). Ini dia:


dn.exact=gidNumber=0+uidNumber=0,cn=peercred,cn=luaran,cn=auth


Perintah berikut akan memaparkan ACL pangkalan data slapd-config:


sudo ldapsearch -Q -LLL -Y LUARAN -H ldapi:/// -b \ cn=config '(olcDatabase={0}config)' olcAccess


dn: olcDatabase={0}config,cn=config

olcAccess: {0}ke * oleh dn.exact=gidNumber=0+uidNumber=0,cn=peercred, cn=external,cn=auth urus dengan * break


Oleh kerana ini adalah identiti SASL, kami perlu menggunakan SASL mekanisme apabila menggunakan utiliti LDAP yang dipersoalkan dan kami telah melihatnya berkali-kali dalam panduan ini. Ia adalah mekanisme LUARAN. Lihat arahan sebelumnya untuk contoh. Ambil perhatian bahawa:


1. Anda mesti menggunakan sudo untuk menjadi identiti akar agar ACL sepadan.

2. Mekanisme LUARAN berfungsi melalui IPC (soket domain UNIX). Ini bermakna anda mesti menggunakan ldapi

format URI.


Cara ringkas untuk mendapatkan semua ACL adalah seperti ini:


sudo ldapsearch -Q -LLL -Y LUARAN -H ldapi:/// -b \ cn=config '(olcAccess=*)' olcAccess olcSuffix

Banyak yang boleh dikatakan mengenai topik kawalan akses. Lihat halaman lelaki untuk slapd.access4.


Pengkomputeran Awan OS teratas di OnWorks: