***此篇文章是在昂立江海老师的答案基础上做部分修改而来,并非完全原创,在此特别声明***
考试注意事项
1. 所有需要的软件包考试的时候会给出
2. 升级软件包所在目录也会给出
3. 你可以用真实机来验证虚拟机中的考试实验是否正确完成
4. 考题中出现的 X,是你宿主机的IP 地址主机位
5. example.com 域所在的网络是192.168.0.0/24
cracker.com 域所在的网络是172.16.0.0/16,一般在题意中被要求拒绝的网络
6. RHCSA 部分,在system1 主机上完成
RHCE 部分,在system1 和system2 上完成
考试前是进入不了虚拟机的,需要恢复其root密码,并设置好主机名、IP地址、掩码、网关、DNS服务器等。
1. 恢复root密码
(1)在选系统界面按任意键暂停
(2)选择我们要进入的系统内核,按e编辑grub2菜单
(3)选择linux16那行(倒数第二行),追加rd.break (记住加一个空格在输入命令)
(4)ctrl+x引导,进入终端
#mount -o remount,rw /sysroot #重新挂载根目录为读写模式
#chroot /sysroot #切换到系统真正的根
#passwd root # 修改密码(每个人密码不一样,注意大小写)
#touch /.autorelabel #SELinux给所有文件夹标签,必须要有.autorelabel文件
#exit
#exit #退出编辑模式(两次),系统会自动重启
----------------------------------------------------------------------------------
2. 配置主机名,ip 地址,网关,DNS。主机名: serverX.example.com, IP: 19168.0.150+X/24, 网关:19168.0.254, DNS: 19168.0.254
1. 主机名
用命令行修改主机名:
hostnamectl set-hostname serverX.example.com
或者编辑配置文件: vim /etc/hostname
在终端里面将原来的主机名删掉,然后写入:
serverX.example.com
在查看下是否修改成功:
hostname
2. 编辑网络
在目录下找到存在的网卡或者链接,编辑它
vim /etc/sysconfig/network-script/ifcfg-eth0
BOOTPROTO=manual(可写可不写,原来是none,反正只要不是DHCP就ok)
IPADDR0=192.168.0.150+X(IP)
PREFIX0=24(子网掩码)
GATEWAY=192.168.0.254(网关)
---Gateway可能有,直接修改就好了;也可能没有,没有的话就在后面加一行。
ONBOOT=yes(开机启用)
-----------------------------
Nmcli device Nmcli connection #
Nmcli connection modify eth0 ipv4.address 192.168.0.150+X/24 ipv4.gateway 192.168.0.254 ipv4.dns 192.168.0.254
Nmcli connection modify eth0 ipv4.method manual
Nmcli connection reload / down / up
3. 修改DNS(没有的话加一行)
vim /etc/resolv.conf
nameserver 192.168.0.254(DNS)
4. 重启网络
systemctl restart network
1. SElinux 必须运行在Enforcing模式下。
SELinux处于permissive状态,首先修改配置文件
Vim /etc/selinux/config
SELINUX=enforcing
然后在终端设置一下
setenforce 1
检查getforce
返回Enforcing就ok
----------------------------------------------------------------------------------
2. 配置YUM源,使用地址http://classroom.example.com/rhel7/dvd作为默认的源
要是目录里面有别的*.repo文件,直接删除。
方法一:直接编写Yum文件
vim /etc/yum.repos.d/rhel.repo
[rhel]
name = rhel
baseurl= http://classroom.example.com/rhel7/dvd
enabled=1
gpgcheck = 0
写完之后yum clean all清除缓存
然后用yum repolist检查一下,在status下面只要不是0就ok。
------------------------------------------
方法二:用命令直接添加Yum文件
##Yum-config-manager --add-repo=”http://classroom.example.com/rhel7/dvd”
##Yum repolist
----------------------------------------------------------------------------------
3. 调整逻辑卷home的大小为300M,确保这个文件系统的内容仍然完整。
注意:分区很少能精确到和要求的大小相同,因此在范围260M到320M之间都是可接受的
首先,肯定是让你扩增逻辑卷,不会让你缩小。
我们用lvs查看下系统里面的lv,然后去扩增它。
lvresize -L 300M /dev/vgsrv/home ##lvextend -L 300M /dev/vgsrv/home
假设要是ext4文件类型
resize2fs /dev/vgsrv/home
假设要是xfs文件类型
xfs_growfs /dev/vgsrv/home
##无论是RHCSA还是RHCE的考题,虚拟机只有一个硬盘vda,所有划分分区的操作,都强烈建议把磁盘当前剩余的所有空间划分为扩展分区,然后才建立逻辑分区予以使用。
##磁盘管理不管是考试,还是生产都非常重要,必须先勤加练习。
##考试时,使用fdisk划分磁盘时,已存在三个主分区,因此需新建一个扩展分区后。完成后不要退出,再选择"n",为扩展分区新建一个逻辑分区,完成后使用命令partprobe 刷新磁盘分区。
----------------------------------------------------------------------------------
4. 创建下面的用户、组和组成员关系:
名字为adminuser的组,
用户natasha,使用adminuser作为附属组,
用户harry,也使用adminuser作为附属组,
用户sarah,在系统上不能访问可交互的shell,且不是adminuser的成员,
natasha,harry,sarah密码都是redhat
groupadd adminuser
useradd -G adminuser natasha #gpasswd -a username groupname
useradd -G adminuser harry #usermod -aG groupname1 gn2 gn... username
useradd -s /sbin/nologin sarah
echo "redhat" | passwd --stdin natasha #这种方法密码完全可视,可以防止输入出错,生产环境有泄密的风险
echo "redhat" | passwd --stdin harry
echo "redhat" | passwd --stdin sarah
----------------------------------------------------------------------------------
5. 复制文件/etc/fstab到/var/tmp/fstab,配置/var/tmp/fstab的权限如下:
文件/var/tmp/fstab所有者是root, 文件/var/tmp/fstab属于root组,
文件/var/tmp/fstab不能被任何用户执行,
用户natasha可读和可写/var/tmp/fstab,
用户harry既不能读也不能写/var/tmp/fstab,
所有其他用户(现在和将来)具有读/var/tmp/fstab的能力
cp /etc/fstab /var/tmp/
ll /var/tmp/fstab
-rw-r--r--. 1 root root 313 Nov 14 19:30 /var/tmp/fstab
setfacl -m u:natasha:rw /var/tmp/fstab
setfacl -m u:harry:- /var/tmp/fstab
getfacl /var/tmp/fstab查看
----------------------------------------------------------------------------------
6. 用户natasha必须配置一个cron job ,当地时间每天14:23运行,执行/bin/echo hiya
设置cron一定要记住格式:(分 时 日 月 周 命令)
crontab -e -u natasha
23 14 * * * /bin/echo hiya
crontab -l -u natasha #检查配置信息
----------------------------------------------------------------------------------
7. 创建一个目录/home/admins,使之具体下面的特性:
/home/admins所属组为adminuser,这个目录对组adminuser的成员具有可读、可写和可执行,但是不是对其他用户。
(root可以访问系统上所有的文件和目录)在/home/admins 下创建的任何文件所属组自动设置为adminuser
##SUID=4,SGID=2,SBIT=1
##SUID SGID 使调用者暂时获得该文件拥有者/组的权限
##SBIT 任何一个在该目录下建立文件的用户,他创建的文件(夹)只能被自己和root 用户删除,其他用户全都不行。
mkdir /home/admins
chgrp adminuser /home/admins
chmod 2770 /home/admins
ll -d /home/admins
drwxrws---. 2 root adminuser 6 Nov 14 19:33 /home/admins
(注意查看group上面的s权限)
----------------------------------------------------------------------------------
8. 从http://server.domain11.example.com/pub/updates 安装合适的内核更新。
下面的要求必须满足:更新的内核作为系统启动的默认内核,原来的内核在系统启动的时候仍然有效和可引导
编辑一个新的yum源,但是原来的不要删除。系统在开机时会将/etc/yum.repos.d/下的所有repo的文件读取一次。
vim /etc/yum.repos.d/updates.repo
[updates]
name=updates
baseurl=http://server.domain11.example.com/pub/updates
enbale=1
gpgcheck=0
##yum-config-manager --add-repo="http://server.domain11.example.com/pub/updates"
然后升级一遍内核,重启电脑。
yum update kernel
reboot
非常建议在考试时破密码进入系统,然后配置yum后就直接做这题,然后重启机子再开始做题。
----------------------------------------------------------------------------------
9. 系统classroom.example.com提供了一个LDAP证服务,你的系统应该按下面的要求绑定到这个服务:验证服务的基准DN是dc=example,dc=com,LDAP用于提供账号信息和验证信息链接应该使用位于:http://classroom.example.com/pub/example-ca.crt的证书加密当正确的配置后,IdapuserX可以登录你的系统,但没有家目录直到你完成autofs题目IdapuserX的密码是’password’
辅导时请输入lab ipaclient setup生成环境,考试时不用
有两种方式完成配置,命令和图形化
# yum –y install sssd authconfig-gtk
# systemctl enable sssd
# systemctl start sssd
# authconfig-gtk #进入图形化配置界面,前提是已经安装了图形化界面,如果没有则要先安装
----------------------------------------------------------
Wget -O /etc/openldap/cacerts/cacart.pem http://classroom.example.com/pub/cacert.pem
& authcinfig-tui #在命令模式下配置
Getent passwd idapuserx
# su - ldapuserX #这里如果有报错,而又确定配置没有问题,有可能是NTP没有配置,可以先配NTP.
su: warning: cannot change directory to /home/guests/ldapuser1: No such file or directory
mkdir: cannot create directory '/home/guests': Permission denied
-bash-4.2$
----------------------------------------------------------------------------------
10. 配置你的系统使它是classroom.example.com的一个NTP客户
默认安装过,但是不排除考试时故意不装
记住安装服务三部曲,安装、开机启动、启用服务
yum install chrony
systemctl enable chronyd
systemctl restart chronyd
编辑配置文件
vim /etc/chrony.conf
原来有的服务器全部注释掉
#server 0.rhel.pool.ntp.org iburst
#server 1.rhel.pool.ntp.org iburst
#server 2.rhel.pool.ntp.org iburst
#server 3.rhel.pool.ntp.org iburst
server classroom.example.com iburst #然后在下面自己加一行
systemctl restart chronyd #保存退出后重启服务
chronyc sources -v #检查
在返回的信息最下面(一排=====下面)会有你添加的那一个服务器就ok了。
----------------------------------------------------------------------------------
11. 配置autofs自动挂载LDAP用户的家目录,如下要求: classroom.example.com使用NFS共享了/rhome给你的系统。这个文件系统包含了预先设置好的用户IdapuserX的家目录是classroom.example.com:/rhome/IdapuserX,IdapuserX的家目录应该自动挂载到本地/home/guests,下面的/home/guests/IdapuserX家目录必须对用户具有可写权限IdapuserX的密码是’password’
yum install -y autofs #首先安装autofs的包
systemctl enable autofs #配置开机启动
systemctl start autofs #启动服务
将服务器上的信息共享到本地的/home/guests下
vim /etc/auto.master
/home/guests /etc/auto.misc
具体的属性到/etc/auto.misc下编辑(这里的/auto/misc就像是一个中转站)
vim /etc/auto.misc
ldapuserX -fstype=nfs,rw,vers=3.0 classroom.example.com:/rhome/ldapuserX #如果题目需要指定版本
* -fstype=nfs,rw,sync,soft,vers=3.0 classrom.example.com:/rhome/& #这种方式也可以
systemctl restart autofs #重启服务使配置生效
getent passwd ldapuserX #然后检查
su - ldapuserX
----------------------------------------------------------------------------------
12. 创建一个用户alex,uid为1234。这个用户的密码为redhat。
useradd -u 1234 alex
echo “redhat” | passwd --stdin alex
记住,echo后面输出的话请加上一个“”
----------------------------------------------------------------------------------
13. 为你的系统上额外添加一个大小为512M的交换分区,这个交换分区在系统启动的时候应该能自动挂载。不要移除和更改你系统上现存的交换分区。
记住我们的分区四部曲:先分区,在刷新,格式化,终挂载
n(添加)->+512M(大小)->t(改标签)->82(代号)->w(保存退出)
/dev/vda5 swap swap defaults 0 0
swapon -a(刷新)
swapon(检查)
----------------------------------------------------------------------------------
14. 找出所有者是natasha的文件,并把他们拷贝到/root/findfiles目录。
mkdir /root/findfiles
find / -user natasha -exec cp -rp {} /root/findfiles/ (空格) \;
(r:递归复制目录;p:保留源文件或目录的属性,包括所有者、所属组、权限与时间)
----------------------------------------------------------------------------------
15. 在/usr/share/dict/linux.words中找出所有包含abrot的行。复制所有这些行并按照原来的顺序放在文件/root/grepfile.txt中。/root/grepfile.txt应该没有空白行,所有的行必须是原有行的精确复制。
grep abrot /usr/share/dict/linux.words > /root/grepfile.txt
----------------------------------------------------------------------------------
16. 创建名为/root/backupetc.tar.gz的备份文件,其中包含/etc的内容,tar必须使用gzip压缩。
tar zcvf /root/backupetc.tar.gz /etc
(记住三种格式tar包的参数:)
(z用于gzip压缩:filename.tar.gz)
(j用于bzip2压缩:filename.tar.bz2)
(J用于xz压缩:filename.tar.xz)
----------------------------------------------------------------------------------
17. 按照下面的要求创建一个新的逻辑卷:逻辑卷命名为database,属于卷组datastore,且大小为20个PE。在卷组datastore的逻辑卷每个PE的大小为16M。使用ext3格式化这个新的逻辑卷.此逻辑卷在系统启动的时候应该能自动挂载到/mnt/database。
1、分区: fdisk /dev/vda
n(添加)->+500M(大小)->t(改标签)-> 8e(代号)->w(保存退出)
2、刷新: partprobe /dev/vda
3、建物理卷 pvcreate /dev/vda6
4、建卷组,定义PE块大小和卷组名字
vgcreate -s 16M datastore /dev/vda6
5、建逻辑卷,取名和数量
lvcreate -n database -l 20 datastore #小写的l为PE块的个数,大写的L为逻辑卷实际容量大小
6、查看创建的逻辑卷信息
lvs 或者lvdisplay /dev/datastore/database
7、格式化 mkfs.ext3 /dev/datastore/database
8、创建挂载点 mkdir /mnt/database
9、永久挂载 vim /etc/fstab
/dev/datastore/database /mnt/database ext3 defaults 0 0
10、刷新 mount -a
11、检查 df -Th
/dev/mapper/datastore-database ext3 302M 2.1M 280M 1% /mnt/database
(mapper是逻辑卷的标识,不用管)