##按e键,编辑启动参数
##找到 linux16 行,在末尾添加 rd.break console=tty0 ,按 Ctrl + x 启动进入到修复模式
##默认将磁盘Linux根目录挂载到修复模式环境下的 /sysroot,但是只读
# mount -o remount,rw /sysroot
# chroot /sysroot
# echo 密码 | passwd --stdin root
# touch /.autorelabel //标记,要求重建安全策略
# exit
# reboot
##是美国NSA研发出来的一套保护Linux系统安全机制,集成到内核中
sed -i "#SELINUX=enforcing#SELINUX=disabled#" /etc/selinux/config
在线Cron表达式生成器:http://cron.qqe2.com/
常用的cron表达式
0 10,14,16 * * ? 每天上午10点,下午2点,4点
0/30 9-17 * * ? 朝九晚五工作时间内每半小时
0 12 ? * WED 表示每个星期三中午12点
0 0 12 * * ? 每天中午12点触发
0 * 14 * * ? 在每天下午2点到下午2:59期间的每1分钟触发
0 0/5 14 * * ? 在每天下午2点到下午2:55期间的每5分钟触发
0 0/5 14,18 * * ? 在每天下午2点到2:55期间和下午6点到6:55期间的每5分钟触发
0 0-5 14 * * ? 在每天下午2点到下午2:05期间的每1分钟触发
0 10,44 14 ? 3 WED 每年三月的星期三的下午2:10和2:44触发
0 15 10 ? * MON-FRI 周一至周五的上午10:15触发
0 15 10 15 * ? 每月15日上午10:15触发
0 15 10 L * ? 每月最后一日的上午10:15触发
0 15 10 ? * 6L 每月的最后一个星期五上午10:15触发
0 15 10 ? * 6L 2012-2018 2012年至2018年的每月的最后一个星期五上午10:15触发
0 15 10 ? * 6#3 每月的第三个星期五上午10:15触发
0 15 10 ? * * 每天上午10:15触发
0 15 10 * * ? 每天上午10:15触发
0 15 10 * * ? 每天上午10:15触发
0 15 10 * * ? 2018 2018年的每天上午10:15触发
# wget kernel内核文件
# rpm -ivh kernel内核文件.rpm
# vi /boot/grub/grub.conf 查看
# reboot
# uname -r
find 目录 查找条件
常用的查找条件:
-name、-type、-size、-mtime、-user、-group
-exec 处理命令{} \;
grep '查找模式' 文件...
查找模式(正则表达式):
关键词
^word
word$
^$
常用的命令选项:
-v、-c、-i、-n
制作备份:
tar -zcPf 归档文件.tar.gz 被归档的文档....
tar -jcPf 归档文件.tar.bz2 被归档的文档....
tar -JcPf 归档文件.tar.xz 被归档的文档....
查看备份内容:
tar -tf 归档文件
释放备份:
tar -xf 归档文件 [-C 目标文件夹]
tar -xPf 归档文件
防火墙体系 ——
系统服务:firewalld
配置策略:firewall-cmd、firewall-config
预设的保护区域:
public:公众场所,除了ssh等少数服务以外,其他访问都拒绝
trusted:信任场所,允许任何访问
block:阻塞区域,阻止任何访问
drop:丢弃区域,丢弃任何访问数据包
防火墙策略的位置(作用范围):
运行时配置(runtime)
永久配置(permanent)
典型的防护方式:
方式1:默认public,开放其他xx条件
方式2:默认trusted,拒绝其他XX条件
firewall-cmd基本操作 ——
firewall-cmd --get-default-zone
firewall-cmd --set-default-zone=区域名
firewall-cmd --list-all 【看默认区域】
firewall-cmd --list-all-zones 【看所有区域】
firewall-cmd --list-all --zone=区域名 【看所有区域】
firewall-cmd [--permanent] --zone=区域名 --add-source=源地址
firewall-cmd --permanent --zone=trusted --add-forward-
port=端口转发配置
firewall-cmd --permanent --zone=trusted --add-forward-
port=port=被转发端口:proto=协议:toport=目标端口
firewall-mcd --reload
修改主机名:hostnamectl set-hostname 主机名
修改IP地址等网络参数:
nmcli connection show
nmcli connection show "连接名"
nmcli connection add con-name "连接名" ifname "接口名" type ethernet
接口名(ifname):内核自动识别的网卡名,物理硬件名
连接名(con-name):管理员使用某个网卡时定义的配置名,逻辑配置名
nmcli connection delete "连接名"
nmcli connection modify "连接名" ipv4.method auto|manual ipv4.addresses "IPv4地址/掩码长度 默认网关地址" ipv4.dns DNS地址 connection.autoconnect yes
nmcli connection up|down "System eth0"
systemctl enable NetworkManager
Server端:
安装samba
[root@server0 ~]# yum -y install samba samba-client cifs-utils
配置samba:
[root@server0 ~]# mkdir /smb1
[root@server0 ~]# vi /etc/samba/smb.conf #根据题目修改两处
workgroup = STAFF #Global Settings
[smb1] # Share Definitions
path = /smb1
hosts allow = 172.25.0.0/24
配置ldapuser1用户,密码tianyun
[root@server0 ~]# id ldapuser1
uid=1701(ldapuser1) gid=1701(ldapuser1) groups=1701(ldapuser1)
设置开机启动
设置selinux安全上下文关系:
[root@server0 ~]# ls -lZd /smb1/
drwxr-xr-x. root root unconfined_u:object_r:default_t:s0 /smb1/
Client端:
安装samba-client、cifs
[root@desktop0 ~]# yum -y install samba-client cifs-utils
创建挂载点:
[root@desktop0 ~]# mkdir /mnt/smb1
创建密码文件
配置开机自动挂载
配置server0服务器samba,共享目录/smb2,共享名smb2,仅允许example.com域中主机访问。仅允许用户
ldapuser1读取, ldapuser2读写,密码都为tianyun;desktop0以multiuser方式自动挂接到/mnt/smb2
Server端:
配置samba:
[root@server0 ~]# mkdir /smb2
[root@server0 ~]# vi /etc/samba/smb.conf
[smb2]
path = /smb2
hosts allow = 172.25.0.0/24
valid users = ldapuser1,ldapuser2
write list = ldapuser2
配置ldapuser2用户,密码tianyun
[root@server0 ~]# id ldapuser2
uid=1702(ldapuser2) gid=1702(ldapuser2) groups=1702(ldapuser2)
设置selinux安全上下文关系:
[root@server0 ~]# ls -lZd /smb2/
drwxr-xr-x. root root unconfined_u:object_r:default_t:s0 /smb2/
[root@server0 ~]# semanage fcontext -a -t samba_share_t "/smb2(/.*)?"
[root@server0 ~]# restorecon -RFvv /smb2/
restorecon reset /smb2 context unconfined_u:object_r:default_t:s0->system_u:object_r:samba_share_t:s0
设置ACL权限
[root@server0 ~]# setfacl -m u:ldapuser2:rwx /smb2
重启smb、nmb
[root@server0 ~]# systemctl restart nmb smb
Client端:
创建挂载点:
[root@desktop0 ~]# mkdir /mnt/smb2
创建密码文件
配置开机自动挂载
检查samba共享目录自动挂载成功
[root@desktop0 ~]# mount -a
[root@desktop0 ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/vda1 xfs 10G 3.1G 7.0G 31% /
devtmpfs devtmpfs 906M 0 906M 0% /dev
tmpfs tmpfs 921M 80K 921M 1% /dev/shm
tmpfs tmpfs 921M 17M 904M 2% /run
tmpfs tmpfs 921M 0 921M 0% /sys/fs/cgroup
//server0/smb1 cifs 10G 3.2G 6.9G 32% /mnt/smb1
//server0/smb2 cifs 10G 3.2G 6.9G 32% /mnt/smb2
检查ldapuser1可读不可写
检查ldapuser2可读可写
配置server0基本nfs,共享目录/nfs1,仅允许example.com域中主机访问;desktop0自动挂载到/mnt/nfs1
实验步骤:
server0
安装nfs
[root@server0 ~]# yum -y install nfs-utils
创建共享目录
[root@server0 ~]# mkdir /nfs1
配置nfs:
[root@server0 ~]# cat /etc/exports
/nfs1 172.25.0.0/24(ro,sync)
设置开机启动:
[root@server0 ~]# systemctl enable nfs-server.service
ln -s '/usr/lib/systemd/system/nfs-server.service' '/etc/systemd/system/nfs.target.wants/nfs-server.service'
[root@server0 ~]# systemctl restart nfs-server.service
desktop:
安装nfs
[root@desktop0 ~]# yum -y install nfs-utils
创建挂载目录:
[root@desktop0 ~]# mkdir /mnt/nfs1
配置开机自动挂载:
实验检查:
配置server0安全的nfs,共享目录/nfs2,仅允许example.com域中主机访问。/nfs2/private目录所有者为ldapuser5。desktop0自动挂载到/mnt/nfs2,用户ldapuser5能够写入文件到/mnt/nfs2/private
http://classroom.example.com/pub/keytabs/server0.keytab
http://classroom.example.com/pub/keytabs/desktop0.keytab
实验步骤:
server0
创建共享目录
[root@server0 ~]# mkdir -p /nfs2/private
修改属组
[root@server0 ~]# chown ldapuser5 /nfs2/private/
下载用于安全认证的keytab
[root@server0 ~]# wget http://classroom.example.com/pub/keytabs/server0.keytab -O /etc/krb5.keytab
配置nfs
[root@server0 ~]# vim /etc/sysconfig/nfs
# Optional arguments passed to rpc.nfsd. See rpc.nfsd(8)
RPCNFSDARGS="-V 4.2"
配置共享
[root@server0 ~]# vim /etc/exports
重启服务:
[root@server0 ~]# systemctl restart nfs-server.service
[root@server0 ~]# systemctl enable nfs-secure-server.service
[root@server0 ~]# systemctl restart nfs-secure-server.service
desktop0:
下载用于安全认证的keytab
[root@desktop0 ~]# wget http://classroom.example.com/pub/keytabs/desktop0.keytab -O /etc/krb5.keytab
重启服务
[root@desktop0 ~]# systemctl enable nfs-secure
[root@desktop0 ~]# systemctl restart nfs-secure.service
创建挂载目录
[root@desktop0 ~]# mkdir /mnt/nfs2
配置开机自动挂载
[root@desktop0 ~]# vi /etc/fstab
实验检查:
[root@desktop0 ~]# su - ldapuser5
Creating home directory for ldapuser5.
[ldapuser5@desktop0 ~]$ touch /mnt/nfs2/private/file1
touch: cannot touch ‘/mnt/nfs2/private/file1’: Permission denied
获取kerberos的凭据
[ldapuser5@desktop0 ~]$ kinit
Password for [email protected]: #密码kerberos
[ldapuser5@desktop0 ~]$ touch /mnt/nfs2/private/file1
server0配置iscsi target,卷大小为1G,iscsi target名为iqn.2014-11.com.tianyun:server0, 仅允许
iqn.2014-11.com.tianyun:desktop0访问; desktop0配置iscsi initiator,创建大小为500M的分区,格式化为
ext4文件系统,自劢挂载到/mnt/iscsidisk
server0
创建共享卷
分1G分区
[root@server0 ~]# fdisk /dev/vdb
[root@server0 ~]# partprobe /dev/vdb
[root@server0 ~]# ll /dev/vdb*
brw-rw----. 1 root disk 253, 16 Oct 8 22:15 /dev/vdb
brw-rw----. 1 root disk 253, 17 Oct 8 22:15 /dev/vdb1
安装iscis相关软件:
[root@server0 ~]# yum -y install targetcli
[root@server0 ~]# systemctl enable target.service
[root@server0 ~]# systemctl restart target.service
配置iscis
[root@server0 ~]# targetcli
/> saveconfig
Last 10 configs saved in /etc/target/backup.
Configuration saved to /etc/target/saveconfig.json
desktop0
安装iscsi-initator
[root@desktop0 ~]# yum -y install iscsi*
配置iscsi
[root@desktop0 ~]# vim /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.2014-11.com.tianyun:desktop0
重启iscsid
[root@desktop0 ~]# systemctl enable iscsid
[root@desktop0 ~]# systemctl restart iscsid
发现 man iscsiadm
[root@desktop0 ~]# iscsiadm -m discovery -t st -p server0
172.25.0.11:3260,1 iqn.2014-11.com.tianyun:server0
重启iscsi:
[root@desktop0 ~]# systemctl restart iscsi
[root@desktop0 ~]# systemctl enable iscsi
创建500M的主分区
[root@desktop0 ~]# fdisk /dev/sda
[root@desktop0 ~]# partprobe /dev/sda
[root@desktop0 ~]# ll /dev/sda*
格式化分区
[root@desktop0 ~]# mkfs.ext4 /dev/sda1
创建挂载点
[root@desktop0 ~]# mkdir /mnt/iscsidisk
获取UUID
[root@desktop0 ~]# blkid /dev/sda1
/dev/sda1: UUID="01375990-9fa5-4f1b-ba52-44f04f3a99fa" TYPE="ext4"
设置开机自动挂载
[root@desktop0 ~]# vim /etc/fstab
配置server0 Web服务,网站www0.example.com。拒绝cracker.com域 访问。
网页文件:http://classroom.example.com/pub/webs/www.html
安装http
[root@server0 ~]# yum -y install httpd mod_ssl mod_wsgi
获取网页文件
[kiosk@foundation0 webs]$ scp www.html root@server0:/var/www/html
www.html 100% 17 0.0KB/s 00:00
[root@server0 html]# mv www.html index.html
修改配置文件
[root@server0 ~]# cd /etc/httpd/conf.d/
[root@server0 conf.d]# vim www0.conf
ServerName www0.example.com
DocumentRoot /var/www/html
Require all granted
Require not ip 172.24.3.0/24
重启apache:
[root@server0 conf.d]# systemctl enable httpd.service
[root@server0 conf.d]# systemctl restart httpd.service
配置server0 Web服务,网站www0.example.com启用TLS加密。
TLS certificate http://classroom/pub/tls/certs/www0.crt
TLS private key http://classroom/pub/tls/private/www0.key
TLS CA certificate http://classroom/pub/example-ca.crt
下载证书,私钥
cd /etc/httpd/conf.d
[root@server0 conf.d]# wget http://classroom/pub/tls/certs/www0.crt
[root@server0 conf.d]# wget http://classroom/pub/tls/private/www0.key
修改配置文件www0.conf,增加如下内容:
[root@server0 conf.d]# vim www0.conf
重启apache:
[root@server0 conf.d]# systemctl restart httpd.service
导入证书:
[root@server0 conf.d]# wget http://classroom/pub/example-ca.crt
firefox &
选择编辑—属性
打开view certificates,点击import导入证书
点击open
配置server0 Web服务,网站server0.example.com,网站目录为/var/www/virtual
网页文件:http://classroom.example.com/pub/webs/server.html
创建网页目录
[root@server0 conf.d]# mkdir /var/www/virtual
获取网页文件
[kiosk@foundation0 webs]$ scp server.html root@server0:/var/www/virtual
server.html 100% 20 0.0KB/s 00:00
[root@server0 conf.d]# cd /var/www/virtual/
[root@server0 virtual]# ls
server.html
[root@server0 virtual]# mv server.html index.html
修改配置文件
[root@server0 conf.d]# vim server0.conf
ServerName server0.example.com
DocumentRoot /var/www/virtual
Require all granted
重启apache:
[root@server0 conf.d]# systemctl restart httpd.service
配置server0 Web服务,网站webapp0.example.com,端口为8888/tcp
Python application http://classroom.example.com/pub/webs/webapp.wsgi
创建网页目录
[root@server0 conf.d]# mkdir /var/www/webapp
获取网页文件
[kiosk@foundation0 webs]$ scp webapp.wsgi root@server0:/var/www/webapp
webapp.wsgi 100% 397 0.4KB/s 00:00
修改配置文件
[root@server0 conf.d]# vim webapp0.conf
Listen 8888
ServerName webapp0.example.com
WSGIScriptAlias / /var/www/webapp/webapp.wsgi
Require all granted
重启apache
[root@server0 conf.d]# systemctl restart httpd.service
查看报错日志
[root@server0 conf.d]# journalctl -xn
确认修改selinux上下文
[root@server0 conf.d]# semanage port -a -t http_port_t -p tcp 8888
重启apache
[root@server0 conf.d]# systemctl restart httpd.service
配置server0 Web服务,http://server0.example.com/private,仅允许从server0访问。
网页文件:http://classroom.example.com/pub/webs/private.html
创建网页目录
[root@server0 conf.d]# mkdir /var/www/virtual/private
获取网页文件
[kiosk@foundation0 webs]$ scp private.html root@server0:/var/www/virtual/private
private.html 100% 14 0.0KB/s 00:00
[root@server0 conf.d]# cd /var/www/virtual/private
[root@server0 private]# mv private.html index.html
修改配置文件server0.conf,增加如下内容
[root@server0 conf.d]# vim server0.conf //增加
Require local
重启apache
[root@server0 conf.d]# systemctl restart httpd.service
只有本机可以访问http://server0.example.com/private
desktop0打开firefox无法访问
配置server0 Shell script,输入bar显示foo,输入foo显示bar,输入其他显示Usage xxx
编辑脚本
增加执行权限
[root@server0 ~]# chmod a+x /root/script1.sh
配置server0 Shell script:
批量添加用户,根据指定文件作为参数添加用户,需要判断是否存在参数和用户文件是否存在,需要错误退出和退
出返回值。设置/bin/false为添加用户默认shell。
创建测试文件
[root@server0 ~]# vim user.txt
alice
jack
robin
tom
zhuzhu
gougou
创建脚本
[root@server0 ~]# vim /root/script2.sh
增加执行权限
[root@server0 ~]# chmod a+x /root/script2.sh
[root@server0 ~]# /root/script2.sh user.txt
[root@server0 ~]# cat /etc/passwd
配置server0 Mariadb数据库
1) 安装Mariadb
2) 配置root户只能从本地登录,密码为tianyun
3) 禁用匿名用户访问www.wyzc.com
4) 创建数据库Concats
5) 导入数据到Concats http://content.example.com/courses/rhce/rhel7.0/materials/mariadb/mariadb.dump
6) 授权Luigi用户可以select访问数据库Concats中的表。
7) 按要求实现单表查询,提交结果
8) 按要求实现多表查询,提交结果
server0
安装mariadb
[root@server0 ~]# yum -y groupinstall mariadb mariadb-clients
重启mariadb
[root@server0 ~]# systemctl enable mariadb
[root@server0 ~]# systemctl restart mariadb.service
初始化mariadb
[root@server0 ~]# mysql_secure_installation
Enter current password for root (enter for none): #直接回车
创建数据库
[root@server0 ~]# mysql -uroot -ptianyun
MariaDB [(none)]> create database Concats;
MariaDB [(none)]> \q
获取数据
[kiosk@foundation0 RHCE]$ scp mariadb.dump root@server0:/root
mariadb.dump 100% 2760 2.7KB/s 00:00
导入数据
[root@server0 ~]# mysql -uroot -ptianyun Concats < mariadb.dump
给Luigi用户授予访问权限
[root@server0 ~]# mysql -uroot -ptianyun
测试Luici用户只有select权限
单表查询
多表查询: