拓展练习:(用户的基本管理及用户提权部分)

目录

  • vim视图模式及扩展、用户的相关配置文件
  • 用户的相关命令,useradd /usermod 、userdel
  • 组的切换,shell分类,用户身份提权

vim视图模式及扩展、用户的相关配置文件

1.复制系统/etc/services文件到/root目录,然后使用vim命令打开此文件。
cp /etc/services /root/services.
vim service.
cp /etc/services ./
2.显示该文件的行号
:set nu
3.显示该文件的每一行结尾的标识符
:set list
4.替换文件中所有的"ssh"字符串替换成"oldboy"
:%s#ssh#oldboy#g
5.跳转到30行,并删除此行。
:set nu   ---->30gg--->dd      #注释行,跳转到30行,删除
vim services. +30    --->dd  #登陆的时候直接跳转到30行,删除
6.撤销一次你的操作。
u
7.当你执行了撤销的时候,发现撤销错了,回滚,怎么操作。
ctrl +r
8.给第25行到30行的行首添加一个注释"#".写出操作步骤。
:set nu  --->25gg---->ctrl+v---->方向键到30行--->shift+i---->shift+#--->esc esc
9.删除第10行到20行的行首的注释"#".写出操作步骤。
10gg--->ctrl +v--->按方向键选中到20行--->d
10.vim编辑文件时,非正常退出,再从新编辑文件时,出现报错,怎么解决,写出解决步骤。
删除临时保存文件,同文件名的.swp文件即可删除
例如: .filename.swp   rm -f .filename.swp
注意:先查看是否有别的用户在编辑这个文件a
11.vim的环境变量配置文件都有哪些?哪个优先级高?
~/.vimrc 个人环境变量(优先级高)
/etc/vimrc  全局环境变量
12.你知道如何使用vim编辑多个文件吗?
vim -o a.sh zls.txt (水平分割)
vim -O a.sh zls.txt (垂直分割)
13.什么命令可以比对两个文件的不同,两个命令有什么区别?
diff 文件对比(用的不多)
vimdiff 以vim 方式打开两个文件对比,高亮标记不同的内容
14.普通模式下的S是什么作用?
删除光标所在行,并进入编辑模式
15.什么是用户?
用户指的是能够正常登陆linux或windows系统
16.Linux与windows系统的用户有什么区别?
本质都是登录系统的,只不过Linux支持多用户同时登录,windows默认不支持,但是修改`组策略`的情况下也是可以多用户登录的。
17.使用什么命令可以查看用户是否存在?
id
18.跟用户相关的配置文件都有哪些?分别存放的是什么?
/etc/passwd   存放用户的信息
/etc/shadow    存放用户的密码
19./etc/passwd文件以':' 为分割符, 分为7个字段,请说明一下每个字段的具体含义?
第1列 :用户账户名称
第2列 :密码占位符,存放账户的口令
第3列 :用户UID,用户标识号
第4列 :用户GID,组标识号
第5列 : 用户注释,用户详细信息
第6列 :用户家目录,root家目录
第7列 :用户登陆Linux使用的Shell
20./etc/shadow文件以':' 为分割符, 分为9个字段,请说明一下每个字段的具体含义?
第1列 :用户登录名,也就是用户的账户名称
第2列 :加密后的密码
第3列 :最近一次密码更改时间
第4列 :密码最少使用几天
第5列 : 密码最长使用几天
第6列 :密码到期前警告期限
第7列 :密码到期后保持活动的天数
第8列 : 账户到期时间
第9列 : 标志
21.什么是用户的UID?
用户标识号
22.不同的用户对应UID号范围是多少?
0: 超级管理员(拥有最高权限)
1-200: 系统用户,有系统分配给系统进程使用
201-999:系统用户,用来运行服务账户,不需要登陆系统(动态分配)
1000+   :常规普通用户
23.新建用户user1、user2,用户user2不允许登陆到系统中。
useradd user1
useradd user2 -M -s /sbin/nologin
或者useradd user1;useradd user -M -s /sbin/nologin
24.创建普通用户oldboy,其ID号为789.
useradd oldboy -u 789
25.创建虚拟用户test,其ID号为666
useradd test -M -u 666 -s /sbin/nologin
26.修改oldboy用户的ID号,修改为777.
usermod oldboy -u 777
27.修改用户test的命令解释器,使其可以登录到系统。
usermod test -s /bin/bash
28.删除用户user1.不删除其家目录。
userdel user1
29.删除用户user2,不保留其家目录。
userdel -r user2
30.给oldboy用户创建一个密码为123,并尝试登录。
passwd oldboy  
123--->123
 [email protected]
