跳到主要内容

Liunx 第4套练习

Liunx 第4套练习。

相关图书:《Linux网络操作系统项目教程》-中国工信出版集团、人民邮电出版社-杨云-ISBN9787115673602

印次:2025年8月第 1 次

注意

以下执行命令之后的输出仅供参考,不一定完全与示例内容一致!

本套试题都在管理员权限下操作!

在 /opt 目录下批量创建 test1、test2、test3 三个同级目录

[root@localhost ~]# mkdir /opt/test{1..3}
[root@localhost ~]# ls /opt/
test1 test2 test3

在 /opt/test1 目录创建 log.txt 文件,设置文件权限为555

[root@localhost ~]# touch /opt/test1/log.txt
[root@localhost ~]# chmod 555 /opt/test1/log.txt
[root@localhost ~]# ls -l /opt/test1/log.txt
-r-xr-xr-x. 1 root root 0 622 08:30 /opt/test1/log.txt

555权限为-r-xr-xr-x

将 /var/log/boot.log 文件移动到 /opt/test2 目录,并重命名为 boot_test.log

[root@localhost ~]# ls /var/log |grep boot.log
boot.log
[root@localhost ~]# mv /var/log/boot.log /opt/test2/boot_test.log
[root@localhost ~]# ls /opt/test2
boot_test.log
[root@localhost ~]# ls /var/log |grep boot.log

查看 /etc/passwd 文件后5行内容

[root@localhost ~]# tail -5 /etc/passwd
sshd:x:74:74:Privilege-separated SSH:/usr/share/empty.sshd:/usr/sbin/nologin
dnsmasq:x:985:985:Dnsmasq DHCP and DNS server:/var/lib/dnsmasq:/usr/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
a123456:x:1000:1000:a123456:/home/a123456:/bin/bash
vboxadd:x:984:1::/var/run/vboxadd:/bin/false

创建普通用户 netuser,指定家目录为 /opt/netuser,默认 shell 为 bash

[root@localhost ~]# useradd -d /opt/netuser -s /bin/bash netuser
[root@localhost ~]# id netuser
用户id=1001(netuser) 组id=1001(netuser)=1001(netuser)

创建工作组 tech,将 netuser 用户设置为该组主属用户

[root@localhost ~]# groupadd tech
[root@localhost ~]# usermod -g tech netuser
[root@localhost ~]# id netuser
用户id=1001(netuser) 组id=1002(tech)=1002(tech)

锁定 netuser 用户,禁止其登录系统

[root@localhost ~]# usermod -L netuser
[root@localhost ~]# passwd -S netuser
netuser LK 2026-06-22 0 99999 7 -1 (密码已被锁定。)

解锁已锁定的 netuser 用户,恢复正常登录权限

[root@localhost ~]# passwd -u -f netuser
解锁用户 netuser 的密码。
passwd: 操作成功
[root@localhost ~]# passwd -S netuser
netuser NP 2026-06-22 0 99999 7 -1 (密码为空。)

统计 /home 目录整体占用磁盘空间大小,查看磁盘 inode 使用情况

[root@localhost ~]# du -sh /home
63M /home
[root@localhost ~]# df -i
文件系统 Inodes 已用(I) 可用(I) 已用(I)% 挂载点
devtmpfs 210048 435 209613 1% /dev
tmpfs 218572 2 218570 1% /dev/shm
tmpfs 819200 833 818367 1% /run
/dev/mapper/cs-root 24616960 134894 24482066 1% /
/dev/sda1 524288 369 523919 1% /boot
tmpfs 43714 144 43570 1% /run/user/1000

永久卸载 /mnt/cdrom 挂载点,删除 fstab 中挂载配置并验证

[root@localhost ~]# umount /dev/sr0
[root@localhost ~]# nano /etc/fstab
[root@localhost ~]# mount -a
注意

执行命令之前确保虚拟机已挂载一个 ISO 镜像文件!

查看系统所有后台进程,筛选出所有终端无关的守护进程

