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