Linux基础面试题二

1.创建用户user01,并给其用户设置一个24位的随机密码,要求密码包含数字,大小写字母及特殊符号,最后查看是否可以登录。

[r ~]# useradd user01 && mkpasswd -l 24 -c 5 -C 5 -d 5 -s 5| tee /root/passwd.txt | passwd --stdin user01 
[ ~]# cat passwd.txt 
095SyXV:J[5f^cysZg]6gjs.

2.Shell主要分为哪几类,并解释一下什么含义?

①.交互式Shell:等待用户输入执行的命令(终端操作,需要不断提示),如passwd命令以及交互脚本。
②.非交互式Shell:执行shell脚本或命令,执行结束后Shell自动退出,如ifconfig命令以及非交互脚本。
③.登陆式Shell:需要输入用户名和密码才能进入shell,如 su - root
④.非登录式Shell:不需要输入用户名和密码就能进入,如sh,bash命令

3.可以根据哪个文件对sudo提权?

/etc/sudoers

4.登录到普通用户,查看/etc/shadow文件的内容,发现查看不了,怎么办?(可以用几种方法)

①.执行su - root,切换到root用户下查看
②.提权,执行su - root,切换到root用户下,执行visudo插入以下语句:
user01 ALL=(ALL) /bin/cat
保存后,再Ctrl + d,执行sudo cat /etc/shadow,
需要交互式输入user01密码,即可查看

5.创建一个普通用户test02,只限制这个普通用户的删除权限,给予其他所有权限,使用sudo提权时无需输入自己的密码

[ ~]# useradd test02
[ ~]# id test02
uid=5015(test02) gid=5015(test02) groups=5015(test02)
[ ~]# visudo
插入以下内容:
test02  ALL=(ALL)   NOPASSWD: ALL,!/bin/rm

6.切换用户时,su 和su - 的区别

su:并没有加载一些环境变量配置文件,~/.bash_profile 和 /etc/profile
su -:加载了上述的环境变量配置文件,并切换到用户的家目录中。

7./etc/passwd文件以‘:‘ 为分割符, 分为7个字段,请说明一下每个字段的具体含义?

root	:	x	:	0	:	0	:	root	:	/root	:	/bin/bash
#	用户名	     密码占位符	       uid	       gid             注释信息	       家目录		登录shell

8./etc/shadow文件以 ‘:‘ 为分割符, 分为9个字段,请说明一下每个字段的具体含义?

nginx:!!:18351:0:99999:7::6627567:
第一列:用户名
第二列:用户加密的密码(如果没有,则为!!或者*)
第三列:最后一次修改密码的时间,是1970年到现在的天数
第四列:密码最少使用天数,0即无限制
第五列:密码有效时间,99999天,273年
第六列:到期前7天提醒用户修改密码
第七列:过期后N天,强制提醒用户变更密码
第八列:从1970年起,账户在这个日期内可用,指定天数后失效,用户被锁定
第九列:标志保留,以后添加新的功能

9.存放用户账户信息的配置文件是?

/etc/login.def
/etc/default/useradd

10.用gzip命令打包oldboy目录

gzip不支持目录打包

11.查看gzip打包之后的/etc/hosts的文件内容,在不解压的情况下查看

[ ]# zcat hosts.gzip

12.使用zip打包/etc目录,包名为etc.zip

[ ]# zip -r etc.zip /etc

13.打包/etc/目录,命令以ip地址+当前时间方式的压缩包,比如: 10.0.0.100_2019-12-24_etc.tar.gz,并且不打包/etc/hosts和/etc/hostname文件

[ mnt]# tar zcf $(echo $(ifconfig eth0 | awk ‘NR==2 {print $2}‘)_$(date +%F)_etc.tar.gz) /etc --exclude=/etc/{hosts,hostname}
-rw-r--r-- 1 root root 10159127 Mar 29 10:29 10.0.0.88_2020-03-29_etc.tar.gz

14.已知/etc/grub2.cfg文件是个软连接文件,在你不知道的情况下,请问怎么打包该文件的真实文件?忘了

[ mnt]# tar zcfh grub2.cfg.tgz  /etc/grub2.cfg

相关推荐