AUTHSELECT-MIGRATIO(7)

NAME
authselect-migration - სახელმძღვანელო authconfig-იდან authselect-ზე გადასასვლელად.

აღწერა

ეს სახელმძღვანელოს გვერდი განმარტავს ძირითად განსხვავებებს authconfig-სა (სისტემის ავთენტიკაციისა და იდენტობის წყაროების მორგების ძველ პროგრამას) და მის შემცვლელ authselect-ს შორის. იგი ასევე განმარტავს, თუ რა ქმედებებია საჭირო authconfig-იდან authselect-ზე მიგრაციისთვის.

მთავარი სხვაობები

Authselect სისტემურ კონფიგურაციასთან authconfig-ისგან სრულიად განსხვავებულ მიდგომას იყენებს.

Authconfig მაქსიმალურად ცდილობს, შეინარჩუნოს მომხმარებლის მიერ ხელით შეტანილი ცვლილებები იმ ფაილებში, რომლებსაც ის ქმნის. ის ქმნის არა მხოლოდ PAM კონფიგურაციის ფაილებსა და nsswitch.conf-ს (ავთენტიკაციის მოდულებისა და იდენტობის წყაროების მოსარგებად), არამედ ქმნის მარტივ კონფიგურაციის ფაილებს რამდენიმე ისეთი სერვისისთვის, როგორიცაა LDAP და Kerberos.

Authselect მსგავს რამეს არ აკეთებს. იგი არ აგენერირებს არანაირ კონფიგურაციის ფაილებს PAM-ისა და nsswitch.conf-ის გარდა და მკაცრად კრძალავს ნებისმიერ ხელით ცვლილებას გენერირებულ კონფიგურაციაში. იგი უზრუნველყოფს ფაილების ნაკრებს, რომლებსაც პროფილები ეწოდება. თითოეული პროფილი აღწერს, თუ როგორი უნდა იყოს საბოლოო კონფიგურაცია და მისი მცირედით შეცვლა შესაძლებელია გარკვეული არასავალდებულო ფუნქციების ჩართვით ან გამორთვით. თუ გაჩნდება ისეთი პროფილის საჭიროება, რომელიც განსხვავდება authselect-ის მიერ შემოთავაზებულისგან, ადმინისტრატორს აქვს შესაძლებლობა, შექმნას სრულიად ახალი პროფილი და გამოიყენოს იგი authselect-თან ერთად. იხილეთ authselect-profiles(5), რომ მეტი გაიგოთ პროფილების შესახებ.

ეს შეიძლება დიდ ნაკლად მოგეჩვენოთ, მაგრამ რეალობა საპირისპიროა. Authconfig ძალიან ძველი ხელსაწყოა, ხოლო აპლიკაციები, რომლებიც საჭირო სერვისებს უზრუნველყოფენ, წლების განმავლობაში სწრაფად შეიცვალა. როგორც წესი, აღარ არსებობს PAM-სა და nsswitch.conf-ში მრავალი ავთენტიკაციის მოდულის ქონის საჭიროება, რადგან შემთხვევათა აბსოლუტურ უმრავლესობას SSSD ფარავს. შესაბამისად, მათი სპეციალურად დამატება ან ამოშლა საჭირო აღარ არის. ასევე არსებობს სისტემური დემონებისთვის კონფიგურაციის დასაგენერირებელი უკეთესი ხელსაწყოები, მაგალითად realm, რომელსაც შეუძლია დაგეხმაროთ დაშორებულ დომენში გაწევრების პროცესის ავტომატიზაციაში. გარდა ამისა, მოწოდებული პროფილები გვაძლევს ყოვლისმომცველ და დეტერმინისტულ სისტემურ კონფიგურაციას, რომელიც შეიძლება სრულად შემოწმდეს და ბევრად უფრო ნაკლებად არის მიდრეკილი შეცდომებისკენ. ასეთი კონფიგურაციის გავრცელება ბევრ სისტემაზე ასევე ბევრად უფრო მარტივია.

ალბათ ყველაზე საკამათო ცვლილება ის არის, რომ authselect-ს მხოლოდ sssd და winbind პროვაიდერების პროფილები მოჰყვება. ეს ორი პროვაიდერი ფარავს ყველა თანამედროვე საჭიროებას, დაწყებული ლოკალური მომხმარებლებისა და ძველი LDAP დომენების მხარდაჭერით, დასრულებული IPA ან Active Directory სერვერების კომპლექსური კონფიგურაციებით. პროფილები აღარ შეიცავს nss-pam-ldapd-ის მხარდაჭერას და მომხმარებლებს ურჩევენ, გადავიდნენ sssd-ზე.

