第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章节

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

  1. 《linux就该这么学》第九节课:第七章,RAID阵列和LVM逻辑卷技术

    笔记 (借鉴请改动) 7.1.RAID(独立冗余磁盘阵列) 常见的几种RAID:RAID0,RAID1,RAID5,RAID10   raid0  实现写入速度但安全性略低. raid1 实现了速度和 ...

  2. 《linux就该这么学》第二节课,安装红帽7,基础命令至2.3小节的笔记

    笔记 实验环境: 1.安装注意事项:使用VM12版本   安装需要稍后安装系统.   自定义硬件DVD选择镜像位置.   自定义网卡仅主机.   自定义内存:大于等于4G,给予虚拟机2G,大于2G小于 ...

  3. centos linux 系统日常管理4 scp,rsync,md5sum,sha1sum,strace ,find Rsync 常见错误及解决方法 第十七节课

    centos linux 系统日常管理4  scp,rsync,md5sum,sha1sum,strace ,find Rsync 常见错误及解决方法  第十七节课 rsync可以增量同步,scp不行 ...

  4. centos samba/squid 配置 samba配置 smbclient mount fstab自动挂载samba curl -xlocalhost:3128 www.qq.com squid配置 3128 DNSPOD 第二十七节课

    centos  samba/squid 配置  samba配置 smbclient  mount fstab自动挂载samba curl -xlocalhost:3128 www.qq.com squ ...

  5. centos shell编程3【告警系统】 没有服务器端和客户端的概念 main.sh mon.conf load.sh 502.sh mail.php mail.sh disk.sh 第三十七节课

    centos shell编程3[告警系统]  没有服务器端和客户端的概念 main.sh mon.conf load.sh 502.sh mail.php mail.sh  disk.sh  第三十七 ...

  6. 风炫安全web安全学习第三十七节课 15种上传漏洞讲解(二)

    风炫安全web安全学习第三十七节课 15种上传漏洞讲解(二) 05后缀名黑名单校验之上传.htaccess绕过 还是使用黑名单,禁止上传所有web容器能解析的脚本文件的后缀 $is_upload = ...

  7. 风炫安全WEB安全学习第二十七节课 XSS的防御措施

    风炫安全WEB安全学习第二十七节课 XSS的防御措施 XSS防御措施 总的原则 控制好输入/输出 过滤:根据业务需求进行过滤,对email,手机号码这样的输入框进行验证. 转义:所有输出到前端的数据都 ...

  8. 风炫安全WEB安全学习第十七节课 使用Sqlmap自动化注入(一)

    风炫安全WEB安全学习第十七节课 使用Sqlmap自动化注入(一) sqlmap的使用 sqlmap 是一个开源渗透测试工具,它可以自动检测和利用 SQL 注入漏洞并接管数据库服务器.它具有强大的检测 ...

  9. 《linux就该这么学》第十六节课:第16,17章,Squid服务和iscsi网络存储

    第十六章 squid总结: 正向代理:yum  安装后清空防火墙即可正常使用,客户端设置浏览器 透明正向代理:vim  /etc/squid/squid.conf 59行:http_port  312 ...

随机推荐

  1. fillder---断言,更改提交数据

    1.before requests:请求的发送前拦截,此时可以修改提交的表单.cookies.header头数据 在URL请求前,设置为before requests 2.after response ...

  2. Imcash:坐下来认真和你们说说话

    筹备已久的Imcash终于快上线了,上线后会用作品向你们证明你们的选择是正确的.在准备的半年期间里,团队从调研.设计.市场.人员.技术方面都尽量按照最高要求来配置.从一站式服务平台到现在的资产管家,每 ...

  3. C++ vector的用法(整理)

    vector 是向量类型,它可以容纳许多类型的数据,如若干个整数,所以称其为容器.vector 是C++ STL的一个重要成员,使用它时需要包含头文件: #include<vector>; ...

  4. Android高级工程师面试实战,您会挂么?

    xxx公司面试总结 面试形势 群聊(2个面试官+HR+自己) 面试流程 自我介绍 面试官根据你的介绍开始问 你对我们公司有什么想了解的么(复活卡,要时回到没有了也就没有了,可以让面试官给自己提一下建议 ...

  5. WebSocket的Tomcat实现

    一.WebSocket简单介绍 随着互联网的发展,传统的HTTP协议已经很难满足Web应用日益复杂的需求了.近年来,随着HTML5的诞生,WebSocket协议被提出,它实现了浏览器与服务器的全双工通 ...

  6. rem实现移动端自适应页面

    一.把px转换成rem方案 1.cssrem插件 2.css预处理器 3.rem-unit插件 4.px2rem插件 rem就是相对于根元素的font-size来做计算,设置好根结点字体大小,子节点用 ...

  7. jvm领域优秀博主

    dh5724 不过csdn iteye 博客园信息均被自己删除,只在一些问答中和引用中有部分信息. redcreen 对jvm有深入认知. RednaxelaFX oracle java 编译器开发者 ...

  8. 阿里云负载均衡SSL证书配置(更新)

    阿里云负载均衡及应用防火墙SSL证书配置 转载请注明地址:http://www.cnblogs.com/funnyzpc/p/8908461.html 好久了呢,距上篇博客的这段时间中:考试.搬家.工 ...

  9. Servlet 文件上传

    Servlet 可以与 HTML form 标签一起使用,来允许用户上传文件到服务器.上传的文件可以是文本文件或图像文件或任何文档. 本文使用到的文件有: 创建一个文件上传表单 下面的 HTML 代码 ...

  10. 变量类型-Dict

    教程:一:字典的创建        1:字典的介绍------>d = {key1:value1, key2:values2} (1)dictionary(字典) 是 Python 中最有用的数 ...