Linux系统管理第二次作业

时间:2022-08-25 20:49:47

chapter02 - 03 作业

 

   1.分别用cat \tac\nl三个命令查看文件/etc/ssh/sshd_config文件中的内容,并用自己的话总计出这三个文档操作命令的不同之处?

[root@localhost ~]# cat /etc/ssh/sshd_config

[root@localhost ~]# nl /etc/ssh/sshd_config

[root@localhost ~]# tac /etc/ssh/sshd_config

cat :查看的是文件的内容

tac :查看的是倒序的文件内容

nl :显示文件行号

 

  2、分别用moreless查看/etc/ssh/sshd_config里面的内容,请用总结moreless两个命令的相同和不同之处?

[root@localhost ~]# more /etc/ssh/sshd_config

[root@localhost ~]# less /etc/ssh/sshd_config

more:全屏的方式分页显示文件内容

less:与more基本相同,但扩展功能更多

 

  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 ~]# head -15 /etc/passwd  > /root/pass_15.txt

 

  4、请用一个命令统计/etc/hosts文件包含有多少行?多少字节?多少单词数?

[root@localhost ~]# wc -lwc /etc/hosts

  2  10 158 /etc/hosts

 

  5、练习使用grepegrep

  5.1  通过grep管道工具过滤出ifconfig命令显示信息中的IP字段?

 [root@localhost ~]# ifconfig | grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}'

192.168.100.135

255.255.255.0

192.168.100.255

127.0.0.1

255.0.0.0

 

5.2  过滤/etc/passwd文件中含有/sbin/nologin 的行并统计行数?

[root@localhost ~]# grep "/sbin/nologin"  /etc/passwd | wc -l

35

 

5.3  过滤/etc/passwd文件中以sh结尾的行,及以 root开头的行,不显示包含login的行?

[root@localhost ~]# grep "sh$"  /etc/passwd | grep "^root" | grep -v "login*"

root:x:0:0:root:/root:/bin/bash

 

5.4  分别用grepegrep过滤出/etc/ssh/sshd_config文件中不包含“#”开头和空白的行?

[root@localhost ~]#  grep -v "^#" /etc/ssh/sshd_config | grep -v "^$"

HostKey /etc/ssh/ssh_host_rsa_key

HostKey /etc/ssh/ssh_host_ecdsa_key

 

 

6.1  通过tar命令将/etc/passwd文件打包压缩成/root/file.tar.gz

root@localhost ~]# tar -czf /root/file.tar.gz /etc/passwd

tar: 从成员名中删除开头的“/

[root@localhost ~]# ls

20_pass.txt      file.tar.gz  pass_15.txt  公共  视频  文档  音乐

anaconda-ks.cfg  pass         z            模板  图片  下载  桌面

 

6.2  通过tar命令将/etc/passwd文件打包压缩成/root/file.tar.bz2

[root@localhost ~]# tar -jcf /root/file.tar.bz2 /etc/passwd

[root@localhost ~]# ls

20_pass.txt      file.tar.bz2  pass         z     模板  图片  下载  桌面

anaconda-ks.cfg  file.tar.gz   pass_15.txt  公共  视频  文档  音乐

 

6.3  创建空文件夹/web/test1,并将file.tar.bz2 解包并释放到/web/test1目录下?

[root@localhost ~]# tar -xf file.tar.bz2  -C /web/test1/

7.1   通过vi编辑/web/test1/passwd文件将文件里为root单词全部替换成benet

:% s/root/benet/g

 

 

7.2   通过vi编辑 删除pass文件第1510行。

 vi pass

root:x:0:0:root:/root:/bin/bash

      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:/d

        ev/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

Dd