გაწევრება დაშორებულ დომენებში

IPA დომენში გასაწევრებლად, შეგიძლიათ, ipa-client-install ან realm გამოიყენოთ, ხოლო realm — Active Directory დომენში გასაწევრებლად. ეს პროგრამები უზრუნველყოფენ authselect-ის სწორი პროფილის შერჩევას და ყველა დემონისა თუ სერვისის სწორად მორგებას.

თქვენი სკრიპტების გადაყვანა

თუ დომენში გასაწევრებლად ipa-client-install-ს ან realm-ს იყენებთ, შეგიძლიათ, უბრალოდ წაშალოთ authconfig-ის ნებისმიერი გამოძახება თქვენი სკრიპტებიდან. თუ ეს შეუძლებელია, თქვენ უნდა ჩაანაცვლოთ authconfig-ის თითოეული გამოძახება მისი ეკვივალენტური authselect გამოძახებით, რათა აირჩიოთ სწორი პროფილი სასურველი ფუნქციებით. ამის შემდეგ, თქვენ ასევე დაგჭირდებათ კონფიგურაციის ფაილის დაწერა საჭირო სერვისებისთვის.

Table 1. authconfig-ის პარამეტრების ურთიერთობა authselect-ის პროფილებთან
--enablenis | none

Table 2. authconfig-ის პარამეტრების ურთიერთობა authselect-ის პროფილის თვისებებთან
Authconfig options | Authselect profile feature
--enablesmartcard | with-smartcard
--enablefingerprint | with-fingerprint
--enablemkhomedir | with-mkhomedir
--enablefaillock | with-faillock
--enablepamaccess | with-pamaccess
--enablewinbindkrb5 | with-krb5
--enableshadow | none
--passalgo | none

    Note

    Authconfig-ის პარამეტრები --enableshadow`და `--passalgo=sha512 ხშირად გამოიყენებოდა იმისთვის, რომ პაროლები შენახულიყო ფაილში /etc/shadow ალგორითმის `sha512`გამოყენებით. Authselect-ის პროფილები ახლა იყენებენ yescrypt ჰეშირების მეთოდს და მისი შეცვლა პარამეტრის მეშვეობით შეუძლებელია (მხოლოდ მორგებული პროფილის შექმნით). შეგიძლიათ უბრალოდ გამოტოვოთ ეს პარამეტრები.

მაგალითები.

    authconfig --enableldap --enableldapauth --enablefaillock --updateall
    authselect select sssd with-faillock
    authconfig --enablesssd --enablesssdauth --enablesmartcard --smartcardmodule=sssd --updateall
    authselect select sssd with-smartcard
    authconfig --enablepamaccess --updateall
    authselect select sssd with-pamaccess
    authconfig --enablewinbind --enablewinbindauth --winbindjoin=Administrator --updateall
    realm join -U Administrator --client-software=winbind WINBINDDOMAIN

კონფიგურაციის ფაილები

ეს სექცია სხვადასხვა სერვისების მინიმალური კონფიგურაციის ფრაგმენტებს შეიცავს.

  LDAP

იმ შემთხვევაშიც კი, თუ LDAP პირდაპირ არ გამოიყენება pam_ldap-ისა და nss_ldap- ის მეშვეობით, მაინც სასარგებლოა ldap.conf-ის მორგება openldap-libs-ის და, ირიბად, სხვა პროგრამების (მაგ. LDAP-ის ხელსაწყოების, როგორიცაა ldapsearch) მოსარგებად.

"/etc"/openldap/ldap.conf.

    # ნაგულისხმევი საბაზისო dn-ის დაყენება
    BASE   dc=example,dc=com
    # ნაგულისხმევი LDAP სერვერის დაყენება
    URI    ldap://ldap.example.com ldap://ldap-master.example.com:666

  KERBEROS

თუ Kerberos-ს იყენებთ, იმისათვის, რომ krb5-libs-მა და ისეთმა პროგრამებმა, როგორიცაა kinit, გამართულად იმუშაოს, საჭიროა ნაგულისხმევი Kerberos-ის რეალმის მორგება.

