练习题-综合练习

Linux58期课后练习题 综合练习

1. 一个EXT4的文件分区,当使用touch test.file命令创建一个新文件时报错,报错的信息是提示磁盘已满,但是采用 df -h 命令查看磁盘大小时,只使用了60%的磁盘空间,为什么会出现这种情况?
答:
inode 满:定时任务书写有误,导致邮件产生大量小文件,把inode 占用完了

2. 对名为fido的文件用chmod 551 fido进行修改,则他的许可权是?
答:

r-xr-x--x

3. 文件系统中软硬连接的区别?
答:
1)答分类:在Linux系统中,连接分两种:一种被称为硬链接(Hard Link),另一种被称为软连接(soft link)或符号链接(symbolic link)。
2)答概念:硬链接文件与源文件的Inode节点号相同,而软连接文件相当于Windows下面的快捷方式(Inode节点号与源文件不同)。
3)答创建:默认不带参数的情况下,ln命令创建的是硬链接,带-s参数的ln命令创建的是软连接。
4)答特点:
a. 不能对目录创建硬链接,但可以创建软连接,对目录的软连接会经常被用到。
b. 软连接可以跨文件系统,硬链接不可以跨文件系统。
c. 删除软链接,对源文件及硬链接文件无任何影响。
d. 删除文件的硬链接,对源文件及软链接文件无任何影响。
e. 删除链接文件的源文件,对硬链接文件无影响,会导致其软链接失效(红底白字闪烁状)。
f. 同时删除源件及其硬链接文件,整个文件才会被真正的删除。
5)答案例:硬链接用处不多,可以用来对重要文件做快照防止误删,而对目录建立软链接在工作中很常用。

4. Linux开机启动流程详细步骤是什么?系统安装完,忘记密码如何破解
开机启动流程
答:
1 CentOS6系统启动流程说明
01)开启开机按钮,加载BIOS自检
02)读取MBR信息
03)加载Grub菜单
04)加载Kernel内核以及驱动程序
05)启动init进程,读取inittab文件
06)init进程执行rc.sysinit初始化系统
07)init进程加载内核相关模块
08)init进程执行对应运行级别下的脚本
09)加载/etc/rc.local
10)启动mingetty,进入登录前的状态
2 CentOS7系统启动流程说明
1)开启开机按钮,加载BIOS自检
2)读取MBR引导
3)加载Grub菜单
4)加载Kernel内核以及驱动程序
5)运行systemd进程
6)读取运行级别
7)系统初始化
8)并行启动各种服务
9)启动login显示登录界面
忘记密码破解方式
答:
开机按e键,找到以linux16开头的那一行,在行尾加上如下几句话:
  1)、如果是物理机,添加:rd.break
  2)、如果是虚拟机,添加:rd.break console=tty0
然后按Ctrl+x进行启动
进入shell环境之后,进行如下操作:

1)、将根目录重新挂载,模式可写

 switch_root:/# mount -o rw,remount /sysroot

2)、变更目录至根目录下

 switch_root:/# chroot /sysroot

3)、更改密码

sh-4.2# passwd

4)、如果安装的是中文系统,此时会出现乱码,可以根据经验直接输入,也可输入以下命令,当次变更语言为英语

sh-4.2# LANG=en_US

5)、如果SELinux开启需要更新SELinux上下文,只要创建下面的文件即可

sh-4.2# touch /.autorelabel

6)、退出重启

sh-4.2# exit

switch_root:/# exit

5. 请取出系统中所有的用户名及UID,并过滤出不可登录的用户
答:

cat /etc/passwd|awk -F':' '/nologin$/ {print $1,$3}'

6. 请取出eth0网卡的mac地址
答:

ifconfig eth0|awk NR==4'{print $2}'

7. 在/home目录下找出3天之前被修改过文件大于20k的文件,并把他们打包到/oldboy/目录下并以当前时间命名
答:

find /home/ -type f -mtime +3 -size +20k|xargs tar zcf /oldboy/(date +%T).tar.gz

8. 如何在/var目录下找出90天之内未被访问过得文件?
答:

find /var/ -type f -atime -90

9. 如何使用CRT/Xshell向linux服务器上传下载文件
答:

上传:rz或直接拖拽

下载:语法:sz 文件名

10. 如何检查selinux是否开启
答:

getenforce

11. 文件excel的访问权限为rw-r--r--.现要增加所有用户的执行权限和同组用户的写权限,命令是
答:

chmod a+x,g+w excel

12. 批量创建20个用户,用户名格式为oldboy1等等,并都设置密码 123456该如何实现?
答:
1)、第一种方法:

a.先编辑一个文本用户文件
每一列按照/etc/passwd密码文件的格式书写,
一个范例文件user.txt内容如下:

oldboy01::1001:1001:user:/home/ oldboy01:/bin/bash

oldboy02::1002:1002:user:/home/ oldboy02:/bin/bash

oldboy03::1003:1003:user:/home/ oldboy03:/bin/bash

…

oldboy19::1019:1019:user:/home/oldboy19:/bin/bash

oldboy20::1020:1020:user:/home/oldboy20:/bin/bash

b. 以root身份执行命令 /usr/sbin/newusers,从刚创建的用户文件user.txt中导入数据,创建用户:

# newusers < user.txt1

c.执行命令 /user/sbin/pwunconv/etc/shadow产生的 shadow密码解码,然后回写到 /etc/passwd 中,并将/etc/shadowshadow密码栏删掉。这是为了方便下一步的密码转换工作,即先取消 shadow password功能

pwunconv

d. 编辑每个用户的密码对照文件,范例文件passwd.txt内容如下:

oldboy 01:密码
oldboy 02:密码
oldboy 03:密码
oldboy 04:密码
oldboy 05:密码
oldboy 06:密码

e.以root身份执行命令 /usr/sbin/chpasswd
创建用户密码,chpasswd 会将经过/usr/bin/passwd命令编码过的密
码写入/etc/passwd的密码栏

chpasswd < passwd.txt

f. 确定密码经编码写入/etc/passwd的密码栏后
执行命令/usr/sbin/pwconv将密码编码为shadow password,并将结果写入/etc/shadow

pwconv

这样就完成了

批量用户的创建,可以进行登录验证一下

2)、第二种方法:

a:批量创建用户:

seq –w 20|sed -nr 's#(.*)#useradd oldboy\1#gp'|bash

b:批量修改密码:

seq –w 20|sed -nr 's#(.*)#oldboy\1:123456#gp'|chpasswd
or
seq -w 20|sed -nr 's#(.*)#echo "123456"|passwd --stdin oldboy\1#gp'|bash

c:批量删除用户

seq –w 20 |sed -nr 's#(.*)#userdel -r oldboy\1#gp'|bash

13. /var/www/html/是网站的发布目录。如何每天凌晨0点30对其进行自动备份,写出操作步骤
答:

30 00 * * * /bin/tar zcf ./html_$(date +\%F).tar.gz /var/www/html/ &>/dev/null

14. crontab 在11月份内,每天的早上7点到11点中,每隔2小时执行一次/usr/bin/httpd.sh 怎么实现
答:

00 7-11/2 * 11 * /bin/sh /usr/bin/httpd.sh &>/dev/null

你可能感兴趣的:(练习题-综合练习)