RHCSA习题

一、重置系统密码

重置步骤

重启系统,按e进入编辑界面,找到第一个以linux16开头的行,在末尾添加rd.break,按下Ctrl+x引导系统。

输入以下指令:

1
2
3
4
5
6
mount -o remount,rw /sysroot #以读写权限重新挂载硬盘上的真实系统根目录
chroot /sysroot #把环境切换到真实系统根目录
echo redhat | passwd --stdin root #重置root密码为redhat(自己定)
touch /.autorelabel #告诉系统下次重启将对文件进行SeLinux上下文重新打标
exit #退出真实系统根目录环境
exit 再次退出引导系统

二、完成网络配置和修改主机名

进入相应的文件,修改信息

1
2
3
4
5
6
7
8
9
vim /etc/sysconfig/network-scripts/ifcfg-eth0 #修改里面的参数(不一定是eth0)
# BOOTPROTO=dhcp 等号右边改为 none
# ONBOOT=no 等号右边改为yes
# 在文件末尾新添加以下内容(根据具体情况而定):
# IPADDR=192.168.216.128
# NETMASK=255.255.255.0
# GETAWAY=192.168.216.255
# DNS1=114.114.114.114
systemctl restart network # 重新启动网络服务

三、配置SeLinux

设置SElinux工作模式为enforcing

要求系统重启后依然生效

1
2
3
setenforcing 1   #设置当前模式为enforcing
vim /etc/sysconfig/selinux #永久设置为enforcing模式
# SELINUX=permissive 等号右边改为 enforcing

四、配置YUM软件仓库

用浏览器打开题目所给的仓库地址(url),可以在里面看到gpgkey(release)

配置步骤:

进入/etc/yum.repos.d/目录

创建163.repo文件(名字可以自定义)

将yum源放进文件中(注释部分即为yum源)

开始安装软件

1
2
3
4
5
6
7
8
9
10
11
12
执行命令:
cd /etc/yum.repos.d/
touch 163.repo
vim 163.repo
# [base] (自定义)
# name=163 (自定义)
# baseurl=http://mirrors.163.com/centos/7/os/$basearch/
# enabled=1
# gpgcheck=1
# gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7
yum makecache #检验
yum -y install gcc-c++

列出一些常用的命令:

1
yum provides mdamd # 查看mdamd 命令在哪一个包下

五、调整逻辑卷容量

扩充逻辑卷

题目:

请按照以下要求调整本地逻辑卷lvm1的容量

调整后的逻辑卷及文件系统大小为770MB

调整后确保文件系统中已存在的内容不能被损坏(ps:肯定不会被破坏)

调整后的容量可能出现误差,只要在730MB-805MB之间都是允许的

调整后,保证其挂载目录不改变,文件系统完成(ps:肯定不改变,因为不需要卸载)

执行命令

1
2
3
4
5
df -Th                           # 查看要扩充的设备挂载在哪个目录下
lvextend -L 770M /dev/vg0/lvm1 # 开始扩充
resize2fs /dev/vg0/lvm1 # 刷新文件系统的容量信息,文件系统是ext
#xfs_growfs /dev/vg0/lvm1 # 如果文件系统是xfs
df -Th # 检查,查看扩充后的信息,可能有点误差是没关系的

缩小逻辑卷

缩小逻辑卷前一定要先把文件系统卸载掉

检查文件系统的完整性并刷新文件系统的容量信息

缩小容量

查看挂载并查看检验

1
2
3
4
5
6
umount /dev/vg0/lv0        # 卸载文件系统
e2fsck -f /dev/vg0/lv0 # 检查文件系统的完整性
resize2fs -f /dev/vg0/lv0 150M # 刷新文件系统的容量信息
lvreduce -L 150 /dev/vg0/lv0 # 中途需要确定 yes
mount -a # 重新挂载
df -Th # 检查

注意点:

  • ext2/3/4文件系统调整的命令是resize2fs,增大和减小都支持
  • xfs文件系统调整的命令是xfs_growfs,只支持增大

六、创建用户和用户组

题目:

  • 新建一个名为adminuser的组,组ID为40000
  • 新建一个名为natasha的用户,并将adminuser作为其附属组
  • 新建一个名为harry的用户,并将adminuser作为其附属组
  • 新建一个名为sarah的用户,其不属于adminuser组,其在系统中没有任何可交互的shell
  • 三个用户的密码都设置为redhat
