Linux就该这么学课后题(上)
第一章
1.为什么建议读者在下载系统文件后先进行校验而不是直接安装呢?
答:为了保证系统和软件包的安全与完整性,避免因为外部因素导致安装失败。
2.使用虚拟机安装Linux系统时,为什么要先选择稍后安装操作系统,而不是去选择RHEL 8系统镜像文件?
答:在配置界面中若直接选择了RHEL 8系统镜像文件,则VMware Workstation虚拟机会使用内置的安装向导自动进行安装,最终安装出来的系统跟我们后续进行实验所需的系统环境会不一样。
3.在安装系统时如果出现类似于“CPU不支持虚拟化”这样的报错信息,该怎么解决?
答:遇到此类报错,最大的可能原因是BIOS中没有开启VT功能,手动开启后重启即可。
4.RPM(红帽软件包管理器)只有红帽企业系统在使用,对吗?
答:RPM已经被CentOS、Fedora、openSUSE等众多Linux系统采用。
5.简述RPM与软件仓库的作用。
答:RPM是通过将源代码与安装规则打包在一起,降低了单个软件的安装难度。而Yum与DNF软件仓库则是将大量常用的RPM软件包打包到一起,解决了软件包之间的依赖关系,这进一步降低了软件的整体安装难度。
6.RHEL 7/8系统采用了systemd作为初始化进程,那么如何查看某个服务的运行状态呢?
答:执行命令“systemctl status服务名”可以查看服务的运行状态。
第二章
1.在RHEL 8及众多的Linux系统中,最常使用的Shell终端是什么?
答:Bash(Bourne-Again SHell)解释器。
2.执行Linux系统命令时,添加参数的目的是什么?
答:为了让Linux系统命令能够更贴合用户的实际需求进行工作。
3.Linux系统命令、命令参数及命令对象之间,应该使用什么来间隔?
答:应该使用一个或多个空格进行间隔。
4.请写出用echo命令把SHELL变量值输出到屏幕终端的命令。
答:echo $SHELL。
5.简述Linux系统中5种进程的名称及含义。
答:在Linux系统中,有下面5种进程名称。
- R(运行):进程正在运行或在运行队列中等待。
- S(中断):进程处于休眠中,当某个条件形成后或者接收到信号时,则脱离该状态。
- D(不可中断):进程不响应系统异步信号,即便用kill命令也不能将其中断。
- Z(僵死):进程已经终止,但进程描述符依然存在, 直到父进程调用wait4()系统函数后将进程释放。
- T(停止):进程收到停止信号后停止运行。
6.请尝试使用Linux系统命令关闭PID为5529的服务进程。
答:执行kill 5529命令即可;若知道服务的名称,则可以使用killall命令进行关闭。
7.使用ifconfig命令查看网络状态信息时,需要重点查看的4项信息分别是什么?
答:这4项重要的信息分别是网卡名称、IP地址、网卡物理地址以及RX/TX的收发流量数据大小。
8.使用uptime命令查看系统负载时,对应的负载数值如果是0.91、0.56、0.32,那么最近15分钟内负载压力最大的是哪个时间段?
答:通过负载数值可以看出,最近1分钟内的负载压力是最大的。
9.使用history命令查看历史命令的执行记录时,命令前面的编码数字除了排序外还有什么用处?
答:还可以用“!编码数字”的命令格式重复执行某一次的命令记录,从而避免了重复输入较长命令的麻烦。
10.若想查看的文件具有较长的内容,那么使用cat、more、head、tail中的哪个命令最合适?
答:文件内容较长,使用more命令;反之使用cat命令。
11.在使用mkdir命令创建有嵌套关系的目录时,应该加上什么参数呢?
答:应该加上-p递归迭代参数,从而自动化地创建有嵌套关系的目录。
12.在使用rm命令删除文件或目录时,可使用哪个参数来避免二次确认呢?
答:可使用-f参数,这样即可无须二次确认。
13.若有一个名为backup.tar.gz的压缩包文件,那么解压的命令应该是什么?
答:应该用tar命令进行解压,执行tar -xzvf backup.tar.gz命令即可。
14.使用grep命令对某个文件进行关键词搜索时,若想要进行文件内容反选,应使用什么参数?
答:可使用-v参数来进行匹配内容的反向选择,即显示出不包含某个关键词的行。
第三章
1.把ls命令的正常输出信息追加写入到error.txt文件中的命令是什么?
答:ls >> error.txt(注意区分>和>>的不同)。
2.请简单概述管道符的作用。
答:把左面(前面)命令的输出值作为右面(后面)命令的输入值以便进一步处理信息。
3.Bash解释器的通配符中,星号(*)代表几个字符?
答:零个或多个。
4.PATH变量的作用是什么?
答:设定解释器搜索所执行命令的路径,找到其所在位置。
5.一般情况下,为参数添加双引号有什么好处?
答:双引号通常用于界定参数的个数,以免程序或命令在执行时产生歧义,因此参数中若有空格,则建议添加双引号。
6.使用什么命令可以把名为LINUX的一般变量转换成全局变量?
答:export LINUX。
第四章
1.Vim编辑器的3种模式分别是什么?
答:命令模式、末行模式与输入模式(也叫编辑模式或插入模式)。
2.怎么从输入模式切换到末行模式?
答:需要先敲击Esc键退回到命令模式,然后敲击冒号(:)键后进入末行模式。
3.一个完整的Shell脚本应该包含哪些内容?
答:应该包括脚本声明、注释信息和可执行语句(即命令)。
4.分别解释Shell脚本中$0与$3变量的作用。
答:在Shell脚本中,$0代表脚本文件的名称,$3则代表该脚本在执行时接收的第3个参数。
5.if条件测试语句有几种结构,最灵活且最复杂的是哪种结构?
答:if条件测试语句包括单分支、双分支与多分支等3种结构,其中多分支结构是最灵活且最复杂的结构,其结构形式为if…then…elif…then…else…fi。
6.for条件循环语句的循环结构是什么样子的?
答:for条件循环语句的结构为“for变量名in取值列表do命令序列done”。
7.若在while条件循环语句中使用true作为循环条件,那么会发生什么事情?
答:由于条件测试值永久为true,因此脚本中的循环部分会无限地重复执行下去,直到碰到exit命令才会结束。
8.如果需要依据用户的输入参数执行不同的操作,最方便的条件测试语句是什么?
答:case条件语句。
9.Linux系统的长期计划任务所使用的服务是什么,其参数格式是什么?
答:长期计划任务需要使用crond服务程序,参数格式是“分、时、日、月、星期 命令”。
第五章
1.在RHEL 8系统中,root管理员是谁?
答:是UID为0的用户,是权限最大、限制最小的管理员。
2.如何使用Linux系统的命令行来添加和删除用户?
答:添加和删除用户的命令分别是useradd与userdel。
3.若某个文件的所有者具有文件的读/写/执行权限,其余人仅有读权限,那么用数字法表示应该是什么?
答:所有者权限为rwx,所属组和其他人的权限为r--,因此数字法表示应该是744。
4.某文件的字符权限为rwxrw-r--,那么对应的数字法权限应该是多少?
答:数字法权限应该是764。
5.某链接文件的权限用数字法表示为755,那么相应的字符法表示是什么呢?
答:在Linux系统中,不同文件具有不同的类型,因此这里应写成lrwxr-xr-x。
6.如果希望用户执行某命令时临时拥有该命令所有者的权限,应该设置什么特殊权限?
答:特殊权限中的SUID。
7.若对文件设置了隐藏权限(+i参数),则意味着什么?
答:无法对文件进行修改;若对目录设置了该参数,则仅能修改其中的子文件内容而不能新建或删除文件。
8.使用访问控制列表(ACL)来限制linuxprobe用户组,使得该组中的所有成员不得在/tmp目录中写入内容。
答:想要设置用户组的ACL,则需要把u改成g,即setfacl -Rm g:linuxprobe:r-x /tmp。
9.当普通用户使用sudo命令时是否需要验证密码?
答:系统在默认情况下需要验证当前登录用户的密码,若不想验证,可添加NOPASSWD参数。
第六章
1./home目录与/root目录内存放的文件有何相同点以及不同点?
答:这两个目录都是用来存放用户家目录数据的,但是,/root目录存放的是root管理员的家目录数据。
2.假如一个设备的文件名称为/dev/sdb,可以确认它是主板第二个插槽上的设备吗?
答:不一定,因为设备的文件名称是由系统的识别顺序来决定的。
3.如果硬盘中需要5个分区,则至少需要几个逻辑分区?
答:可以选用创建3个主分区+1个扩展分区的方法,然后把扩展分区再分成2个逻辑分区,即有了5个分区。
4./dev/sda5是主分区还是逻辑分区?
答:逻辑分区。
5.哪个服务决定了设备在/dev目录中的名称?
答:udev设备管理器服务。
6.用一句话来描述挂载操作。
答:当用户需要使用硬盘设备或分区中的数据时,需要先将其与一个已存在的目录文件进行关联,而这个关联动作就是“挂载”。
7.在配置quota磁盘容量配额服务时,软限制数值必须小于硬限制数值么?
答:不一定,软限制数值可以小于等于硬限制数值。
8.VDO技术能够提升硬盘的物理存储空间么?
答:不可以,VDO是通过压缩或删重操作来提高硬盘的逻辑空间大小。
9.若原始文件被改名,那么之前创建的硬链接还能访问到这个原始文件么?
答:可以。
第七章
1.RAID技术主要是为了解决什么问题?
答:RAID技术可以解决存储设备的读写速度问题及数据的冗余备份问题。
2.RAID 0和RAID 5哪个更安全?
答:RAID 0没有数据冗余功能,因此RAID 5更安全。
3.假设使用4块硬盘来部署RAID 10方案,外加一块备份盘,最多可以允许几块硬盘同时损坏呢?
答:最多允许5块硬盘设备中的3块设备同时损坏。
4.位于LVM最底层的是物理卷还是卷组?
答:最底层的是物理卷,然后再通过物理卷组成卷组。
5.LVM对逻辑卷的扩容和缩容操作有何异同点呢?
答:扩容和缩容操作都需要先取消逻辑卷与目录的挂载关联;扩容操作是先扩容后检查文件系统完整性,而缩容操作为了保证数据的安全,需要先检查文件系统完整性再缩容。
6.LVM的快照卷能使用几次?
答:只可使用一次,而且使用后即自动删除。
7.LVM的删除顺序是怎么样的?
答:依次移除逻辑卷、卷组和物理卷。
第八章
1.在RHEL 8系统中,iptables是否已经被firewalld服务彻底取代?
答:没有,iptables和firewalld服务均可用于RHEL 8系统。
2.请简述防火墙策略规则中DROP和REJECT的不同之处。
答:DROP的动作是丢包,不响应;REJECT是拒绝请求,同时向发送方回送拒绝信息。
3.如何把iptables服务的INPUT规则链默认策略设置为DROP?
答:执行命令iptables -P INPUT DROP即可。
4.怎样编写一条防火墙策略规则,使得iptables服务可以禁止源自192.168.10.0/24网段的流量访问本机的sshd服务(22端口)?
答:执行命令iptables -I INPUT -s 192.168.10.0/24 -p tcp --dport 22 -j REJECT即可。
5.请简述firewalld中区域的作用。
答:可以依据不同的工作场景来调用不同的firewalld区域,实现大量防火墙策略规则的快速切换。
6.如何在firewalld中把默认的区域设置为dmz?
答:执行命令firewall-cmd --set-default-zone=dmz即可。
7.如何让firewalld中以永久(Permanent)模式配置的防火墙策略规则立即生效?
答:执行命令firewall-cmd --reload。
8.使用SNAT技术的目的是什么?
答:SNAT是一种为了解决IP地址匮乏而设计的技术,它可以使得多个内网中的用户通过同一个外网IP接入Internet。
9. TCP Wrapper服务分别有允许策略配置文件和拒绝策略配置文件,请问匹配顺序是怎么样的?
答:TCP Wrapper会先依次匹配允许策略配置文件,然后再依次匹配拒绝策略配置文件;如果都没有匹配到,则默认放行流量。
10.默认情况下如何使用Cockpit服务?
答:Cockpit服务默认占用9090端口号,可直接用浏览器访问Cockpit的Web界面。
第九章
1.在Linux系统中有多种方法可以配置网络参数,请列举几种。
答:配置网络参数可以使用nmtui命令、nmcli命令、nm-connection-editor命令或者直接编辑网络配置文件来实现对网络参数的修改。
2.在RHEL 8系统中使用网络会话技术的目的是什么?
答:使用nmcli命令来管理网络会话的目的是为了快速切换网络参数,以便适应不同的工作场景。
3.请简述网卡绑定技术balaner-rr模式的特点。
答:平时两块网卡均工作,且自动备援,无须交换机设备提供辅助支持。
4.在Linux系统中,当通过修改其配置文件中的参数来配置服务程序时,若想要让新配置的参数生效,还需要执行什么操作?
答:需要重新启动相关的服务程序,或让服务程序重新加载配置文件,或重启系统。
5.sshd服务的密码验证与密钥验证方式,哪个更安全?
答:一般情况下,密钥验证方式更加安全。若用户有更高的安全需求,还可以再对密钥文件进行密码加密,从而实现双重加密。
6. 想要把本地文件/root/out.txt传送到地址为192.168.10.20的远程主机的/home目录下,且本地主机与远程主机均为Linux系统,最为简便的传送方式是什么?
答:执行命令scp /root/out.txt root@192.168.10.20:/home,并在进行密码验证后即可开始传送。
7.Tmux服务程序能够让用户实现远程控制的不间断会话,即便网络发生中断也不丢失对远程主机的会话控制。那么,当想要恢复一个名为linux的会话窗口时,应该怎么做呢?
答:执行命令tmux attach -t linux即可恢复这个会话窗口。
第十章
1.什么是Web网络服务?
答:一种允许用户通过浏览器访问互联网中各种资源的服务。
2.相较于Nginx服务程序,Apache服务程序最大的优势是什么?
答:Apache服务程序具备跨平台特性、安全性,而且拥有快速、可靠、简单的API扩展。
3.httpd服务程序没有检查到首页文件,会提示报错信息吗?
答:不会,httpd服务在未找到网站首页文件时,会向访客显示一个默认页面。
4.简述Apache服务主配置文件中全局配置参数、区域配置参数和注释行信息的作用。
答:全局配置参数是一种全局性的配置参数,可作用于所有的子站点;区域配置参数则是单独针对每个独立的子站点设置的;而注释行信息一般是对服务程序的功能或某一行参数进行介绍的。
5.简述SELinux服务的作用。
答:为了让各个服务进程都受到约束,使其仅获取到本应获取的资源。
6.在使用getenforce命令查看SELinux服务模式时,发现其配置模式为permissive,这代表强制开启模式吗?
答:不是,强制开启模式是enforcing,而permissive是只发出警告而不强制拦截的模式。
7.在使用semanage命令修改了文件上应用的SELinux安全上下文后,还需要执行什么命令才可以让更改立即生效?
答:还需要执行restorecon命令即可让新的SELinux安全上下文参数立即生效。
8.要想查询并过滤出所有与HTTP协议相关的SELinux域策略有哪些,应该怎么做呢?
答:可以结合管道符来实现,即执行getsebool -a | grep http命令。
9.Apache服务程序可以基于哪些资源来创建虚拟主机网站呢?
答:可以基于IP地址、主机名(域名)或者端口号创建虚拟主机网站。
10.相对于基于IP地址和基于主机名(域名)配置的虚拟主机网站来说,使用端口号配置虚拟主机网站有哪些特点?
答:在使用端口号来配置虚拟主机网站时,必须要考虑到SELinux域对httpd服务程序所用端口号的控制策略,还要在httpd服务程序的主配置文件中使用Listen参数来开启要监听的端口号。
参考
The Working Class Must Lead!