练习的知识脑图
https://note.youdao.com/s/RUWO4HgY

题目

1、创建文件命令练习:
(1) 在/目录下创建一个临时目录test;
(2)在临时目录test下创建五个文件,文件名分别为passwd,group,bashrc,profile,
sshd_config;
(3)在/test创建/etc/motd的软链接,文件名为motd.soft;创建/etc/motd的硬链接为motd.hard
2、重定向练习:
(1)将系统内核版本信息,发行版本信息,写入到/test/motd.soft文件中
(2)将当前主机主机名,当前用户使用的shell信息追加到/test/motd.hard文件中
(3)将根目录下的文件的文件名写入/test/file文件中
(4)查看当前工作目录是否为/test目录,将当前工作目录的详细信息追加到/test/file文件中
3、tee命令练习:
(1)将当前时间添加至/test目录下的passwd,group,bashrc,profile,sshd_config文件中
(2)将当前用户的用户名追加至/test目录下的passwd,group,bashrc,profile,sshd_config文件

4、vim命令练习:
(1)将/etc/passwd文件内容读入/test/passwd,并修改文件里的root字符为admin:
(2)将/etc/group文件内容读入/test/group,只保留root开头的行内容
(3)将/root/.bashrc文件内容读入/test/bashrc,删除#号开头的行内容命令
(4)将/etc/ssh/sshd_config文件内容读入/test/sshd_config,在该文件的第17行后添加一行内容Port 22
(5)将/test/sshd_config文件中的第40-50行的yes改为no
(6)将/test/sshd_config文件另存为/test/sshd.conf
(7)将/test目录下的passwd,group,bashrc文件中的第一行内容复制至文档最后一行
(8)将/test目录下的profile,sshd_config文件中前两行内容复制至文档倒数第二行

解答方法

(1) 在/目录下创建一个临时目录test;

[root@server /]# mkdir test
[root@server /]# ll
total 28
lrwxrwxrwx.   1 root root    7 Jun 21  2021 bin -> usr/bin
dr-xr-xr-x.   5 root root 4096 Oct 16 07:01 boot
drwxr-xr-x.  20 root root 3220 Oct 21 04:37 dev
drwxr-xr-x. 145 root root 8192 Oct 21 04:40 etc
drwxr-xr-x.   3 root root   22 Oct 16 07:06 home
lrwxrwxrwx.   1 root root    7 Jun 21  2021 lib -> usr/lib
lrwxrwxrwx.   1 root root    9 Jun 21  2021 lib64 -> usr/lib64
drwxr-xr-x.   2 root root    6 Jun 21  2021 media
drwxr-xr-x.   3 root root   18 Oct 16 06:20 mnt
drwxr-xr-x.   2 root root    6 Jun 21  2021 opt
dr-xr-xr-x. 255 root root    0 Oct 21 04:37 proc
dr-xr-x---.  15 root root 4096 Oct 21 04:41 root
drwxr-xr-x.  44 root root 1260 Oct 21 04:39 run
lrwxrwxrwx.   1 root root    8 Jun 21  2021 sbin -> usr/sbin
drwxr-xr-x.   2 root root    6 Jun 21  2021 srv
dr-xr-xr-x.  13 root root    0 Oct 21 04:37 sys
drwxr-xr-x.   2 root root    6 Oct 21 04:43 test
drwxrwxrwt.  26 root root 4096 Oct 21 04:38 tmp
drwxr-xr-x.  13 root root  158 Oct 16 06:20 usr
drwxr-xr-x.  21 root root 4096 Oct 16 07:01 var

(2)在临时目录test下创建五个文件,文件名分别为passwd,group,bashrc,profile,sshd_config;

[root@server test]# touch passwd
[root@server test]# touch group profile sshd_config
[root@server test]# ll
total 0
-rw-r--r--. 1 root root 0 Oct 21 04:48 group
-rw-r--r--. 1 root root 0 Oct 21 04:46 passwd
-rw-r--r--. 1 root root 0 Oct 21 04:48 profile
-rw-r--r--. 1 root root 0 Oct 21 04:48 sshd_config
[root@server test]# touch bashrc
[root@server test]# ll
total 0
-rw-r--r--. 1 root root 0 Oct 21 04:48 bashrc
-rw-r--r--. 1 root root 0 Oct 21 04:48 group
-rw-r--r--. 1 root root 0 Oct 21 04:46 passwd
-rw-r--r--. 1 root root 0 Oct 21 04:48 profile
-rw-r--r--. 1 root root 0 Oct 21 04:48 sshd_config

