chapter02 - 03 作业
1、分别用cat ac l三个命令查看文件/etc/ssh/sshd_config文件中的内容,并用自己的话总计出这三个文档操作命令的不同之处?
[root@localhost ~]# cat -n /etc/ssh/sshd_config
1 # $OpenBSD: sshd_config,v 1.93 2014/01/10 05:59:19 djm Exp $
2
3 # This is the sshd server system-wide configuration file. See
4 # sshd_config(5) for more information.
5
6 # This sshd was compiled with PATH=/usr/local/bin:/usr/bin
7
8 # The strategy used for options in the default sshd_config shipped with
9 # OpenSSH is to specify options with their default value where
10 # possible, but leave them commented. Uncommented options override the
11 # default value.
[root@localhost ~]# tac /etc/ssh/sshd_config
# ForceCommand cvs server
# PermitTTY no
# AllowTcpForwarding no
# X11Forwarding no
#Match User anoncvs
# Example of overriding settings on a per-user basis
Subsystem sftp /usr/libexec/openssh/sftp-server
# override default of no subsystems
[root@localhost ~]# nl /etc/ssh/sshd_config
1 # $OpenBSD: sshd_config,v 1.93 2014/01/10 05:59:19 djm Exp $
2 # This is the sshd server system-wide configuration file. See
3 # sshd_config(5) for more information.
4 # This sshd was compiled with PATH=/usr/local/bin:/usr/bin
5 # The strategy used for options in the default sshd_config shipped with
6 # OpenSSH is to specify options with their default value where
7 # possible, but leave them commented. Uncommented options override the
8 # default value.
总结:cat 正序查看默认条件下不带序号;tac 倒序查看不带序号;nl 正序默认带行号
2、分别用more和less查看/etc/ssh/sshd_config里面的内容,请用总结more和less两个命令的相同和不同之处?
[root@localhost ~]# more /etc/ssh/sshd_config
# $OpenBSD: sshd_config,v 1.93 2014/01/10 05:59:19 djm Exp $
# This is the sshd server system-wide configuration file. See
# sshd_config(5) for more information.
[root@localhost ~]# less /etc/ssh/sshd_config
# $OpenBSD: sshd_config,v 1.93 2014/01/10 05:59:19 djm 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
总结:more 全屏方式分页显示文件内容 回车翻一行 空格翻一页
Less Pgup/PgDn翻页 且“/”可在文件内容中查找自己想要的内容
3、将/etc/passwd文件中的前20行重定向保存到/root下改名为20_pass.txt,将/etc/passwd文件中的后15行重定向保存到/root下改名为:pass_15.txt
[root@localhost ~]# head -20 /etc/passwd > /root/20_pass.txt
[root@localhost ~]# ls /root/20_pass.txt
/root/20_pass.txt
[root@localhost ~]# cat -n /root/20_pass.txt
1 root:x:0:0:root:/root:/bin/bash
2 bin:x:1:1:bin:/bin:/sbin/nologin
3 daemon:x:2:2:daemon:/sbin:/sbin/nologin
4 adm:x:3:4:adm:/var/adm:/sbin/nologin
5 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
6 sync:x:5:0:sync:/sbin:/bin/sync
7 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
8 halt:x:7:0:halt:/sbin:/sbin/halt
9 mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
10 operator:x:11:0:operator:/root:/sbin/nologin
11 games:x:12:100:games:/usr/games:/sbin/nologin
12 ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
13 nobody:x:99:99:Nobody:/:/sbin/nologin
14 dbus:x:81:81:System message bus:/:/sbin/nologin
15 polkitd:x:999:999:User for polkitd:/:/sbin/nologin
16 tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
17 usbmuxd:x:113:113:usbmuxd user:/:/sbin/nologin
18 colord:x:998:997:User for colord:/var/lib/colord:/sbin/nologin
19 ntp:x:38:38::/etc/ntp:/sbin/nologin
20 libstoragemgmt:x:997:995:daemon account for libstoragemgmt:/var/run/lsm:/sbin/nologin
[root@localhost ~]# tail -15 /etc/passwd > /root/pass_15.txt
[root@localhost ~]# ls /root/pass_15.txt
/root/pass_15.txt
[root@localhost ~]# nl /root/pass_15.txt
1 nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
2 qemu:x:107:107:qemu user:/:/sbin/nologin
3 chrony:x:995:994::/var/lib/chrony:/sbin/nologin
4 abrt:x:173:173::/etc/abrt:/sbin/nologin
5 sssd:x:994:993:User for sssd:/:/sbin/nologin
6 avahi-autoipd:x:170:170:Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologin
7 unbound:x:993:992:Unbound DNS resolver:/etc/unbound:/sbin/nologin
8 pulse:x:171:171:PulseAudio System Daemon:/var/run/pulse:/sbin/nologin
9 gdm:x:42:42::/var/lib/gdm:/sbin/nologin
10 gnome-initial-setup:x:992:990::/run/gnome-initial-setup/:/sbin/nologin
11 postfix:x:89:89::/var/spool/postfix:/sbin/nologin
12 sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
13 avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
14 tcpdump:x:72:72::/:/sbin/nologin
15 liuxuehui:x:1000:1000:liuxuehui:/home/liuxuehui:/bin/bash
4、请用一个命令统计/etc/hosts文件包含有多少行?多少字节?多少单词数?
[root@localhost ~]# wc -lcw /etc/hosts
2 10 158 /etc/hosts
5、练习使用grep和egrep
5.1.通过grep管道工具过滤出ifconfig命令显示信息中的IP字段?
5.2.将/etc/passwd文件中的前20行重定向保存到/root下名称为pass?
[root@localhost ~]# head -20 /etc/passwd > /root/pass
[root@localhost ~]# cat -n /root/pass
1 root:x:0:0:root:/root:/bin/bash
2 bin:x:1:1:bin:/bin:/sbin/nologin
3 daemon:x:2:2:daemon:/sbin:/sbin/nologin
4 adm:x:3:4:adm:/var/adm:/sbin/nologin
5 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
6 sync:x:5:0:sync:/sbin:/bin/sync
7 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
8 halt:x:7:0:halt:/sbin:/sbin/halt
9 mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
10 operator:x:11:0:operator:/root:/sbin/nologin
11 games:x:12:100:games:/usr/games:/sbin/nologin
12 ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
13 nobody:x:99:99:Nobody:/:/sbin/nologin
14 dbus:x:81:81:System message bus:/:/sbin/nologin
15 polkitd:x:999:999:User for polkitd:/:/sbin/nologin
16 tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
17 usbmuxd:x:113:113:usbmuxd user:/:/sbin/nologin
18 colord:x:998:997:User for colord:/var/lib/colord:/sbin/nologin
19 ntp:x:38:38::/etc/ntp:/sbin/nologin
20 libstoragemgmt:x:997:995:daemon account for libstoragemgmt:/var/run/lsm:/sbin/nologin
5.3.过滤/etc/passwd文件中含有/sbin/nologin 的行并统计行数?
[root@localhost ~]# grep -n "/sbin/nologin" /etc/passwd
2:bin:x:1:1:bin:/bin:/sbin/nologin
3:daemon:x:2:2:daemon:/sbin:/sbin/nologin
4:adm:x:3:4:adm:/var/adm:/sbin/nologin
5:lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
9:mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
10:operator:x:11:0:operator:/root:/sbin/nologin
11:games:x:12:100:games:/usr/games:/sbin/nologin
12:ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
13:nobody:x:99:99:Nobody:/:/sbin/nologin
14:dbus:x:81:81:System message bus:/:/sbin/nologin
15:polkitd:x:999:999:User for polkitd:/:/sbin/nologin
16:tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
17:usbmuxd:x:113:113:usbmuxd user:/:/sbin/nologin
18:colord:x:998:997:User for colord:/var/lib/colord:/sbin/nologin
19:ntp:x:38:38::/etc/ntp:/sbin/nologin
20:libstoragemgmt:x:997:995:daemon account for libstoragemgmt:/var/run/lsm:/sbin/nologin
21:saslauth:x:996:76:"Saslauthd user":/run/saslauthd:/sbin/nologin
22:rpc:x:32:32:Rpcbind Daemon:/var/lib/rpcbind:/sbin/nologin
23:rtkit:x:172:172:RealtimeKit:/proc:/sbin/nologin
24:radvd:x:75:75:radvd user:/:/sbin/nologin
25:rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
26:nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
27:qemu:x:107:107:qemu user:/:/sbin/nologin
28:chrony:x:995:994::/var/lib/chrony:/sbin/nologin
29:abrt:x:173:173::/etc/abrt:/sbin/nologin
30:sssd:x:994:993:User for sssd:/:/sbin/nologin
31:avahi-autoipd:x:170:170:Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologin
32:unbound:x:993:992:Unbound DNS resolver:/etc/unbound:/sbin/nologin
33:pulse:x:171:171:PulseAudio System Daemon:/var/run/pulse:/sbin/nologin
34:gdm:x:42:42::/var/lib/gdm:/sbin/nologin
35:gnome-initial-setup:x:992:990::/run/gnome-initial-setup/:/sbin/nologin
36:postfix:x:89:89::/var/spool/postfix:/sbin/nologin
37:sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
38:avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
39:tcpdump:x:72:72::/:/sbin/nologin
[root@localhost ~]# grep "/sbin/nologin" /etc/passwd |wc -l
35
5.4 过滤/etc/passwd文件中以sh结尾的行,及以 root开头的行,不显示包含login的行?
[root@localhost ~]# grep -v "login" /etc/passwd |grep -E "^root|sh$" /etc/passwd
root:x:0:0:root:/root:/bin/bash
liuxuehui:x:1000:1000:liuxuehui:/home/liuxuehui:/bin/bash
5.5 分别用grep和egrep过滤出/etc/ssh/sshd_config文件中不包含“#”开头和空白的行?
[root@localhost ~]# grep -vE "^#|^$" /etc/ssh/sshd_config
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
HostKey /etc/ssh/ssh_host_ed25519_key
SyslogFacility AUTHPRIV
AuthorizedKeysFile .ssh/authorized_keys
PasswordAuthentication yes
ChallengeResponseAuthentication no
GSSAPIAuthentication yes
GSSAPICleanupCredentials no
UsePAM yes
X11Forwarding yes
UsePrivilegeSeparation sandbox # Default for new installations.
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
Subsystem sftp /usr/libexec/openssh/sftp-server
[root@localhost ~]# egrep -v "^#|^$" /etc/ssh/sshd_config
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
HostKey /etc/ssh/ssh_host_ed25519_key
SyslogFacility AUTHPRIV
AuthorizedKeysFile .ssh/authorized_keys
PasswordAuthentication yes
ChallengeResponseAuthentication no
GSSAPIAuthentication yes
GSSAPICleanupCredentials no
UsePAM yes
X11Forwarding yes
UsePrivilegeSeparation sandbox # Default for new installations.
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
Subsystem sftp /usr/libexec/openssh/sftp-server
6.1 通过tar命令将/etc/passwd文件打包压缩成/root/file.tar.gz
[root@localhost ~]# tar czf file.tar.gz /etc/passwd
tar: 从成员名中删除开头的“/”
[root@localhost ~]# ls
anaconda-ks.cfg file.tar.gz
6.2通过tar命令将/etc/passwd文件打包压缩成/root/file.tar.bz2
[root@localhost ~]# tar cjf file.tar.bz2 /etc/passwd
tar: 从成员名中删除开头的“/”
6.3创建空文件夹/web/test1,并将file.tar.bz2 解包并释放到/web/test1目录下?
[root@localhost ~]# mkdir -pv /web/test1
mkdir: 已创建目录 "/web"
mkdir: 已创建目录 "/web/test1"
[root@localhost ~]# tar xf file.tar.bz2 -C /web/test1/
[root@localhost ~]# ls /web/test1
etc
[root@localhost ~]# ls /web/test1/etc
Passwd
7.1 通过vi编辑/web/test1/passwd文件将文件里为root单词全部替换成benet。
[root@localhost ~]# vi /web/test1/etc/passwd
benet:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
:% s/root/benet
7.2 通过vi编辑 删除pass文件第1、5、10行。
[]#vi passwd
删除光标所在行:dd
7.3 在vi中显示pass文件行号复制文件2 3 4行粘贴到以lp开头的行下。
命令::2,4 co 5
2 bin:x:1:1:bin:/bin:/sbin/nologin
3 daemon:x:2:2:daemon:/sbin:/sbin/nologin
4 adm:x:3:4:adm:/var/adm:/sbin/nologin
5 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
6 bin:x:1:1:bin:/bin:/sbin/nologin
7 daemon:x:2:2:daemon:/sbin:/sbin/nologin
8 adm:x:3:4:adm:/var/adm:/sbin/nologin
7.4 通过vi编辑 查找文件内包含mail var等字符串,并记录所在行号。
Mail:12.
Var: 12.15.21.23.25.28.29.31.34.36.37.39.41
7.5 通过vi编辑 快速跳转到文件的第二行,通过r 读取 /etc/hosts 文件的内容到第二行下。
命令::2
:r /etc/hosts
[root@localhost ~]# vi /web/test1/etc/passwd
1 benet:x:0:0:root:/root:/bin/bash
2 bin:x:1:1:bin:/bin:/sbin/nologin
3 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
7.6将更改后的文件使用vim另存为/root/new_pass。
命令::w /root/new_pass
36 gdm:x:42:42::/var/lib/gdm:/sbin/nologin
37 gnome-initial-setup:x:992:990::/run/gnome-initial-setup/:/sbin/nologin
"~/new_pass" [New] 42L, 2212C written
7.7将new_pass文件压缩成gz格式并改名为npass.gz文件。
[root@localhost ~]# gzip new_pass
[root@localhost ~]# mv new_pass.gz npass.gz
[root@localhost ~]# ls
anaconda-ks.cfg file.tar.bz2 npass.gz
[root@localhost ~]#
8统计/dev 目录下的文件数量。
[root@localhost ~]# ls -l /dev/ |wc -l
156
9.1在/boot下查找文件名以vmlinuz开头的文件?
[root@localhost ~]# ls /boot |grep "^vmlinuz"
vmlinuz-0-rescue-c43eaf3ef3b64d11a613792d9fc1f180
vmlinuz-3.10.0-229.el7.x86_64
9.2在/boot下查找文件大小大于3M 小于 20M 的文件
[root@localhost ~]# find /boot -size +3M -a -size -20M
/boot/vmlinuz-3.10.0-229.el7.x86_64
/boot/vmlinuz-0-rescue-c43eaf3ef3b64d11a613792d9fc1f180
/boot/initramfs-3.10.0-229.el7.x86_64.img
10 请详细写出构建本地yum仓库的步骤?并在每行命令后面用自己的话做上中文注释?
umount /media/------------------------------------------卸载光盘
mount /dev/sr0 /media/--------------------------------挂载光盘
cd /etc/yum.r*--------------------------------------------构建本地YUM仓库文档
mkdir a/
mv ./C* a/
vi ./local.repo------------------------------------------------创建本地YUM文档
[cdrom]------------------------------------------------仓库名称
Name=cdrom
Baseurl=file:///media-----------------------------指定rpm包的位置
Enabled=1-------------------------------------------启用本地YUM仓库
Gpgcheck=0----------------------------------------禁用gpg校验
yum -y clean all----------------------------------------------清除YUM缓存
yum makecache---------------------------------------------重建YUM缓存
11、用yum命令安装vsftpd,查询安装情况,最后卸载vsftpd,并再次查询卸载情况?
[root@localhost ~]# yum list vsftpd
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: ftp.sjtu.edu.cn
* extras: ftp.sjtu.edu.cn
* updates: mirrors.nju.edu.cn
已安装的软件包
vsftpd.x86_64 3.0.2-25.el7
[root@localhost ~]# yum -y remove vsftpd
已加载插件:fastestmirror, langpacks
正在解决依赖关系
--> 正在检查事务
---> 软件包 vsftpd.x86_64.0.3.0.2-25.el7 将被 删除
--> 解决依赖关系完成
[root@localhost ~]# yum list vsftpd
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: ftp.sjtu.edu.cn
* extras: ftp.sjtu.edu.cn
* updates: mirrors.nju.edu.cn
可安装的软件包
vsftpd.x86_64 3.0.2-25.el7 base
[root@localhost ~]#
12、用rpm命令安装vsftpd,查询安装情况,最后卸载vsftpd,并再次查询卸载情况?
[root@localhost ~]# find / -name "vsftpd*.rpm"
find: ‘/proc/37955’: 没有那个文件或目录
find: ‘/run/user/1000/gvfs’: 权限不够
/media/Packages/vsftpd-3.0.2-9.el7.x86_64.rpm
[root@localhost ~]#
[root@localhost ~]#
[root@localhost ~]# rpm -ihv /media/Packages/vsftpd-3.0.2-9.el7.x86_64.rpm
准备中... ################################# [100%]
正在升级/安装...
1:vsftpd-3.0.2-9.el7 ################################# [100%]
[root@localhost ~]# rpm -q vsftpd
vsftpd-3.0.2-9.el7.x86_64
[root@localhost ~]# rpm -e vsftpd
[root@localhost ~]# rpm -q vsftpd
未安装软件包 vsftpd
13、通过源码方式通过解包、配置、编译、安装四个步骤安装源码软件httpd-2.2.17.tar.gz?并进行测试?