root:x:0:0:root:/root:/bin/bash

      1 bin:x:1:1:bin:/bin:/sbin/nologin

      2 daemon:x:2:2:daemon:/sbin:/sbin/nologin

      3 adm:x:3:4:adm:/var/adm:/sbin/nologin

      4 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

      5 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown

      6 halt:x:7:0:halt:/sbin:/sbin/halt

      7 mail:x:8:12:mail:/var/spool/mail:/sbin/nologin

      8 operator:x:11:0:operator:/root:/sbin/nologin

      9 games:x:12:100:games:/usr/games:/sbin/nologin

     10 nobody:x:99:99:Nobody:/:/sbin/nologin

     11 dbus:x:81:81:System message bus:/:/sbin/nologin

     12 polkitd:x:999:999:User for polkitd:/:/sbin/nologin

     13 tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/d

        ev/null:/sbin/nologin

     14 usbmuxd:x:113:113:usbmuxd user:/:/sbin/nologin

     15 colord:x:998:997:User for colord:/var/lib/colord:/sbin/nologin

     16 ntp:x:38:38::/etc/ntp:/sbin/nologin

     17 libstoragemgmt:x:997:995:daemon account for libstoragemgmt:/var/run/lsm:/sbin/

        nologin

光标移到1,5,10行按dd  

~                                                                                  

~   

                                    

7.3   vi中显示pass文件行号复制文件2 3 4行粘贴到以lp开头的行下。

1 bin:x:1:1:bin:/bin:/sbin/nologin

  2 daemon:x:2:2:daemon:/sbin:/sbin/nologin

  3 adm:x:3:4:adm:/var/adm:/sbin/nologin

  4 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

  5 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

  6 adm:x:3:4:adm:/var/adm:/sbin/nologin

  7 daemon:x:2:2:daemon:/sbin:/sbin/nologin

  8 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown

  9 halt:x:7:0:halt:/sbin:/sbin/halt

 10 mail:x:8:12:mail:/var/spool/mail:/sbin/nologin

 11 operator:x:11:0:operator:/root:/sbin/nologn

 12 games:x:12:100:games:/usr/games:/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/n

    ull:/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/nolo

    gin

光标移到234YY,然后光标移到IP开头的行首P

 

7.4   通过vi编辑 查找文件内包含mail var等字符串,并记录所在行号。

/mail 第十行

/var 第三,四,五,六,十,十八,二十行

 

7.5   通过vi编辑 快速跳转到文件的第二行,通过r 读取 /etc/hosts 文件的内容到第二行下。

:2

 1 bin:x:1:1:bin:/bin:/sbin/nologin

      2 daemon:x:2:2:daemon:/sbin:/sbin/nologin

      3 127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

      4 ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

光标移到第二行然后

r /etc/hosts

 

7.6  将更改后的文件使用vim另存为/root/new_pass

:w /root/new_pass

"~/new_pass" [New] 22L, 1112C written

 

7.7  new_pass文件压缩成gz格式并改名为npass.gz文件。

[root@localhost ~]# ls

20_pass.txt      file.tar.bz2  new_pass  pass_15.txt  公共  视频  文档  音乐

anaconda-ks.cfg  file.tar.gz   pass      z            模板  图片  下载  桌面

[root@localhost ~]# gzip new_pass

[root@localhost ~]# ls

20_pass.txt      file.tar.bz2  new_pass.gz  pass_15.txt  公共  视频  文档  音乐

anaconda-ks.cfg  file.tar.gz   pass         z            模板  图片  下载  桌面

[root@localhost ~]# mv new_pass.gz npass.gz

[root@localhost ~]# ls

20_pass.txt      file.tar.bz2  npass.gz  pass_15.txt  公共  视频  文档  音乐

anaconda-ks.cfg  file.tar.gz   pass      z            模板  图片  下载  桌面

[root@localhost ~]#

 

8.  统计/dev 目录下的文件数量。

[root@localhost ~]# ls -l /dev|wc -l

155

[root@localhost ~]# cd /etc

[root@localhost etc]# ls -l |grep -v "^d" |wc -l

144

 

9.1  /boot下查找文件名以vmlinuz开头的文件?

[root@localhost ~]# cd /boot

[root@localhost boot]# find -name "vmlinuz*"