(3)在/test创建/etc/motd的软链接,文件名为motd.soft;创建/etc/motd的硬链接为motd.hard

[root@server test]# ln -s  /etc/motd /test/motd.soft
[root@server test]# ls -ld /test/motd.soft
lrwxrwxrwx. 1 root root 9 Oct 21 04:55 /test/motd.soft -> /etc/motd

[root@server test]# ln  /etc/motd /test/motd.hard
[root@server test]# ls -ld /test/motd.hard
-rw-r--r--. 2 root root 0 Sep 10  2018 /test/motd.hard

(1)将系统内核版本信息,发行版本信息,写入到/test/motd.soft文件中

[root@server test]# uname -r >/test/motd.soft
[root@server test]# cat /test/motd.soft
4.18.0-348.el8.x86_64

(2)将当前主机主机名,当前用户使用的shell信息追加到/test/motd.hard文件中

[root@server test]# cat /etc/hostname >>/test/motd.hard
[root@server test]# echo $SHELL >>/test/motd.hard
[root@server test]# cat /test/motd.hard
4.18.0-348.el8.x86_64
server.local
/bin/bash

(3)将根目录下的文件的文件名写入/test/file文件中

[root@server test]# ls / >/test/file
[root@server test]# cat /test/file
bin
boot
dev
etc
home
lib
lib64
media
mnt
opt
proc
root
run
sbin
srv
sys
test
tmp
usr
var

(4)查看当前工作目录是否为/test目录,将当前工作目录的详细信息追加到/test/file文件中

[root@server test]# pwd
/test
[root@server test]# ls -lhi >>/test/file
[root@server test]# cat /test/file
bin
boot
dev
etc
home
lib
lib64
media
mnt
opt
proc
root
run
sbin
srv
sys
test
tmp
usr
var
total 8.0K
19200611 -rw-r--r--. 1 root root  0 Oct 21 04:48 bashrc
19200613 -rw-r--r--. 1 root root 90 Oct 21 05:11 file
19200607 -rw-r--r--. 1 root root  0 Oct 21 04:48 group
33887392 -rw-r--r--. 2 root root 45 Oct 21 05:05 motd.hard
19200612 lrwxrwxrwx. 1 root root  9 Oct 21 04:55 motd.soft -> /etc/motd
19200603 -rw-r--r--. 1 root root  0 Oct 21 04:46 passwd
19200609 -rw-r--r--. 1 root root  0 Oct 21 04:48 profile
19200610 -rw-r--r--. 1 root root  0 Oct 21 04:48 sshd_config

(1)将当前时间添加至/test目录下的passwd,group,bashrc,profile,sshd_config文件中

[root@server test]# date | tee passwd group bashrc profile sshd_config
Fri Oct 21 05:20:25 EDT 2022
[root@server test]# cat passwd group bashrc profile sshd_config
Fri Oct 21 05:20:25 EDT 2022
Fri Oct 21 05:20:25 EDT 2022
Fri Oct 21 05:20:25 EDT 2022
Fri Oct 21 05:20:25 EDT 2022
Fri Oct 21 05:20:25 EDT 2022

(2)将当前用户的用户名追加至/test目录下的passwd,group,bashrc,profile,sshd_config文件中

[root@server test]# cat /etc/hostname | tee -a passwd group bashrc profile sshd_config
server.local
[root@server test]# cat passwd group bashrc profile sshd_config
Fri Oct 21 05:20:25 EDT 2022
server.local
Fri Oct 21 05:20:25 EDT 2022
server.local
Fri Oct 21 05:20:25 EDT 2022
server.local
Fri Oct 21 05:20:25 EDT 2022
server.local
Fri Oct 21 05:20:25 EDT 2022
server.local

(1)将/etc/passwd文件内容读入/test/passwd,并修改文件里的root字符为admin:

