zoukankan      html  css  js  c++  java
  • 《linux就该这么学》第十七节课:第18,19,23章,mariadb数据库、PXE无人值守安装系统和openldap目录服务。

    第23章

    (借鉴请改动)

    openldap数据的特点:1、短小。2、读取次数较多

                  

    上述说明:

                

    openLDAP服务端配置:

            1、yum install -y openldap openldap-clients openldap-servers migrationtools  Loaded plugins: langpacks, product-id, subscription-manager

              //安装相关软件

            2、生成秘钥文件并在/etc/hosts写入解析地址

              slappasswd -s linuxprobe -n > /etc/openldap/passwd                           //生成秘钥

              cat /etc/openldap/passwd

              {SSHA}v/GJvGG8SbIuCxhfTDVhkmWEuz2afNIR

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

            3、采用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                //授权

            4、复制配置模板,生成数据库文件,并修改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                                    //重启服务

            5、添加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文件进行条目添加的文件。

            6、更新到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

            7、创建结构目录,并添加测试用户

              [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                        //添加账户

            8、设置账户迁移等动作

                

              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        //这是上述图片不完整的命令

            9、测试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

            10、清空防火墙并设置日志

              [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客户端:

            1、将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

            2、运行系统认证工具,并填写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.1、数据库管理系统

            数据库是指按照某些特定的结构来存储数据资料的数据仓库。

            mariadb是mysql的替代品。

    18.2、初始化mariadb服务

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

            yum安装好后启动maria服务

            安装好后需要运行 mysql_secure_installation  进行设置:

            1、输入密码,当前密码为空,回车即可

                

            2、设置root登录数据库密码

                

            3、移除匿名登录

                

            4、禁止root远程登录

                

            5、移除test数据库并取消对其访问权限

                

            6、刷新授权表,使其立即生效

                

              当看到下图时就代表成功,可以使用。

                

            设置防火墙添加服务mysql:firewall-cmd --permanent   --add-service=mysql

            mysql  -u  root   -p     //使用root账户本地登录,-p是使用密码验证

                

            show  database;     //显示所有的数据库

            SET  password   =  PASSWORD('linuxprobe');         //此命令是修改密码,需要登陆后操作

    18.3、管理账户以及授权

            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.4、创建数据库与表单

            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.5、管理表单及数据

            数据库最基本的是:增,删,改,查

            mysqldump  用于备份数据库数据。格式   mysqldunp   【参数】 【数据库名称】。

            -u        //定义登录数据库的账户名称                         -p   代表密码

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

    第19章

    19.1无人值守安装系统

            对于少量的linux服务器安装系统,我们可以光盘镜像,但对于数十台数百台我们就需要无人值守安装系统了。

            无人值守安装系统:PXE+TFTP+FTP+DHCP+Kickstart

    19.2、部署无人值守安装系统的相关服务程序

            1、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";

                }

            2、配置tftp服务程序(详见第11章)

               把disable  改为  no   ,防火墙添加69端口

            3、配置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                //获取应答文件的位置

           4、 配置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

            5、创建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.3、客户机配置

            客户机是没有系统的机器,只需插好网线,开机即可。

    复习:第18章节

    预习:第20章节

  • 相关阅读:
    Visifire正式版(v1.1)发布
    [转]PSP机能强大!已能模拟运行WINDOWS系统?
    在Silverlight+WCF中应用以角色为基础的安全模式(一)基础篇之角色为基础的安全模式简介 Virus
    C#的加密解密算法,包括Silverlight的MD5算法 Virus
    MMORPG programming in Silverlight Tutorial (10)Implement the sprite’s 2D animation (Part IV)
    Game Script: Rescue Bill Gates
    MMORPG programming in Silverlight Tutorial (9)KeyFrame Animation
    MMORPG programming in Silverlight Tutorial (5)Implement the sprite’s 2D animation (Part II)
    MMORPG programming in Silverlight Tutorial (7)Perfect animation
    MMORPG programming in Silverlight Tutorial (3)Animate the object (Part III)
  • 原文地址:https://www.cnblogs.com/charelee/p/10097235.html
Copyright © 2011-2022 走看看