《linux就該這麼學》第十七節課:第18,19,23章,mariadb數據庫、PXE無人值守安裝系統和openldap目錄服務。

第23章html

(借鑑請改動)node

openldap數據的特色:一、短小。二、讀取次數較多mysql

              

上述說明:linux

            

openLDAP服務端配置:sql

        一、yum install -y openldap openldap-clients openldap-servers migrationtools  Loaded plugins: langpacks, product-id, subscription-manager數據庫

          //安裝相關軟件vim

        二、生成祕鑰文件並在/etc/hosts寫入解析地址api

          slappasswd -s linuxprobe -n > /etc/openldap/passwd                           //生成祕鑰服務器

          cat /etc/openldap/passwdapp

          {SSHA}v/GJvGG8SbIuCxhfTDVhkmWEuz2afNIR

          echo "192.168.10.10 instructor.linuxprobe.com" >> /etc/hosts              //寫入地址解析

        三、採用TLS加密機制來解決明文傳輸的問題,並設置權限

           [root@linuxprobe ~]# openssl req -new -x509 -nodes -out /etc/openldap/certs/cert.pem -keyout /etc/openldap/certs/priv.pem -days 365

                                              Generating a 2048 bit RSA private key

            

          cd /etc/openldap/certs/

          chown ldap:ldap *                //受權組

          chmod 600 priv.pem                //受權

        四、複製配置模板,生成數據庫文件,並修改ldap數據庫屬主組,systemctl啓動服務

          cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG        //複製模板

          slaptest                                                            //生成

          chown ldap:ldap /var/lib/ldap/*                         //修改權限 

          systemctl restart slapd                                    //重啓服務

        五、添加cosine和nis模塊,建立/etc/openldap/changes.ldif文件

          [root@linuxprobe ~]# cd /etc/openldap/schema/

          [root@linuxprobe schema]# ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f cosine.ldif

          [root@linuxprobe schema]# ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f nis.ldif

          vim /etc/openldap/changes.ldif                           //須要寫入大量配置,而且漢字地方須要修改

          dn: olcDatabase={2}hdb,cn=config
          changetype: modify
          replace: olcSuffix
          olcSuffix: dc=linuxprobe,dc=com

          dn: olcDatabase={2}hdb,cn=config
          changetype: modify
          replace: olcRootDN
          olcRootDN: cn=Manager,dc=linuxprobe,dc=com

          dn: olcDatabase={2}hdb,cn=config
          changetype: modify
          replace: olcRootPW
          olcRootPW: 此處輸入以前生成的密碼(如{SSHA}v/GJvGG8SbIuCxhfTDVhkmWEuz2afNIR)

          dn: cn=config
          changetype: modify
          replace: olcTLSCertificateFile
          olcTLSCertificateFile: /etc/openldap/certs/cert.pem

          dn: cn=config
          changetype: modify
          replace: olcTLSCertificateKeyFile
          olcTLSCertificateKeyFile: /etc/openldap/certs/priv.pem

          dn: cn=config
          changetype: modify
          replace: olcLogLevel
          olcLogLevel: -1

          dn: olcDatabase={1}monitor,cn=config
          changetype: modify
          replace: olcAccess
          olcAccess: {0}to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" read by dn.base="cn=Manager,dc=linuxprobe,dc=com" read by * none

          ldapadd命令用於將LDIF文件導入到目錄服務數據庫中,格式爲:「ldapadd [參數] LDIF文件」。

          -x                 //進行簡單認證。

          -D                    //用於綁定服務器的dn。

          -h:             // 目錄服務的地址。

          -w:            //綁定dn的密碼。

          -f:               //使用LDIF文件進行條目添加的文件。

        六、更新到slapd服務程序,並建立/etc/openldap/base.ldif文件,寫入下面內容。

          [root@linuxprobe ~]# ldapmodify -Y EXTERNAL -H ldapi:/// -f /etc/openldap/changes.ldif         //更新新的配置文件

          [root@linuxprobe ~]# vim /etc/openldap/base.ldif

          dn: dc=linuxprobe,dc=com

          dc: linuxprobe

          objectClass: top

          objectClass: domain

          dn: ou=People,dc=linuxprobe,dc=com

          ou: People

          objectClass: top

          objectClass: organizationalUnit

          dn: ou=Group,dc=linuxprobe,dc=com

          ou: Group

          objectClass: top

          objectClass: organizationalUnit

        七、建立結構目錄,並添加測試用戶

          [root@linuxprobe ~]# ldapadd -x -w linuxprobe -D cn=Manager,dc=linuxprobe,dc=com -f /etc/openldap/base.ldif

          adding new entry "dc=linuxprobe,dc=com"

          adding new entry "ou=People,dc=linuxprobe,dc=com"

          adding new entry "ou=Group,dc=linuxprobe,dc=com"

          [root@linuxprobe ~]# useradd -d /home/ldap ldapuser                        //添加帳戶

        八、設置帳戶遷移等動做

            

          ldapadd -x -w linuxprobe -D cn=Manager,dc=linuxprobe,dc=com -f users.ldif         //這是上述圖片不完整的命令

          ldapadd -x -w linuxprobe -D cn=Manager,dc=linuxprobe,dc=com -f groups.ldif        //這是上述圖片不完整的命令

        九、測試linuxprobe用戶,並安裝httpd服務,上傳祕鑰,並重啓服務

          [root@linuxprobe ~]# ldapsearch -x cn=ldapuser -b dc=linuxprobe,dc=com             //測試

          [root@linuxprobe ~]# yum install httpd -y                                                                 //安裝httpd

          [root@linuxprobe ~]# cp /etc/openldap/certs/cert.pem /var/www/html                        //複製祕鑰

          [root@linuxprobe ~]# systemctl restart httpd                                                              //重啓服務

          [root@linuxprobe ~]# systemctl enable httpd

        十、清空防火牆並設置日誌

          [root@linuxprobe ~]# iptables -F

          [root@linuxprobe ~]# service iptables save

          [root@linuxprobe ~]# vim /etc/rsyslog.conf

          local4.* /var/log/ldap.log

          [root@linuxprobe ~]# systemctl restart rsyslog

openLDAP客戶端:

        一、將LDAP服務端主機名與IP地址的解析記錄寫入/etc/hosts,並安裝相關軟件

          echo "192.168.10.10 instructor.linuxprobe.com" >> /etc/hosts

          yum install openldap-clients nss-pam-ldapd authconfig-gtk pam_krb5 Loaded plugins: langpacks, product-id, subscription-manager

        二、運行系統認證工具,並填寫LDAP服務信息,使用  id ldapuser  驗證本地是否有ldap用戶

        [root@linuxprobe ~]# system-config-authentication

            

自動掛載用戶目錄

        把遠程目錄使用nfs掛載到本地

          vim /etc/exports

          /home/ldap 192.168.10.20 (rw,sync,root_squash)

          vim /etc/fstab

          192.168.10.10:/home/ldap /home/ldap nfs defaults 0 0

          (具體的能夠去前面瞭解nfs的配置筆記)

第18章

18.一、數據庫管理系統

        數據庫是指按照某些特定的結構來存儲數據資料的數據倉庫。

        mariadb是mysql的替代品。

18.二、初始化mariadb服務

        yum    install  mariadb  mariadb-server   -y     //安裝mariadb

        yum安裝好後啓動maria服務

        安裝好後須要運行 mysql_secure_installation  進行設置:

        一、輸入密碼,當前密碼爲空,回車便可

            

        二、設置root登陸數據庫密碼

            

        三、移除匿名登陸

            

        四、禁止root遠程登陸

            

        五、移除test數據庫並取消對其訪問權限

            

        六、刷新受權表,使其當即生效

            

          當看到下圖時就表明成功,可使用。

            

        設置防火牆添加服務mysql:firewall-cmd --permanent   --add-service=mysql

        mysql  -u  root   -p     //使用root帳戶本地登陸,-p是使用密碼驗證

            

        show  database;     //顯示全部的數據庫

        SET  password   =  PASSWORD('linuxprobe');         //此命令是修改密碼,須要登錄後操做

18.三、管理帳戶以及受權

        GRANT  用於受權,對於用戶使用  to  關鍵字

        GRANT 權限 ON 數據庫.表單名稱 TO 用戶名@主機名                              //對某個特定數據庫中的特定表單給予受權

        GRANT 權限 ON 數據庫.* TO 用戶名@主機名                                           //對某個特定數據庫中的全部表單給予受權

        GRANT 權限 ON *.* TO 用戶名@主機名                                                     //對全部數據庫及全部表單給予受權

        GRANT 權限1,權限2 ON 數據庫.* TO 用戶名@主機名                                 //對某個數據庫中的全部表單給予多個受權

        GRANT ALL PRIVILEGES ON *.* TO 用戶名@主機名                                   //對全部數據庫及全部表單給予所有受權(需謹慎操做)

        REVOKE  用於取消受權,對於用戶使用  from  關鍵字(與grant用法一致)

18.四、建立數據庫與表單

        CREATE database 數據庫名稱。                                                                  //建立新的數據庫

        DESCRIBE 表單名稱;                                                                                     //描述表單

        UPDATE 表單名稱 SET attribute=新值 WHERE attribute > 原始值;                 //更新表單中的數據

        USE 數據庫名稱;                                                                                             //指定使用的數據庫

        SHOW databases;                                                                                         //顯示當前已有的數據庫

        SHOW tables;                                                                                               // 顯示當前數據庫中的表單

        SELECT * FROM 表單名稱;                                                                          //從表單中選中某個記錄值

        DELETE FROM 表單名 WHERE attribute=值;                                                //從表單中刪除某個記錄值

        DROP  database  數據庫名稱;                                                                    //刪除數據庫

        delete   from  表單;                                                                                      //刪除表單

        create  table  表單名稱;                                                                               //建立表單

        insert   into   表單   values   值                                                                       //用於插入表單內容

18.五、管理表單及數據

        數據庫最基本的是:增,刪,改,查

        mysqldump  用於備份數據庫數據。格式   mysqldunp   【參數】 【數據庫名稱】。

        -u        //定義登陸數據庫的帳戶名稱                         -p   表明密碼

        例如:mysqldump   -u   root  -p   linuxprobe   >  /root/linuxprobeDB.dump

 

第19章

19.1無人值守安裝系統

        對於少許的linux服務器安裝系統,咱們能夠光盤鏡像,但對於數十臺數百臺咱們就須要無人值守安裝系統了。

        無人值守安裝系統:PXE+TFTP+FTP+DHCP+Kickstart

19.二、部署無人值守安裝系統的相關服務程序

        一、DHCP配置,詳細見第14章,但有區別的參數:

            allow booting;                            

            allow bootp;

            ddns-update-style interim;

            ignore client-updates;

            subnet 192.168.10.0 netmask 255.255.255.0 {

            option subnet-mask 255.255.255.0;

            option domain-name-servers 192.168.10.10;

            range dynamic-bootp 192.168.10.100 192.168.10.200;

            default-lease-time 21600;

            max-lease-time 43200;

            next-server 192.168.10.10;

            filename "pxelinux.0";

            }

        二、配置tftp服務程序(詳見第11章)

           把disable  改成  no   ,防火牆添加69端口

        三、配置syslinux服務程序

        (1)yum  install  syslinux   -y

        (2)確認官潘已經掛載,把syslinux提供的引導文件複製到tftp服務程序中:

              cd /var/lib/tftpboot

              cp /usr/share/syslinux/pxelinux.0 ./

              cp /media/cdrom/images/pxeboot/{vmlinuz,initrd.img} ./

              cp /media/cdrom/isolinux/{vesamenu.c32,boot.msg} ./

       (3)在tftp服務目錄中建立pxelinux.cfg目錄,將系統光盤中開機選項菜單複製到該目錄中,並命名爲default。

              mkdir pxelinux.cfg

              cp /media/cdrom/isolinux/isolinux.cfg pxelinux.cfg/default

       (4)編輯default,vim  pxelinux.cfg/default

              把第1行和第64行更改:

              第1行改成default   linux                   //默認啓動linux

              64行:append initrd=initrd.img inst.stage2=ftp://192.168.10.10 ks=ftp://192.168.10.10/pub/ks.cfg quiet                //獲取應答文件的位置

       四、 配置vsftpd服務程序(也可用httpd服務來提供鏡像)

              配置vsftpd服務詳見第11章

              把光盤鏡像複製到ftp的目錄中:cp -r /media/cdrom/* /var/ftp  (若使用httpd則複製到  /var/www/html 目錄下)

              防火牆添加ftp服務和設置selinux:    

              firewall-cmd --permanent --add-service=ftp                     //若使用httpd服務,則相應的服務都需修改

              firewall-cmd --reload

              setsebool -P ftpd_connect_all_unreserved=on

        五、建立kickstart應答文件

              在/root/anaconda-ks.cfg  就是應答文件,複製到ftp目錄並編輯修改:

              cp /root/anaconda-ks.cfg /var/ftp/pub/ks.cfg

              chmod +r /var/ftp/pub/ks.cfg

              vim   /var/ftp/pub/ks.cfg

              url --url=ftp://192.168.10.10                   //第6行   地址修改

              timezone Asia/Shanghai --isUtc                //第21行    時區修改

              clearpart --all --initlabel                           //第29行        磁盤設置

19.三、客戶機配置

        客戶機是沒有系統的機器,只需插好網線,開機便可。

 

複習:第18章節

預習:第20章節

相關文章
相關標籤/搜索