[root@server test]# cat /etc/passwd >/test/passwd
[root@server test]# cat /test/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:65534:65534:Kernel Overflow User:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
systemd-coredump:x:999:997:systemd Core Dumper:/:/sbin/nologin
systemd-resolve:x:193:193:systemd Resolver:/:/sbin/nologin
tss:x:59:59:Account used for TPM access:/dev/null:/sbin/nologin
polkitd:x:998:996:User for polkitd:/:/sbin/nologin
geoclue:x:997:995:User for geoclue:/var/lib/geoclue:/sbin/nologin
rtkit:x:172:172:RealtimeKit:/proc:/sbin/nologin
pipewire:x:996:992:PipeWire System Daemon:/var/run/pipewire:/sbin/nologin
pulse:x:171:171:PulseAudio System Daemon:/var/run/pulse:/sbin/nologin
qemu:x:107:107:qemu user:/:/sbin/nologin
clevis:x:995:989:Clevis Decryption Framework unprivileged user:/var/cache/clevis:/sbin/nologin
usbmuxd:x:113:113:usbmuxd user:/:/sbin/nologin
unbound:x:994:988:Unbound DNS resolver:/etc/unbound:/sbin/nologin
gluster:x:993:987:GlusterFS daemons:/run/gluster:/sbin/nologin
rpc:x:32:32:Rpcbind Daemon:/var/lib/rpcbind:/sbin/nologin
avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
chrony:x:992:986::/var/lib/chrony:/sbin/nologin
setroubleshoot:x:991:984::/var/lib/setroubleshoot:/sbin/nologin
saslauth:x:990:76:Saslauthd user:/run/saslauthd:/sbin/nologin
libstoragemgmt:x:989:983:daemon account for libstoragemgmt:/var/run/lsm:/sbin/nologin
dnsmasq:x:981:981:Dnsmasq DHCP and DNS server:/var/lib/dnsmasq:/sbin/nologin
radvd:x:75:75:radvd user:/:/sbin/nologin
sssd:x:980:980:User for sssd:/:/sbin/nologin
cockpit-ws:x:979:979:User for cockpit web service:/nonexisting:/sbin/nologin
cockpit-wsinstance:x:978:978:User for cockpit-ws instances:/nonexisting:/sbin/nologin
flatpak:x:977:977:User for flatpak system helper:/:/sbin/nologin
colord:x:976:976:User for colord:/var/lib/colord:/sbin/nologin
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
gdm:x:42:42::/var/lib/gdm:/sbin/nologin
gnome-initial-setup:x:975:975::/run/gnome-initial-setup/:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
exercise:x:1000:1000:exercise:/home/exercise:/bin/bash
[root@server test]# vim /test/passwd
	进入vim输入
	:%s /root/admin/g
	:wq
[root@server test]# cat /test/passwd
admin:x:0:0:admin:/admin:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/admin:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:65534:65534:Kernel Overflow User:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
systemd-coredump:x:999:997:systemd Core Dumper:/:/sbin/nologin
systemd-resolve:x:193:193:systemd Resolver:/:/sbin/nologin
tss:x:59:59:Account used for TPM access:/dev/null:/sbin/nologin
polkitd:x:998:996:User for polkitd:/:/sbin/nologin
geoclue:x:997:995:User for geoclue:/var/lib/geoclue:/sbin/nologin
rtkit:x:172:172:RealtimeKit:/proc:/sbin/nologin
pipewire:x:996:992:PipeWire System Daemon:/var/run/pipewire:/sbin/nologin
pulse:x:171:171:PulseAudio System Daemon:/var/run/pulse:/sbin/nologin
qemu:x:107:107:qemu user:/:/sbin/nologin
clevis:x:995:989:Clevis Decryption Framework unprivileged user:/var/cache/clevis:/sbin/nologin
usbmuxd:x:113:113:usbmuxd user:/:/sbin/nologin
unbound:x:994:988:Unbound DNS resolver:/etc/unbound:/sbin/nologin
gluster:x:993:987:GlusterFS daemons:/run/gluster:/sbin/nologin
rpc:x:32:32:Rpcbind Daemon:/var/lib/rpcbind:/sbin/nologin
avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
chrony:x:992:986::/var/lib/chrony:/sbin/nologin
setroubleshoot:x:991:984::/var/lib/setroubleshoot:/sbin/nologin
saslauth:x:990:76:Saslauthd user:/run/saslauthd:/sbin/nologin
libstoragemgmt:x:989:983:daemon account for libstoragemgmt:/var/run/lsm:/sbin/nologin
dnsmasq:x:981:981:Dnsmasq DHCP and DNS server:/var/lib/dnsmasq:/sbin/nologin
radvd:x:75:75:radvd user:/:/sbin/nologin
sssd:x:980:980:User for sssd:/:/sbin/nologin
cockpit-ws:x:979:979:User for cockpit web service:/nonexisting:/sbin/nologin
cockpit-wsinstance:x:978:978:User for cockpit-ws instances:/nonexisting:/sbin/nologin
flatpak:x:977:977:User for flatpak system helper:/:/sbin/nologin
colord:x:976:976:User for colord:/var/lib/colord:/sbin/nologin
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
gdm:x:42:42::/var/lib/gdm:/sbin/nologin
gnome-initial-setup:x:975:975::/run/gnome-initial-setup/:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
exercise:x:1000:1000:exercise:/home/exercise:/bin/bash