su - oldboy  #登陆
su  -  #退出登陆

用户的相关命令,useradd /usermod 、userdel

1.创建普通用户test01、test02、test03,要求UID为888,999,998

useradd test01 -u 888
useradd test02 -u 999
useradd test03 -u 998

2.给test01用户使用交互式设置密码为123456

passwd test01
123456
123456

3.使用test01用户进行登录。

su  - test01
或者在xhell中更改账户密码链接su
ssh [email protected]

4.使用非交互式给test01设置密码为oldboy123

echo "oldboy123" | passwd --stdin test01

5.使用修改之后的密码进行登录。

passwd username

6.有哪些命令可以查看当前用户的登录情况?

who
whoami
w

7.删除用户test02,要求连家目录一起删除。

userdel -r test02

8.请问,我删除了test02用户,哪个文件会发生变化?

/etc/passwd
/etc/shadow

9.创建一个虚拟用户oldboy01,要求UID为555,不创建家目录。

useradd oldboy01 -u 555 -M -s /sbin/nologin

10.创建用户时,不指定选项设置参数了,系统创建之后的默认参数是根据什么文件来定义的?

系统会根据/etc/login.defs、/etc/defaults/useradd两个文件作为参照物

11.切换普通用户时,出现这样的命令行"-bash-4.1$",这是什么原因造成的,该怎么解决?

原因:家目录下的.bash_* 环境变量相关的文件删除了
解决: cp /etc/skel/.bash* ./     再重新登录
      环境变量文件默认从/etc/skel目录中拷贝

12.登录到test01用户,给其用户test03设置密码,发现报错,请问是什么原因?该怎么解决?

普通用户没有修改其他用户密码的权限
只有root用户管理员才可以修改其他用户的密码,
使用非交互式来修改
echo  “密码” |passwd --stdin test03

13.登录到test01用户,给其本用户设置密码为123,报错,请问是什么原因?该怎么解决?

普通用户只能更改自己的密码,但密码必须满足8位字符

14.使用root用户给test01用户设置一个18位的随机密码,并进行登录。

[root@centos7 ~]# echo $RANDOM|md5sum |cut -c 1-18|tee /tmp/a |passwd --stdin test01
cat /tmp/a         #查询密码

15.创建10个用户,前缀是你的姓,后缀为数字序列,比如qiu1等。

seq '10' |awk '{print "useradd gong"$1}'|bash

16.创建10个用户,前缀是你的名,后缀为数字序列,比如zengjia1等,并给其10个用户设置统一密码为123456,最后尝试是否可以登录。

[root@centos7 ~]# seq '10' |awk '{print " useradd jingyun"$1";""echo123456|passwd --stdin jingyun"$1}'|bash

17.创建10个用户,前缀是oldboy,后缀为数字序列,比如oldboy1等,并给其10个用户设置随机密码,最后尝试是否可以登录。

[root@centos7 ~]# seq '10' |awk '{print "useradd oldboy"$1";""echo $RANDOM|md5sum|cut -c 1-10 |tee /tmp/old0"$1"|passwd --stdin oldboy"$1}'|bash

cat /tmp/old01

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

[root@centos7 ~]# useradd  qiudao ;mkpasswd -l 24 -d 2 -c 2 -C 2 -s 4|tee /tmp/aaa|passwd --stdin qiudao

cat /tmp/aaa

19.尝试使用sed命令的后向引用取出ip地址,请分别使用ip和ifconfig命令取出,实在取不出,也没有关系。

[root@centos7 ~]# ip a s ens33|sed -rn '3s#.*t (.*)/.*#\1#p'
10.0.0.100
[root@centos7 ~]# ifconfig ens33|sed -rn '2s#.*t (.*) n.*#\1#gp'
10.0.0.100

20.尝试使用awk命令取出ip地址,请分别使用ip和ifconfig命令取出,实在取不出,也没有关系。

