第23章html
(借鑑請改動)node
openldap數據的特色:一、短小。二、讀取次數較多mysql
上述說明:linux
openLDAP服務端配置:sql
一、yum install -y openldap openldap-clients openldap-servers migrationtools Loaded plugins: langpacks, product-id, subscription-manager數據庫
//安裝相關軟件vim
二、生成祕鑰文件並在/etc/hosts寫入解析地址api
slappasswd -s linuxprobe -n > /etc/openldap/passwd //生成祕鑰服務器
cat /etc/openldap/passwdapp
{SSHA}v/GJvGG8SbIuCxhfTDVhkmWEuz2afNIR
echo "192.168.10.10 instructor.linuxprobe.com" >> /etc/hosts //寫入地址解析
三、採用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 //受權
四、複製配置模板,生成數據庫文件,並修改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 //重啓服務
五、添加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文件進行條目添加的文件。
六、更新到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
七、建立結構目錄,並添加測試用戶
[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 //添加帳戶
八、設置帳戶遷移等動做
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 //這是上述圖片不完整的命令
九、測試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
十、清空防火牆並設置日誌
[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客戶端:
一、將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
二、運行系統認證工具,並填寫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.一、數據庫管理系統
數據庫是指按照某些特定的結構來存儲數據資料的數據倉庫。
mariadb是mysql的替代品。
18.二、初始化mariadb服務
yum install mariadb mariadb-server -y //安裝mariadb
yum安裝好後啓動maria服務
安裝好後須要運行 mysql_secure_installation 進行設置:
一、輸入密碼,當前密碼爲空,回車便可
二、設置root登陸數據庫密碼
三、移除匿名登陸
四、禁止root遠程登陸
五、移除test數據庫並取消對其訪問權限
六、刷新受權表,使其當即生效
當看到下圖時就表明成功,可使用。
設置防火牆添加服務mysql:firewall-cmd --permanent --add-service=mysql
mysql -u root -p //使用root帳戶本地登陸,-p是使用密碼驗證
show database; //顯示全部的數據庫
SET password = PASSWORD('linuxprobe'); //此命令是修改密碼,須要登錄後操做
18.三、管理帳戶以及受權
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.四、建立數據庫與表單
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.五、管理表單及數據
數據庫最基本的是:增,刪,改,查
mysqldump 用於備份數據庫數據。格式 mysqldunp 【參數】 【數據庫名稱】。
-u //定義登陸數據庫的帳戶名稱 -p 表明密碼
例如:mysqldump -u root -p linuxprobe > /root/linuxprobeDB.dump
第19章
19.1無人值守安裝系統
對於少許的linux服務器安裝系統,咱們能夠光盤鏡像,但對於數十臺數百臺咱們就須要無人值守安裝系統了。
無人值守安裝系統:PXE+TFTP+FTP+DHCP+Kickstart
19.二、部署無人值守安裝系統的相關服務程序
一、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";
}
二、配置tftp服務程序(詳見第11章)
把disable 改成 no ,防火牆添加69端口
三、配置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 //獲取應答文件的位置
四、 配置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
五、建立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.三、客戶機配置
客戶機是沒有系統的機器,只需插好網線,開機便可。
複習:第18章節
預習:第20章節