(2)将/etc/group文件内容读入/test/group,只保留root开头的行内容

[root@server test]# cat /test/group
root:x:0:
bin:x:1:
daemon:x:2:
sys:x:3:
adm:x:4:
tty:x:5:
disk:x:6:
lp:x:7:
mem:x:8:
kmem:x:9:
wheel:x:10:exercise
cdrom:x:11:
mail:x:12:
man:x:15:
dialout:x:18:
floppy:x:19:
games:x:20:
tape:x:33:
video:x:39:
ftp:x:50:
lock:x:54:
audio:x:63:
users:x:100:
nobody:x:65534:
dbus:x:81:
utmp:x:22:
utempter:x:35:
input:x:999:
kvm:x:36:qemu
render:x:998:
systemd-journal:x:190:
systemd-coredump:x:997:
systemd-resolve:x:193:
tss:x:59:clevis
polkitd:x:996:
geoclue:x:995:
ssh_keys:x:994:
printadmin:x:993:
rtkit:x:172:
pipewire:x:992:
pulse-access:x:991:
pulse-rt:x:990:
pulse:x:171:
qemu:x:107:
clevis:x:989:
usbmuxd:x:113:
unbound:x:988:
gluster:x:987:
rpc:x:32:
avahi:x:70:
chrony:x:986:
brlapi:x:985:
setroubleshoot:x:984:
saslauth:x:76:
libstoragemgmt:x:983:
libvirt:x:982:
dnsmasq:x:981:
radvd:x:75:
sssd:x:980:
cockpit-ws:x:979:
cockpit-wsinstance:x:978:
flatpak:x:977:
colord:x:976:
rpcuser:x:29:
gdm:x:42:
gnome-initial-setup:x:975:
tcpdump:x:72:
sshd:x:74:
slocate:x:21:
exercise:x:1000:
[root@server test]# vim /test/group
	进入vim输入
	 :v/^root/d
	 :wq
[root@server test]# cat /test/group
root:x:0:

(3)将/root/.bashrc文件内容读入/test/bashrc,删除#号开头的行内容命令

 [root@server test]# cat /root/.bashrc >/test/bashrc
[root@server test]# cat /test/bashrc
# .bashrc

# User specific aliases and functions

alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'

# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi

在这里插入图片描述
在这里插入图片描述

(4)将/etc/ssh/sshd_config文件内容读入/test/sshd_config,在该文件的第17行后添加一行内容Port 22

[root@server test]# cat /etc/ssh/sshd_config | tee /test/sshd_config
#$OpenBSD: sshd_config,v 1.103 2018/04/09 20:41:22 tj Exp $

# This is the sshd server system-wide configuration file.  See
# sshd_config(5) for more information.

# This sshd was compiled with PATH=/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin

# The strategy used for options in the default sshd_config shipped with
# OpenSSH is to specify options with their default value where
# possible, but leave them commented.  Uncommented options override the
# default value.

# If you want to change the port on a SELinux system, you have to tell
# SELinux about this change.
# semanage port -a -t ssh_port_t -p tcp #PORTNUMBER
#
#Port 22
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::

HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
HostKey /etc/ssh/ssh_host_ed25519_key

# Ciphers and keying
#RekeyLimit default none