[root@centos7 ~]# ifconfig ens33|awk -F ' ' 'NR==2 {print $2}'
10.0.0.100
[root@centos7 ~]# ip a s ens33|awk -F '[ /]+' 'NR==3 {print$3}'
10.0.0.100

组的切换,shell分类,用户身份提权

1.跟组相关的两个配置文件是?
/etc/group
/etc/gshadow
2.创建一个用户基本组,shanghai01.
groupadd  shanghai01 
3.创建一个用户基本组,shanghai02,指定GID为1099.
groupadd  -g 1099 shanghai02
4.创建一个用户系统组,shanghai03.
groupadd -r shanghai03 
5.修改用户基本组shanghai02的GID号为1033.
groupmod  -g 1033  shanghai02
6.将基本组shanghai01组名修改为linux
groupmod -n linux shanghai01 
7.创建一个用户linux01,指定该用户的附加组为shanghai02
useradd  -G shanghai02 linux01
8.创建用户linux02.指定用户基本组为shanghai03
useradd  -g shanghai03 linux02
9.创建用户linux03,指定该用户的附加组为shanghai02,shanghai03。
useradd  -G shanghai02,shanghai03 linux03
10.查看用户linux02的uid和gid信息
id linux02
11.删除用户基本组shanghai02。
groupdel shanghai02
12.删除用户基本组shanghai03。发现无法正常删除,怎样才能将其删除掉,不能删除用户。
只有将基本组下的用户变更组才可以删除
13.打开多个xshell窗口连接登录同一虚拟机,使用不同的用户登录多次,分别使用w和who命令显示当前系统上的所有已经登录的用户,取出用户名这一列,注意:同一个用户登录多次,则只显示一次即可。
who|awk '{print$1}'|sort|uniq -c
w|awk 'NR>2 {print$1}'|sort|uniq -c
14.创建用户olddir,其ID号为1005,基本组为old
groupadd old
useradd olddir -u 1005 -g old
15.显示当前登录的用户的UID号,你有几种方法实现?
id username
grep '^username' /etc/passwd
16.对于用户来说,组有几种类别?有什么区别?
基本组不可以被删除,只有一个基本组
附加组可以有多个附加组,可以删除
17./etc/group文件以:为分隔符,分为四列,解释其每列的含义?
1.组的名称
2.组的密码(存在/etc/gshadow)
3.组GID信息
4.仅显示附加成员,基本成员不显示
18./etc/gshadow文件以:为分隔符,分为四列,解释其每列的含义?
1.组名称
2.组密码
3.组管理员
4.仅显示附加成员,基本成员不显示
19.如果想从root用户切换到普通用户,使用什么命令?
su - username
20.切换到普通用户后,想返回到root用户,怎么做?几种方法有什么区别?
su -      要输入密码
logout   不用输入密码
ctrl +d   不用输入密码
exit      不用输入密码
21.Shell主要分为哪几类?
交互式shell    //等待用户输入执行的命令(终端操作,需要不断提示)
非交互式shell   //执行shell脚本, 脚本执行结束后shell自动退出

