运行脚本(考试环境):
#!/bin/bash
echo exampassword | passwd --stdin root &> /dev/null
rm -fr /etc/sysconfig/network-scripts/ifcfg-eth0
rm -fr /etc/yum.repos.d/*
rm -fr /root/.ssh/*
cat /usr/rhcsa-exam >/root/Desktop/examdocs
clear
echo "您的主机会在10秒后自动重启,在进行考试之前,请先重置根用户密码为 exam"
sleep 10
reboot
IPADDR: 172.25.254.x(X 在这里指您的工作站编号加100)
NETMASK: 255.255.255.0
GATEWAY: 172.25.254.250
DNS: 172.25.254.250
yum源地址为:http://172.25.254.250/rhel7
1.
在进行考试之前,请先重置根用户密码为 dream
2.
更改主机名称为 station.domainX.example.com(X 在这里指您的工作站编号)
3.
将/home 分区设定至 200MB,误差范围仅限于 180MB-230MB 之间,并且保留其原有资料的完整性
4.
按照下面的要求创建一个新的逻辑卷:
*)逻辑卷命名为 database,属于 datastore 卷组.
*)逻辑卷的大小为 50 个物理扩展单元(physical extent)
*)在 datastore 卷组中的逻辑卷,其物理扩展单元(physical extent) 的大小应为 8MB。
*)使用{vfat|ext3|ext4} 文件系统对新的逻辑卷进行格式化
*)逻辑卷应该在系统启动的时候自动挂载在/mnt/database 目录下。
5.
新增加一个 SWAP 分区
*)大小为 512MB,
*)使该 SWAP 能够每次开机生效,并且保留原有的 SWAP 分区
6.
设定selinux为强制级别
7.
新建组,名称为 sysadms,指定其 GID 为 600
8.
新建用户 tommy,指定 UID 为 2013,配置该用户密码为 redhat
9.
新建用户 Jimmy,并且禁止该用户交互式登录,配置该用户密码为 redhat
10.
新建用户 natasha,harry, 并将这两个用户加入到 sysadms 组当中,作为从属组,如果需要,则将用户密码配置为 redhat
11.
在/home 目录中创建目录 materials,配置该目录的所属组为 sysadms,要求隶属于 sysadms 组当中的成员对该目录有读写权限,在sysadms目录当中创建的文件或者文件夹,其所属组也自动继承 sysadms 的所属组
12.
拷贝/etc/fstab 文件到/var/tmp 目录中,设置以下需求
• 使 harry 用户对该文件无任何权限
• 使 natasha 对该文件有完全控制权限
• 配置文件所属用户为 root
• 配置文件所属组为 root
• 其他所有用户对文件拥有读权限
• 其他所有用户对文件没有执行权限
13.
为用户 natasha 创建计划任务,要求在 14:23 执行“/bin/echo hiya”
14.
设置 NTP 客户端,与172.25.254.254进行时间同步
15.
找出用户组mail 拥有的文件,并且将它们放到/root/findresults 目录中
16.
在文件/usr/share/mime/packages/freedesktop.org.xml
中查找所有包含 ich 的行,
将找出的行按照先后顺序拷贝到/root/lines文件中,
/root/lines 文件不包含空格,
并且其中行的内容是源文件
/usr/share/mime/packages/freedesktop.org.xml 原始行的准确副本
17.
配置 FTP 服务
*)使匿名用户可以上传下载/var/ftp/pub目录里的内容,
*)使 FTP 服务能够开机自动启动
18.
配置sshd服务的加密访问要求如下
加密公钥地址
ftp://172.25.254.250/pub/exam/id_rsa.pub
请执行命令自行加密sshd服务,加密对象为root用户
19.
设定/home分区的配额,student用户最多只能在/home下写入50M数据
#!/bin/bash
echo '############ examdoc ##########'
echo ip:$(ifconfig|grep inet|grep -v -E "inet6|127" |awk -F " " '{print $2}')
echo Gateway:$(route -n | grep UG|awk -F " " '{print $2}')
echo DNS:$(cat /etc/resolv.conf | grep nameserver |awk '{print $2}')
echo yumsource:$(cat /etc/yum.repos.d/*.repo|grep baseurl|awk -F "=" '{print $2}'
)
echo "############# 2 ###############"
echo answer: $(hostname)
echo "############# 3 ###############"
df -H|grep home
echo "############# 4 ###############"
echo PE SIZE :$( vgdisplay datastore | grep "PE Size" | awk -F " " '{print $3$4}')
df -H | grep /mnt/database
echo "############# 5 ###############"
swapon -s
echo "############# 6 ###############"
getenforce
echo "############# 7 ###############"
grep sysadms /etc/group
echo "############# 8 ###############"
id tommy
echo "############# 9 ###############"
id Jimmy
echo "############# 10 ##############"
id natasha
id harry
echo "############# 11 ##############"
ls -ld /home/materials 2> /dev/null || echo "ERROR:not have file "
echo "############# 12 ##############"
ls -l /var/tmp/fstab&&getfacl /var/tmp/fstab || error
echo "############# 13 ##############"
cat /var/spool/cron/natasha || echo user err
echo "############# 14 ##############"
timedatectl | grep "NTP synchronized"
grep server /etc/chrony.conf |grep ^# -v
echo "############# 15 ##############"
ls -l /root/findresults
echo "############# 16 ##############"
tail -5 /root/lines
vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
NAME=eth0
ONBOOT=yes
BOOTPROTO=none
IPADDR=172.25.254.125
PREFIX=24
GATEWAY=172.25.254.250
DNS1=172.25.254.250
systemctl restart network
vim /etc/yum.repo.d/yum.repo
[rhel7]
name=rhel7
baseurl=http://172.25.254.250/rhel7
gpgcheck=0
yum clean all
yum repolist
hostnamectl set-hostname station.domain25.example.com
umount /home/
e2fsck -f /dev/mapper/vg0-vo
resize2fs /dev/mapper/vg0-vo 200M
mount /dev/mapper/vg0-vo /home/
fdisk /dev/vdb ##创建一个分区并修改格式为linux lvm
pvcreate /dev/vdb2
vgcreate -s 8M datastore /dev/vdb1
lvcreate -L 400M -n database datastore
mkfs.ext4 /dev/xxx/xxx
mount /dev/datastore/database /mnt/database
fdisk /dev/vdb
partprobe
mkswap /dev/vdb3
swapon -a /dev/vdb3
vim /etc/fstab
/dev/vdb3 swap swap defaults 0 0
vim /etc/sysconfig/selinux
selinux=enforcing
reboot
groupadd -g 600 sysadms
useradd -u 2013 tommy
echo redhat | passwd --stdin tommy
useradd -s /sbin/nologin Jimmy
echo redhat | passwd --stdin Jimmy
useradd -G sysadms natasha
useradd -G sysadms harry
echo redhat | passwd --stdin natasha
echo redhat | passwd --stdin harry
mkdir /home/materials
chgrp sysadms /home/materials
chmod 775 /home/materials
chmod g+s /home/materials
cp /etc/fstab /var/tmp
setfacl -m u:harry:0 /var/tmp/fstab
setfacl -m u:natasha:rwx /var/tmp/fstab
chown root.root /var/tmp/fstab
setfacl -m o:r /var/tmp/fstab
crontab -u natasha -e
23 14 * * * /bin/echo hiya
yum install chrony -y
vim /etc/chrony.conf
server 0.rhel.pool.ntp.org iburst
server 172.25.254.254 iburst
server 2.rhel.pool.ntp.org iburst
server 3.rhel.pool.ntp.org iburst
systemctl restart chronyd
chrony resource -v ###显示为*则正确
find / -group mail -exec cp -rp {} /root/findresults \;
grep ich /usr/share/mime/packages/freedesktop.org.xml > /root/lines
vim /root/lines
%s/^ *//g
yum install vsftpd -y
systemctl start vsftpd
systemctl stop firewalld
systemctl enable vsftpd
vim /etc/vsftpd/vsftpd.conf
write_enable=YES
anon_upload_enable=YES
anon_world_readable_only=NO
chgrp ftp /var/ftp/pub
chmod 775 /var/ftp/pub
#####由于selinux无法上传,给相应的权限#####
getsebool -a|grep ftp
setsebool -P ftpd_anon_write on
chcon -t public_content_rw_t /var/ftp/pub/
ssh-keygen
lftp 172.25.254.250
get /pub/exam/id_rsa.pub
quit
mv id_rsa.pub /root/.ssh/
ssh-copy-id -i /root/.ssh/id_rsa.pub
umount /home
mount -o usrquota,grpquota /dev/vdb2 /home
quotaon -uv /dev/vdb2
quotacheck -u /dev/vdb2
edquota -u student
vim /etc/fstab
/dev/vdb2 /home ext4 defaults,usrquota,grpquota 0 0