[root@localhost ~]# ps -ef
UID PID PPID C STIME TTY TIME CMD
a123456 3045 2978 0 08:08 ? 00:00:00 /usr/libexec/gnome-session-c
a123456 3047 2978 0 08:08 ? 00:00:00 /usr/libexec/gnome-session-b
a123456 3064 2978 2 08:08 ? 00:01:33 /usr/bin/gnome-shell
a123456 3072 2978 0 08:08 ? 00:00:00 /usr/libexec/gvfsd
a123456 3077 2978 0 08:08 ? 00:00:00 /usr/libexec/gvfsd-fuse /run
a123456 3084 2978 0 08:08 ? 00:00:00 /usr/libexec/at-spi-bus-laun
a123456 3090 3084 0 08:08 ? 00:00:00 /usr/bin/dbus-broker-launch
a123456 3091 3090 0 08:08 ? 00:00:00 dbus-broker --log 4 --contro
a123456 3095 3064 0 08:08 ? 00:00:03 ibus-daemon --panel disable
a123456 3097 2978 0 08:08 ? 00:00:00 /usr/libexec/xdg-permission-
a123456 3102 2978 0 08:08 ? 00:00:00 /usr/libexec/gnome-shell-cal
a123456 3104 3095 0 08:08 ? 00:00:00 /usr/libexec/ibus-dconf
a123456 3105 3095 0 08:08 ? 00:00:01 /usr/libexec/ibus-extension-
a123456 3107 2978 0 08:08 ? 00:00:00 /usr/libexec/ibus-portal
a123456 3118 2978 0 08:08 ? 00:00:00 /usr/libexec/evolution-sourc
a123456 3129 2978 0 08:08 ? 00:00:00 /usr/libexec/goa-daemon
a123456 3132 2978 0 08:08 ? 00:00:00 /usr/libexec/evolution-calen
a123456 3141 2978 0 08:08 ? 00:00:00 /usr/libexec/goa-identity-se

TTY? 即无终端

强制终止 PID 为 1000 的进程

[root@localhost ~]# kill -9 1000

临时关闭网卡 ens33,再重新启用网卡

[root@localhost ~]# nmcli connection show
NAME UUID TYPE DEVICE
enp0s3 45da2f3c-af89-38dc-b83b-c1a02af27802 ethernet enp0s3
lo b2ee3f0b-b041-4dc2-9118-a7fcc11fe0e8 loopback lo
[root@localhost ~]# nmcli connection down enp0s3
成功停用连接 "enp0s3"(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/2)
[root@localhost ~]# nmcli connection up enp0s3
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/3)
注意

请先使用 nmcli connection show 来查询当前使用的网卡名称!

配置永久静态网络参数,重启网络并验证

参考 Liunx 第2套纯实操练习 永久配置网卡静态-ip网关dns设置开机自启并验证 部分

查看系统所有网络端口监听状态,筛选 TCP 协议监听端口

[root@localhost ~]# netstat -an |grep tcp
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN
tcp6 0 0 ::1:631 :::* LISTEN
tcp6 0 0 :::22 :::* LISTEN

测试与网关的连通性,发送3次测试数据包后自动停止

[root@localhost ~]# ping -c 3 www.baidu.com
PING www.baidu.com (183.240.99.224) 56(84) 比特的数据。
64 比特,来自 183.240.99.224 (183.240.99.224): icmp_seq=1 ttl=64 时间=20.4 毫秒
64 比特,来自 183.240.99.224 (183.240.99.224): icmp_seq=2 ttl=64 时间=20.7 毫秒
64 比特,来自 183.240.99.224 (183.240.99.224): icmp_seq=3 ttl=64 时间=20.9 毫秒

安装 nfs 共享服务,启动服务并设置开机自启,查看 nfs 服务状态