# This system is following system-wide crypto policy. The changes to
# crypto properties (Ciphers, MACs, ...) will not have any effect here.
# They will be overridden by command-line options passed to the server
# on command line.
# Please, check manual pages for update-crypto-policies(8) and sshd_config(5).

# Logging
#SyslogFacility AUTH
SyslogFacility AUTHPRIV
#LogLevel INFO

# Authentication:

#LoginGraceTime 2m
PermitRootLogin yes
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10

#PubkeyAuthentication yes

# The default is to check both .ssh/authorized_keys and .ssh/authorized_keys2
# but this is overridden so installations will only check .ssh/authorized_keys
AuthorizedKeysFile.ssh/authorized_keys

#AuthorizedPrincipalsFile none

#AuthorizedKeysCommand none
#AuthorizedKeysCommandUser nobody

# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts
#HostbasedAuthentication no
# Change to yes if you don't trust ~/.ssh/known_hosts for
# HostbasedAuthentication
#IgnoreUserKnownHosts no
# Don't read the user's ~/.rhosts and ~/.shosts files
#IgnoreRhosts yes

# To disable tunneled clear text passwords, change to no here!
#PasswordAuthentication yes
#PermitEmptyPasswords no
PasswordAuthentication yes

# Change to no to disable s/key passwords
#ChallengeResponseAuthentication yes
ChallengeResponseAuthentication no

# Kerberos options
#KerberosAuthentication no
#KerberosOrLocalPasswd yes
#KerberosTicketCleanup yes
#KerberosGetAFSToken no
#KerberosUseKuserok yes

# GSSAPI options
GSSAPIAuthentication yes
GSSAPICleanupCredentials no
#GSSAPIStrictAcceptorCheck yes
#GSSAPIKeyExchange no
#GSSAPIEnablek5users no

# Set this to 'yes' to enable PAM authentication, account processing,
# and session processing. If this is enabled, PAM authentication will
# be allowed through the ChallengeResponseAuthentication and
# PasswordAuthentication.  Depending on your PAM configuration,
# PAM authentication via ChallengeResponseAuthentication may bypass
# the setting of "PermitRootLogin without-password".
# If you just want the PAM account and session checks to run without
# PAM authentication, then enable this but set PasswordAuthentication
# and ChallengeResponseAuthentication to 'no'.
# WARNING: 'UsePAM no' is not supported in Fedora and may cause several
# problems.
UsePAM yes

#AllowAgentForwarding yes
#AllowTcpForwarding yes
#GatewayPorts no
X11Forwarding yes
#X11DisplayOffset 10
#X11UseLocalhost yes
#PermitTTY yes

# It is recommended to use pam_motd in /etc/pam.d/sshd instead of PrintMotd,
# as it is more configurable and versatile than the built-in version.
PrintMotd no

#PrintLastLog yes
#TCPKeepAlive yes
#PermitUserEnvironment no
#Compression delayed
#ClientAliveInterval 0
#ClientAliveCountMax 3
#UseDNS no
#PidFile /var/run/sshd.pid
#MaxStartups 10:30:100
#PermitTunnel no
#ChrootDirectory none
#VersionAddendum none

# no default banner path
#Banner none

# Accept locale-related environment variables
AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE
AcceptEnv XMODIFIERS

# override default of no subsystems
Subsystemsftp/usr/libexec/openssh/sftp-server

# Example of overriding settings on a per-user basis
#Match User anoncvs
#X11Forwarding no
#AllowTcpForwarding no
#PermitTTY no
#ForceCommand cvs server
[root@server ~]# vim /test/sshd_config
	进入vim输入
	17gg
	再i

在这里插入图片描述
在这里插入图片描述
(5)将/test/sshd_config文件中的第40-50行的yes改为no

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(6)将/test/sshd_config文件另存为/test/sshd.conf
在这里插入图片描述
在这里插入图片描述

(7)将/test目录下的passwd,group,bashrc文件中的第一行内容复制至文档最后一行
分别进入passwd,group,bashrc文件的vim中输入gg,1yy,G,p
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(8)将/test目录下的profile,sshd_config文件中前两行内容复制至文档倒数第二行
分别进入profile,sshd_config文件的vim中输入2yy,G,p
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