《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章节
《linux就该这么学》第十七节课:第18,19,23章,mariadb数据库、PXE无人值守安装系统和openldap目录服务。的更多相关文章
- 《linux就该这么学》第九节课:第七章,RAID阵列和LVM逻辑卷技术
笔记 (借鉴请改动) 7.1.RAID(独立冗余磁盘阵列) 常见的几种RAID:RAID0,RAID1,RAID5,RAID10 raid0 实现写入速度但安全性略低. raid1 实现了速度和 ...
- 《linux就该这么学》第二节课,安装红帽7,基础命令至2.3小节的笔记
笔记 实验环境: 1.安装注意事项:使用VM12版本 安装需要稍后安装系统. 自定义硬件DVD选择镜像位置. 自定义网卡仅主机. 自定义内存:大于等于4G,给予虚拟机2G,大于2G小于 ...
- centos linux 系统日常管理4 scp,rsync,md5sum,sha1sum,strace ,find Rsync 常见错误及解决方法 第十七节课
centos linux 系统日常管理4 scp,rsync,md5sum,sha1sum,strace ,find Rsync 常见错误及解决方法 第十七节课 rsync可以增量同步,scp不行 ...
- 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 ...
- 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 第三十七 ...
- 风炫安全web安全学习第三十七节课 15种上传漏洞讲解(二)
风炫安全web安全学习第三十七节课 15种上传漏洞讲解(二) 05后缀名黑名单校验之上传.htaccess绕过 还是使用黑名单,禁止上传所有web容器能解析的脚本文件的后缀 $is_upload = ...
- 风炫安全WEB安全学习第二十七节课 XSS的防御措施
风炫安全WEB安全学习第二十七节课 XSS的防御措施 XSS防御措施 总的原则 控制好输入/输出 过滤:根据业务需求进行过滤,对email,手机号码这样的输入框进行验证. 转义:所有输出到前端的数据都 ...
- 风炫安全WEB安全学习第十七节课 使用Sqlmap自动化注入(一)
风炫安全WEB安全学习第十七节课 使用Sqlmap自动化注入(一) sqlmap的使用 sqlmap 是一个开源渗透测试工具,它可以自动检测和利用 SQL 注入漏洞并接管数据库服务器.它具有强大的检测 ...
- 《linux就该这么学》第十六节课:第16,17章,Squid服务和iscsi网络存储
第十六章 squid总结: 正向代理:yum 安装后清空防火墙即可正常使用,客户端设置浏览器 透明正向代理:vim /etc/squid/squid.conf 59行:http_port 312 ...
随机推荐
- fillder---断言,更改提交数据
1.before requests:请求的发送前拦截,此时可以修改提交的表单.cookies.header头数据 在URL请求前,设置为before requests 2.after response ...
- Imcash:坐下来认真和你们说说话
筹备已久的Imcash终于快上线了,上线后会用作品向你们证明你们的选择是正确的.在准备的半年期间里,团队从调研.设计.市场.人员.技术方面都尽量按照最高要求来配置.从一站式服务平台到现在的资产管家,每 ...
- C++ vector的用法(整理)
vector 是向量类型,它可以容纳许多类型的数据,如若干个整数,所以称其为容器.vector 是C++ STL的一个重要成员,使用它时需要包含头文件: #include<vector>; ...
- Android高级工程师面试实战,您会挂么?
xxx公司面试总结 面试形势 群聊(2个面试官+HR+自己) 面试流程 自我介绍 面试官根据你的介绍开始问 你对我们公司有什么想了解的么(复活卡,要时回到没有了也就没有了,可以让面试官给自己提一下建议 ...
- WebSocket的Tomcat实现
一.WebSocket简单介绍 随着互联网的发展,传统的HTTP协议已经很难满足Web应用日益复杂的需求了.近年来,随着HTML5的诞生,WebSocket协议被提出,它实现了浏览器与服务器的全双工通 ...
- rem实现移动端自适应页面
一.把px转换成rem方案 1.cssrem插件 2.css预处理器 3.rem-unit插件 4.px2rem插件 rem就是相对于根元素的font-size来做计算,设置好根结点字体大小,子节点用 ...
- jvm领域优秀博主
dh5724 不过csdn iteye 博客园信息均被自己删除,只在一些问答中和引用中有部分信息. redcreen 对jvm有深入认知. RednaxelaFX oracle java 编译器开发者 ...
- 阿里云负载均衡SSL证书配置(更新)
阿里云负载均衡及应用防火墙SSL证书配置 转载请注明地址:http://www.cnblogs.com/funnyzpc/p/8908461.html 好久了呢,距上篇博客的这段时间中:考试.搬家.工 ...
- Servlet 文件上传
Servlet 可以与 HTML form 标签一起使用,来允许用户上传文件到服务器.上传的文件可以是文本文件或图像文件或任何文档. 本文使用到的文件有: 创建一个文件上传表单 下面的 HTML 代码 ...
- 变量类型-Dict
教程:一:字典的创建 1:字典的介绍------>d = {key1:value1, key2:values2} (1)dictionary(字典) 是 Python 中最有用的数 ...