"/etc"/krb5.conf.

    [libdefaults]
     default_realm = MYREALM
    [realms]
     MYREALM = {
      kdc = kdc.myrealm.org
     }
    [domain_realm]
     myrealm.org = MYREALM
     .myrealm.org = MYREALM

  SSSD

Authselect მოუწოდებს მომხმარებლებს, სადაც ეს შესაძლებელია, SSSD გამოიყენონ. არსებობს კონფიგურაციის მრავალი პარამეტრი. იხილეთ sssd.conf(5). ეს არის მინიმალური კონფიგურაცია, რომელიც ქმნის ერთ LDAP დომენს სახელით default. LDAP სერვერის ავტომატური აღმოჩენა ხდება DNS ძიების მეშვეობით.

"/etc"/sssd/sssd.conf.

    [sssd]
    config_file_version = 2
    domains = default
    [domain/default]
    id_provider = ldap
    ldap_uri = _srv_
    dns_discovery_domain = myrealm

აი კონფიგურაციის ფრაგმენტი იმავე დომენისთვის, მაგრამ ახლა ავთენტიკაცია ხორციელდება Kerberos-ის საშუალებით. KDC სერვერის ავტომატური აღმოჩენა ხდება DNS ძიების მეშვეობით.

"/etc"/sssd/sssd.conf.

    [sssd]
    config_file_version = 2
    domains = default
    [domain/default]
    id_provider = ldap
    auth_provider = krb5
    ldap_uri = _srv_
    krb5_server = _srv_
    krb5_realm = MYREALM
    dns_discovery_domain = myrealm

თუ გსურთ SSSD-ის კონფიგურირება IPA-ის ან Active Directory-ის დომენისთვის, გამოიყენეთ პროგრამა realm. ეს განახორციელებს საწყის მორგებას, რაც მოიცავს Kerberos keytab-ის შექმნას და ძირითადი SSSD კონფიგურაციის გენერაციას. ამის შემდეგ შეგიძლიათ მისი დაზუსტება "/etc"/sssd/sssd.conf ფაილის შეცვლით.

  WINBIND

თუ გსურთ მანქანის მორგება Winbind-ის გამოსაყენებლად, გამოიყენეთ realm. ის განახორციელებს საწყის მორგებას, რაც მოიცავს Kerberos keytab-ის შექმნას და adcli-ს გაშვებას დომენში გასაწევრებლად. ასევე ცვლის `smb.conf`ფაილს. ამის შემდეგ შეგიძლიათ მისი დაზუსტება "/etc"/samba/smb.conf ფაილის შეცვლით.

  პაროლის ხარისხი

Authselect რთავს მოდულს pam_pwquality პაროლის ხარისხის შეზღუდვების ასამოქმედებლად. ეს მოდული გააქტიურებულია, მხოლოდ, ლოკალური მომხმარებლებისთვის. დაშორებულმა მომხმარებლებმა უნდა გამოიყენონ პაროლის ის პოლიტიკა, რომელიც დადგენილია შესაბამისი დაშორებული სერვერის მიერ.

მოდულის pam_pwquality მორგება შეგიძლიათ ფაილიდან "/etc"/security/pwquality.conf. მისი კონფიგურაციის პარამეტრებისა და ნაგულისხმევი მნიშვნელობების სანახავად იხილეთ pam_pwquality(8).

სერვისების გაშვება

თქვენი კონფიგურაციიდან გამომდინარე, საჭირო სერვისები ხელით უნდა გაუშვათ systemd-ის მეშვეობით.

    • SSSD

        systemctl enable sssd.service ; systemctl start sssd.service

    • Winbind

        systemctl enable winbind.service ; systemctl start winbind.service

    • NIS

        systemctl enable rpcbind.service ; systemctl start rpcbind.service
        systemctl enable ypbind.service ; systemctl start ypbind.service

    • თუ თვისება mkhomedir ჩართულია

        systemctl enable oddjobd.service ; systemctl start oddjobd.service

AUTHCONFIG-ის ხელსაწყოები

Authconfig-ს მოჰყვება პროგრამა სახელით cacertdir_rehash. თუ ამ პროგრამას იყენებთ, გადაერთეთ openssl-ის ბრძანებაზე: openssl rehash <საქაღალდე>. ეს იგივეს აკეთებს.

ასევე იხილეთ

authselect(8), authselect-profiles(5), realm(8), ipa-client-install(1), sssd.conf(5), smb.conf(5), ldap.conf(5), krb5.conf(5)