登陆shell     //需要输入用户名和密码才能进入shell su - zls
非登陆shell    //不需要输入用户和密码就能进入,比如执行sh, bash, su username
22.Bash Shell的个人及全局配置文件有哪些?哪个优先级别高?
个人配置文件: ~/.bash_profile ~/.bashrc
全局配置文件:/etc/profile /etc/profile.d/*.sh /etc/bashrc
23.登录式Shell配置文件执行顺序?
//登录式shell配置文件执行顺序
/etc/profile->/etc/profile.d/*.sh->~/.bash_profile->~/.bashrc->/etc/bashrc
24.非登录式shell配置文件执行顺序?
//非登陆式shell配置文件执行顺序
~/.bashrc->/etc/bashrc->/etc/profile.d/*.sh
==25.在root用户下,以普通用户身份执行"pwd"命令==。
su - linux01 -c "pwd"
26.什么是sudo?
普通用户提权命令。
sudo执行一个仅有root身份才能执行的命令是可以办到的,但是需要输入密码,这个密码并不是root的密码而是用户自己的密码。
27.可以根据哪个文件对sudo提权?
visudo /etc/sudoers
==28==.登录到普通用户,查看/etc/shadow文件的内容,发现查看不了,怎么办?
先visudo进去编辑给普通用户cat权限

sudo cat /etc/shadow
29.登录到普通用户,删除/opt目录,若无法删除,该怎么解决?
先visudo 进去编辑给用户rm权限
sudo rm - fr /pot
30.登录到普通用户,使用sudo命令时,不想输出密码,怎么解决?
visudo     修改成NOPASSWD
31.怎样查看普通用户的sudo权限?
sudo -l
32.配置好了sudo授权,怎么检查语法是否正确?
visudo -c
/etc/sudoers: parsed OK
33.禁止root用户远程登录,怎么实现?
vim /etc/ssh/ssh_config  PermitRootLogin no
34.修改远程连接端口号为2222,然后进行登录?
vim /etc/ssh/ssh_config    Port 改为222
35.把对sshd的设置修改成默认。
vim /etc/ssh/ssh_config  
把PermitRootLogin yes Port 改为 22

临时关闭防火墙:
36.使用sed命令打印出/etc/passwd文件的第一行到第三行
sed -n '1,3p' /etc/passwd
37.用一条命令创建/oldboy/test/shl05目录
mkdir -p /oldboy/test/shl05
38.说出下面几个特殊符号的含义 * > >> # .. . ^ $ `` !
*  代表所有
>  标准输出重定项
>> 标准输出追加重定向
#    注释 ,超级用户标识符
.. 当前目录的上层目录
. 当前目录  ,任意一个字符
^ 以什么开头
$ 以什么结尾,变量,普通用户标示符
`` 反引号,先执行引号里面的命令,把结果交给外面
!非,取反
39.把/oldboy/oldboy.txt文件中的oldboy替换为oldgirl,
sed  -i ‘s#oldboy#oldgirl#g’   /oldboy/oldboy.txt
40.如何查看/etc/services文件的有多少行?
cat -n /etc/services|tail -1
wc -l /etc/services
awk '{print $0,NR}'  /etc/services |tail -1
41.过滤出/etc/services 文件包含3306或1521两数字所在的行的内容。一条命令实现。
egrep '3306|1521' /etc/services 
awk '/3306|1521/'  /etc/services
sed -nr '/3306|1521/p' /etc/services
42.test.txt内容如下:

zengdao
qiudao
oldboy
请给出输出test.txt 文件内容时,不包含oldboy字符串的命令,有几种方法。

grep -v 'oldboy' test.txt
awk '!/oldboy/'  test.txt
sed '/oldboy/d' test.txt
head -2 test.txt
awk 'NR==1,NR==2'  test.txt
awk 'NR>=1&& NR<=2' test.txt
sed -n '1,2p' test.txt
43.入职新公司

,老大让你在服务器上限制rm 命令,当用户输入rm 命令时候提示”rm commandis not allowed to use.” 请问实现的步骤是?

alias rm='echo "rm commandis not allowed to use"'
44. 在linux 系统中,当LAN(局域网)内没有条件记案例DNS 服务器,但又想让局域网内的用户可以使用计算机名互相访问时,应配置( )文件(请写全路径)
etc/hosts
45.写出redhat 中,配置网卡及dns 的配置文件是什么?有什么区别?
etc/sysconfig/network-scripts/ifconfig-ens33   网卡及DNS
/etc/resolv.conf
 
书写方式不一样,
生效方式不一样,网卡配置文件需要重启网络服务才能生效
46.若要将鼠标从VM中释放出来,可按()键完成
ctrl +alt
47.如果用户想对一个命令详细的了解,可用()命令?
命令 --help
man
info
help
48.vim中把所有oldboy替换为oldgirl,给出命令?
:%s#oldboy#oldgirl#g
49.如何统计/etc下有多少个目录,不包括隐藏目录,只显示目录个数。
tree -d /etc |tail -1
50.统计secure.log文件中每个ip地址破解你用户密码的次数.文件群里有。
awk '/Failed passwd/{print $(NF-3)}'  secure.log|sort|uniq -c|sort -rn |head

转载于:https://www.cnblogs.com/gongjingyun123--/p/11108355.html

你可能感兴趣的:(拓展练习:(用户的基本管理及用户提权部分))