./vmlinuz-3.10.0-229.el7.x86_64

./vmlinuz-0-rescue-1781126a035244acbfb57d3f9b9955cf

./vmlinuz

 

9.2  /boot下查找文件大小大于3M 小于 20M 的文件

[root@localhost boot]# find -size +3M -a -size -20M

./vmlinuz-3.10.0-229.el7.x86_64

./vmlinuz-0-rescue-1781126a035244acbfb57d3f9b9955cf

./initramfs-3.10.0-229.el7.x86_64.img

 

10.  请详细写出构建本地yum仓库的步骤?并在每行命令后面用自己的话做上中文注释?

umount /dev/sr0                    //卸载光盘

mount /dev/sr0 /media/        //挂载光盘

ls /media/                              //查看

 

构建本地YUM仓库文档

cd /etc/yum.r*

mkdir a/

mv C* a/

创建本地yum仓库文档

vi ./local.repo

[cdrom]                               //仓库名称

name=cdrom

baseurl=file:///media        //指定rpm包的位置

enabled=1                         //启用本地yum仓库

gpgcheck=0                    //禁用gpg校验

 

yum -y clean all            //清除yum缓存

yum makecache           //重建yum缓存

 

rpm -q vsftpd                       //查询是否安装vsftpd

yum -y install vsftpd          //yum安装vsftpd

rpm -q vsftpd                     //查询是否安装vsftpd

yum -y remove vsftpd       //yum卸载vsftpd 

rpm -q vsftpd                    //查询是否卸载vsftpd     

 

11、用yum命令安装vsftpd,查询安装情况,最后卸载vsftpd,并再次查询卸载情况?

[root@localhost ~]# umount /dev/sr0                    //卸载光盘

[root@localhost ~]# mount /dev/sr0 /media/         //挂载光盘

mount: /dev/sr0 写保护,将以只读方式挂载

[root@localhost ~]# ls /media                                 //查看

CentOS_BuildTag  EULA  images    LiveOS    repodata              RPM-GPG-KEY-CentOS-Testing-7

EFI              GPL   isolinux  Packages  RPM-GPG-KEY-CentOS-7  TRANS.TBL

[root@localhost ~]# cd /etc/yum.r*                       //进入yum本地目录

[root@localhost yum.repos.d]#mkdir a/             //建立a目录

[root@localhost yum.repos.d]#mv C* a/            //c开头的文件移到A目录

[root@localhost yum.repos.d]# vi local.repo    //创建本地yum仓库文档

[cdrom]                                                                 //仓库名称

name=cdrom

baseurl=file:///media                                         //指定rpm包的位置

enabled=1                                                         //启动本地yum仓库

gpgcheck=0                                                    //禁止gpg校验

                                                                   

~                                                                                                

~                                                                                                                                                                                          

"local.repo" 5L, 62C written

[root@localhost yum.repos.d]# yum -y clean all           //清除yum缓存

已加载插件:fastestmirror, langpacks

正在清理软件源: cdrom

Cleaning up everything

Cleaning up list of fastest mirrors

[root@localhost yum.repos.d]# yum makecache        //重建yum缓存

已加载插件:fastestmirror, langpacks

cdrom                                                                     | 3.6 kB  00:00:00     

(1/4): cdrom/filelists_db                                                 | 2.7 MB  00:00:00     

(2/4): cdrom/group_gz                                                     | 154 kB  00:00:00     

(3/4): cdrom/other_db                                                     | 1.1 MB  00:00:00     

(4/4): cdrom/primary_db                                                   | 2.7 MB  00:00:00     

Determining fastest mirrors

元数据缓存已建立

[root@localhost yum.repos.d]# rpm -q vsftpd                      //查询是否安装vsftpd

未安装软件包 vsftpd

[root@localhost yum.repos.d]# yum -y install vsftpd          //yum安装vsftpd

已加载插件:fastestmirror, langpacks

Loading mirror speeds from cached hostfile

