热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

第23章(借鉴请改动)openldap数据的特点:1、短小。2、读取次数较多上述说明: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章节

转:https://www.cnblogs.com/charelee/p/10097235.html



推荐阅读
  • 现在比较流行使用静态网站生成器来搭建网站,博客产品着陆页微信转发页面等。但每次都需要对服务器进行配置,也是一个重复但繁琐的工作。使用DockerWeb,只需5分钟就能搭建一个基于D ... [详细]
  • PatchODAX8: ... [详细]
  • 本文介绍了在Linux下安装和配置Kafka的方法,包括安装JDK、下载和解压Kafka、配置Kafka的参数,以及配置Kafka的日志目录、服务器IP和日志存放路径等。同时还提供了单机配置部署的方法和zookeeper地址和端口的配置。通过实操成功的案例,帮助读者快速完成Kafka的安装和配置。 ... [详细]
  • MybatisPlus入门系列(13) MybatisPlus之自定义ID生成器
    数据库ID生成策略在数据库表设计时,主键ID是必不可少的字段,如何优雅的设计数据库ID,适应当前业务场景,需要根据需求选取 ... [详细]
  • 文本处理与软件管理
    1、自建yum仓库,分别为网络源和本地源本地源:       网络源:[root@openvpn~]#catetcyum.repos.dCentOS-Base.repo#CentO ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • Python实现变声器功能(萝莉音御姐音)的方法及步骤
    本文介绍了使用Python实现变声器功能(萝莉音御姐音)的方法及步骤。首先登录百度AL开发平台,选择语音合成,创建应用并填写应用信息,获取Appid、API Key和Secret Key。然后安装pythonsdk,可以通过pip install baidu-aip或python setup.py install进行安装。最后,书写代码实现变声器功能,使用AipSpeech库进行语音合成,可以设置音量等参数。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • 本文介绍了OpenStack的逻辑概念以及其构成简介,包括了软件开源项目、基础设施资源管理平台、三大核心组件等内容。同时还介绍了Horizon(UI模块)等相关信息。 ... [详细]
  • 本文介绍了一个适用于PHP应用快速接入TRX和TRC20数字资产的开发包,该开发包支持使用自有Tron区块链节点的应用场景,也支持基于Tron官方公共API服务的轻量级部署场景。提供的功能包括生成地址、验证地址、查询余额、交易转账、查询最新区块和查询交易信息等。详细信息可参考tron-php的Github地址:https://github.com/Fenguoz/tron-php。 ... [详细]
  • 本文讨论了在VMWARE5.1的虚拟服务器Windows Server 2008R2上安装oracle 10g客户端时出现的问题,并提供了解决方法。错误日志显示了异常访问违例,通过分析日志中的问题帧,找到了解决问题的线索。文章详细介绍了解决方法,帮助读者顺利安装oracle 10g客户端。 ... [详细]
  • 本文分享了一位Android开发者多年来对于Android开发所需掌握的技能的笔记,包括架构师基础、高级UI开源框架、Android Framework开发、性能优化、音视频精编源码解析、Flutter学习进阶、微信小程序开发以及百大框架源码解读等方面的知识。文章强调了技术栈和布局的重要性,鼓励开发者做好学习规划和技术布局,以提升自己的竞争力和市场价值。 ... [详细]
  • 原文地址http://balau82.wordpress.com/2010/02/28/hello-world-for-bare-metal-arm-using-qemu/最开始时 ... [详细]
  • hadoop1.2.1文档中这样写:Nowcheckthatyoucansshtothelocalhostwithoutapassphrase:$sshlocalhostIfyou ... [详细]
  • phpstudy云服务器安装,如何安装phpstudy
    本文目录一览:1、phpstudy安装在哪本地电脑还是服务器? ... [详细]
author-avatar
丁志翔64164
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有