1
2
3
4
5
6
7
8
执行命令:
groupadd -g 40000 adminuser #新建组id为40000的adminuser
useradd -G adminuser natasha # -G 指定附属组
useradd -G adminuser harry # -G 指定附属组
useradd -s /sbin/nologin sarah # -s 指定用户的shell解释器
echo redhat | passwd --stdin natasha
echo redhat | passwd --stdin harry
echo redhat | passwd --stdin sarah

七、配置文件/var/tmp/fstab的权限

题目:

复制文件/etc/fstab到/var/tmp目录下,并按以下要求配置/var/tmp/fstab文件的权限

  • 该文件的所属人为 root

  • 该文件的所属组为 root

  • 该文件对任何人均没有执行权限

  • 用户 natasha 对该文件有读和写的权限

  • 用户 harry 对该文件既不能读也不能写

  • 所有用户(包括当前已有用户和未来创建用户)对该文件都有读的权限 (ps:括号里指的是other用户)

    执行命令

    1
    2
    3
    4
    5
    cp /etc/fstab /var/tmp/fstab
    chown root:root /var/tmp/fstab
    chmod a-x /var/tmp/fstab
    setfacl -m u:natasha:rw,u:harry:---,o::-w- /var/tmp/fstab
    getfacl /var/tmp/fstab # 检查

    八、建立计划任务

    题目:

    对natasha用户建立计划任务,要求在本地时间的每天14:30执行以下命令

    /bin/echo “rhcsa”

    执行命令:

    1
    2
    3
    crontab -e -u natasha
    23 14 * * * /bin/echo "rhcsa"
    crontab -l -u natasha # 检查

    九、创建一个共享目录

    题目:
    在/home目录下创建名为 admins 的子目录,并按以下要求设置权限:

    /home/admins 目录的所属组为adminuser
    该目录对 adminuser 组的成员可读可执行可写,但对其他用户没有任何权限,但root不受限制
    在/home/admins目录下所创建的文件的所属组自动设置为adminuser
    执行命令:

    1
    2
    3
    4
    mkdir /home/admins
    chgrp adminuser /home/admins # 更改所属组
    chmod 2770 /home/admins # 修改权限
    ls -ld /home/admins # 查看验证

    十、升级系统内核

    题目:
    http://content.example.com/rhel7.0/x86_64/errata/Packages下找到需要升级的内核,同时满足下列要求

    当系统重新启动之后,升级的内核要作为默认的内核(ps:会自动默认,直接安装就好了)
    原来的内核要被保留,并且仍然可以正常启动
    执行命令:

    1
    rmp -ivh http://content.example.com/rhel7.0/x86_64/errata/Packages/...rpm

    十一、配置LDAP客户端

    题目:
    在classroom.example.com上已经部署了一台LDAP认证服务器,按以下要求将你的系统加入到该LDAP服务中,并使用Kerberos认证用户密码:

    该LDAP认证服务的Base DN为:dc=example,dc=com
    该LDAP认证服务的LDAP Server为:classroom.example.com
    密码认证服务的Kerberos Realm为:EXAMPLE.COM
    密码认证服务的Kerberos KDC为:classroom.example.com
    密码认证服务的Kerberos Admin Server为:classroom.example.com
    认证的绘画连接需要使用TLS加密,加密所用证书请在此下载http://classroom.example.com/pub/example-ca.crt
    注意点:
    因为证书是基于时间的,所以请配好时间,切记!
    所以请先完成第十三题(配置NTP)

    执行命令:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    yum -y install sssd krb5-workstation.x86_64 authconfig.gtk # 安装三个包
    authconfig.gtk # 进入图像化界面
    # User Account Database选择LDAP
    # 复制 dc=example,dc=com
    # 复制 classroom.example.com
    # 勾选 复制证书 OK
    # 复制 EXAMPLE.COM
    # 复制 classroom.example.com
    # 复制 classroom.example.com
    systemctl enable sssd # 开启
    systemctl restart sssd # 重启
    su - ldapuser0 # 检验,如果能切换到这个用户,说明配置成功

    十二、配置NTP(时间同步)

    题目
    配置您的系统时间与服务器classroom.example.com同步,要求系统重启后依然生效

    执行命令

    1
    2
    3
    4
    5
    6
    7
    vim /etc/chrony.conf
    # 原来的四行注释掉(server0~3)
    # 新增:
    # server classroom.example.com
    systemctl enable chronyd # 保证一下,默认是开启的
    systemctl restart chronyd # 重启
    ntpdate classroom.example.com # 同步