[root@localhost ~]# yum install nfs-utils -y
[root@localhost ~]# systemctl start nfs-server
[root@localhost ~]# systemctl enable nfs-server
Created symlink /etc/systemd/system/multi-user.target.wants/nfs-server.service → /usr/lib/systemd/system/nfs-server.service.
[root@localhost ~]# systemctl status nfs-server
● nfs-server.service - NFS server and services
Loaded: loaded (/usr/lib/systemd/system/nfs-server.service; enabled; prese>
Active: active (exited) since Mon 2026-06-22 09:32:59 CST; 39s ago
Docs: man:rpc.nfsd(8)
man:exportfs(8)
Main PID: 35880 (code=exited, status=0/SUCCESS)
CPU: 14ms

修改 vsftpd 配置,禁止匿名用户登录,仅允许系统用户登录

[root@localhost ~]# yum install vsftpd -y
[root@localhost ~]# nano /etc/vsftpd/vsftpd.conf

vsftpd.conf 部分文件内容:

# Example config file /etc/vsftpd/vsftpd.conf
#
# The default compiled in settings are fairly paranoid. This sample file
# loosens things up a bit, to make the ftp daemon more usable.
# Please see vsftpd.conf.5 for all compiled in defaults.
#
# READ THIS: This example file is NOT an exhaustive list of vsftpd options.
# Please read the vsftpd.conf.5 manual page to get a full idea of vsftpd's
# capabilities.
#
# Allow anonymous FTP? (Beware - allowed by default if you comment this out).
anonymous_enable=NO
#
# Uncomment this to allow local users to log in.

之后继续命令:

[root@localhost ~]# systemctl restart vsftpd
注意

请先使用 yum install vsftpd -y 来安装 vsftpd 后再编辑配置文件!

使用 yum 卸载 tree 软件,清理 yum 多余缓存文件

[root@localhost ~]# yum remove tree -y
[root@localhost ~]# yum clean all
21 个文件已删除

设置 httpd 服务开机不自启,临时关闭服务,确认服务已停止运行

[root@localhost ~]# yum install httpd -y
[root@localhost ~]# systemctl start httpd
[root@localhost ~]# systemctl disable httpd
[root@localhost ~]# systemctl stop httpd
[root@localhost ~]# systemctl status httpd
○ httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; preset: d>
Active: inactive (dead)
Docs: man:httpd.service(8)
注意

请先使用 yum install httpd -y 来安装 httpd 后再配置服务!

编写 Shell 脚本,输出当前系统登录用户名

[root@localhost ~]# nano /opt/show_user.sh

show_user.sh 文件内容:

echo "当前用户:$USER"

之后继续命令:

[root@localhost ~]# chmod +x /opt/show_user.sh
[root@localhost ~]# /opt/show_user.sh
当前用户:root

编写脚本,判断 test.txt 文件是否存在,存在则删除该文件

[root@localhost ~]# nano /opt/check_file.sh

check_file.sh 文件内容:

if [ -f test.txt ];then
rm -f test.txt
fi
注意

注意空格!

之后继续命令:

[root@localhost ~]# chmod +x /opt/check_file.sh
[root@localhost ~]# /opt/check_file.sh

编写脚本,循环输出1-5的数字

[root@localhost ~]# nano /opt/for_loop.sh

for_loop.sh 文件内容:

for i in {1..5}
do
echo $i
done

之后继续命令:

[root@localhost ~]# chmod +x /opt/for_loop.sh
[root@localhost ~]# /opt/for_loop.sh

编写脚本,统计 /etc 目录下所有文件数量并输出

[root@localhost ~]# nano /opt/count_etc.sh

count_etc.sh 文件内容:

file_num=`ls /etc | wc -l`
echo "etc 目录文件总数:$file_num"
注意

``不是 '' 单引号!

之后继续命令:

[root@localhost ~]# chmod +x /opt/count_etc.sh
[root@localhost ~]# /opt/count_etc.sh
etc 目录文件总数:246

填空

答题设置

1. 上机实操在/opt目录下批量创建test1、test2、test3目录的命令是
2. 上机实操设置文件权限为555的命令是
3. 上机实操移动文件并重命名的命令是
4. 上机实操查看文件末尾5行内容的命令是
5. 上机实操指定用户家目录与登录 Shell 创建用户的命令是
6. 上机实操锁定普通用户禁止登录的命令是
7. 上机实操查看磁盘 inode 使用情况的命令是
8. 上机实操强制终止指定 PID 进程的命令是

单选

答题设置

1. 上机实操测试,以下可实现批量创建同名前缀目录的符号是
A[]
B{}
C()
D<>
2. 上机实操测试,Linux 权限555对应的用户权限是
A读写执行
B读执行
C只读
D只执行
3. 上机实操文件管理,mv 命令不具备的功能是
A移动文件
B重命名文件
C复制文件
D移动目录
4. 上机实操文件查看,tail 命令的核心作用是
A查看文件头部
B查看文件尾部
C分页查看文件
D实时监控文件
5. 上机实操用户配置,-d 参数的作用是
A指定登录 Shell
B指定家目录
C指定用户组
D指定UID
6. 上机实操用户管理,usermod -L命令的作用是
A解锁用户
B锁定用户
C删除用户
D修改用户权限
7. 上机实操磁盘管理,df -i 命令的作用是
A查看磁盘容量
B查看 inode 使用情况
C查看目录占用
D查看挂载点
8. 上机实操进程管理,强制终止进程的参数是
A-9
B-15
C-a
D-e

判断

答题设置

1. 上机实操 mkdir {1..3} 可批量创建三个连续命名目录
A
B
2. 权限555表示所有用户仅拥有读、执行权限,无写入权限
A
B
3. mv 命令既可以移动文件,也可以对文件进行重命名操作
A
B
4. tail -5 文件名可以查看文件最后5行内容
A
B
5. useradd 命令无法自定义用户家目录和登录Shell
A
B
6. usermod -L 锁定用户后,该用户无法登录系统
A
B
7. df -i命令可以查看磁盘分区 inode 资源占用情况
A
B
8. kill -9 进程 PID 为强制终止进程,可结束顽固进程
A
B

实操简答

  1. 上机实操批量目录创建、文件权限配置、文件移动重命名全套操作,写出实操步骤与运行现象

实操:在 /opt 目录下批量创建 test1、test2、test3 三个同级目录

实操:在 /opt/test1 目录创建 log.txt 文件,设置文件权限为555

实操:将 /var/log/boot.log 文件移动到 /opt/test2 目录,并重命名为 boot_test.log

  1. 上机实操自定义用户创建、用户组配置、用户锁定解锁全套用户运维操作,写出实操流程和实测效果

实操:创建普通用户 netuser,指定家目录为 /opt/netuser,默认 shell 为 bash

实操:创建工作组 tech,将 netuser 用户设置为该组主属用户

实操:锁定 netuser 用户,禁止其登录系统

实操:解锁已锁定的 netuser 用户,恢复正常登录权限

  1. 上机实操磁盘资源统计、inode查看、进程查询与强制终止操作,写出实操步骤与运行效果

实操:统计 /home 目录整体占用磁盘空间大小,查看磁盘 inode 使用情况

实操:查看系统所有后台进程,筛选出所有终端无关的守护进程

实操:强制终止 PID 为 1000 的进程

实操复现

  1. Linux磁盘挂载与进程管理场景实操复现

上机基于 CentOS 系统独立完成全套实操:

①查看/home目录整体磁盘占用空间;

②查看系统磁盘所有分区inode使用情况;

③永久卸载/mnt/cdrom挂载点并删除开机自动挂载配置;

④查看系统所有后台守护进程;

⑤强制终止指定PID进程

全程留存实操截图,重启复测配置生效,详细写出实操步骤、对应命令及实操结果

实操:统计 /home 目录整体占用磁盘空间大小,查看磁盘 inode 使用情况

实操:永久卸载 /mnt/cdrom 挂载点,删除 fstab 中挂载配置并验证

实操:查看系统所有后台进程,筛选出所有终端无关的守护进程

实操:强制终止 PID 为 1000 的进程

  1. Linux静态网络配置与端口运维实操复现

上机独立完成网络全套实操:

①临时关闭并重新启用ens33网卡;

②编辑网卡配置文件,配置永久静态IP、网关、DNS;

③重启网络服务使配置永久生效;

④查看系统所有TCP监听端口;

⑤测试网关连通性,发送3次数据包自动终止

全程截图留存,重启复测网络正常,写出完整实操步骤与效果

实操:临时关闭网卡 ens33,再重新启用网卡

实操:配置永久静态网络参数,重启网络并验证

实操:查看系统所有网络端口监听状态,筛选 TCP 协议监听端口

实操:测试与网关的连通性,发送3次测试数据包后自动停止

实操项目

备注

1、2、3、4、6、7 已有题目,重复不列举。

  1. 完成NFS服务安装启停自启、vsftpd 匿名访问关闭、yum 缓存清理、httpd 服务安全加固全套操作

实操:安装 nfs 共享服务,启动服务并设置开机自启,查看 nfs 服务状态

实操:修改 vsftpd 配置,禁止匿名用户登录,仅允许系统用户登录

实操:使用 yum 卸载 tree 软件,清理 yum 多余缓存文件

防火墙永久放行https服务,重载规则并查看放行列表