正在解决依赖关系

--> 正在检查事务

---> 软件包 vsftpd.x86_64.0.3.0.2-9.el7 将被 安装

--> 解决依赖关系完成

 

依赖关系解决

 

=================================================================================================

 Package              架构                 版本                        源                   大小

=================================================================================================

正在安装:

 vsftpd               x86_64               3.0.2-9.el7                 cdrom               165 k

 

事务概要

=================================================================================================

安装  1 软件包

 

总下载量:165 k

安装大小:343 k

Downloading packages:

Running transaction check

Running transaction test

Transaction test succeeded

Running transaction

  正在安装    : vsftpd-3.0.2-9.el7.x86_64                                                    1/1

  验证中      : vsftpd-3.0.2-9.el7.x86_64                                                    1/1

 

已安装:

  vsftpd.x86_64 0:3.0.2-9.el7                                                                    

 

完毕!

[root@localhost yum.repos.d]# yum -y remove vsftpd      //yum卸载vsftpd

已加载插件:fastestmirror, langpacks

正在解决依赖关系

--> 正在检查事务

---> 软件包 vsftpd.x86_64.0.3.0.2-9.el7 将被 删除

--> 解决依赖关系完成

 

依赖关系解决

 

=================================================================================================

 Package              架构                 版本                       源                    大小

=================================================================================================

正在删除:

 vsftpd               x86_64               3.0.2-9.el7                @cdrom               343 k

 

事务概要

=================================================================================================

移除  1 软件包

 

安装大小:343 k

Downloading packages:

Running transaction check

Running transaction test

Transaction test succeeded

Running transaction

  正在删除    : vsftpd-3.0.2-9.el7.x86_64                                                    1/1

  验证中      : vsftpd-3.0.2-9.el7.x86_64                                                    1/1

 

删除:

  vsftpd.x86_64 0:3.0.2-9.el7                                                                    

 

完毕!

[root@localhost yum.repos.d]# rpm -q vsftpd            //查询是否卸载vsftpd

未安装软件包 vsftpd

 

12、用rpm命令安装vsftpd,查询安装情况,最后卸载vsftpd,并再次查询卸载情况?

[root@localhost Packages]# rpm -i vsftpd-3.0.2-9.el7.x86_64.rpm    //安装

警告:vsftpd-3.0.2-9.el7.x86_64.rpm: V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY

[root@localhost Packages]# rpm -q vsftpd                  //查看安装

vsftpd-3.0.2-9.el7.x86_64

[root@localhost Packages]# rpm -e vsftpd                 // 卸载

[root@localhost Packages]# rpm -q vsftpd                //查看卸载

未安装软件包 vsftpd

 

13、通过源码方式通过解包、配置、编译、安装四个步骤安装源码软件httpd-2.2.17.tar.gz?并进行测试?

[root@localhost ~]# yum -y install gcc                          //安装gcc

[root@localhost ~]# yum -y install make                      //安装make

[root[root@localhost ~]# yum -y install gcc-c++         //安装gcc-c++

[root@localhost ~]# yum -y install lynx                        //安装lynx

 

@localhost ~]# tar -xf httpd-2.2.17.tar.gz -C /usr/src       //解包

[root@localhost ~]# cd /usr/src/httpd-2.2.17/                  //进入httpd-2.2.17文件目录

[root@localhost httpd-2.2.17]# config --prefix =/usr/local/apache              //安装目录

[root@localhost httpd-2.2.17]# make                                //执行make命令

[root@localhost httpd-2.2.17]# make install                    //执行make install命令

 

root@localhost httpd-2.2.17]# cd /usr/local/apache/conf                  //切换目录

[root@localhost conf]# cp httpd.conf httpd.conf.bak

[root@localhost conf]# cd /usr/src/httpd-2.2.17/    

[root@localhost ~]# /usr/local/apache/bin/apachectl start                //启动Apache

[root[root@localhost ~]# lynx 127.0.0.1                                                //运行