Linux基础_用户管理

  众所周知Linux是一个多用户的操作系统,那为什么需要有用户的存在呢?这是一个值的思考的问题。从生活角度就可以很轻松的理解为什么需要用户,Linux中的每一个用户就可以看作每一个人,每个用户所拥有的资源就可以看作每个人所拥有的钱,每个人就只能花自己的不能花别的钱。所以对于操作系统也一样,每个用户都拥有自己的运行环境,分配自己所拥有的资源,不能在别的用户环境中运行。所以,对于Linux操作系统来说,用户存在的意义就是安全。而组存在的意义就是对权力的共享。

    如何对操作系统中的用户进行管理呢?请认真阅读本篇文章。

1.用户的查看

  就像人一样,每个人都拥有一个唯一的只属于自己的身份证号,用户也一样,每个用户都拥有唯一的id号码,只要用户id存在,则证明该用户存在。

[root@localhost ~]# whoami    #查看当前用户
[root@localhost ~]# id -u root    #查看root用户的uid
[root@localhost ~]# id -g root    #查看root用户初始组id
[root@localhost ~]# id -gn root    #查看用户的组不显示id显示名字
[root@localhost ~]# id student    #查看student用户的信息
[root@localhost ~]# id -G student    #查看student用户所有组
[root@localhost ~]# id -Gn student    #查看student用户的组显示名字,不显示id

如下图:

2.用户切换

  Linux操作系统中,用户之间可以进行切换。一个用户包含两方面内容,身份和环境,所以在切换用户的时候不仅需要将身份切换,还要将运行环境进行切换,下图中,pwd可以显示现在所处路径,侧面可以反映对环境的切换。

如下图,是对用户身份和环境都进行了切换,所以切换前后所处路径是不同的:

如果不加“-”,则只是对身份进行了切换,环境没有切换,如下图:

3.用户的创建

一个用户所涉及的文件:

/etc/passwd   #用户密码信息

/etc/group   #用户组信息

/etc/shadow   #用户认证信息

/etc/skel/.*   #默认开启shell的配置,用户的骨文件

/home/username  #用户家目录

[root@localhost ~]# vim /etc/passwd
root:x:0:0:root:/root:/bin/bash
#用户信息文件 用户:密码:uid:gid:描述:家目录:默认shell


[root@localhost ~]# vim /etc/group
root:x:0:
#用户文件信息 组名:组密码:组id:组成员


[root@localhost ~]# vim /etc/shadow
postfix:!!:16197::::::

/home/username    #用户家目录文件

我们可以使用以下命监控用户信息:

[root@localhost ~]# watch -n 1 'tail -n 3 /etc/passwd /etc/group;echo ===============;ls -l /home/'

#创建组

[root@localhost ~]# groupadd -g 8888 test
[root@localhost ~]# groupadd -g 6666 westos

#创建用户,在建立用户的时候确保初始组存在
 [root@localhost ~]# useradd -u 1111 #uid
-g 6666        #初始组id
-G 8888     #附加组
-c "hello westos"  #用户说明
-d /home/westos     #用户家目录
-s /bin/sh westos      #指定默认shell

下图就是使用上一个命令创建的uid=1111,gid=6666,附加组为8888,用户说明为“hello”的westos用户。

  那如何删除用户,使用userdel命令,如下图,在删除用户时需要加上-r,如果不加-r用户不删除配置文件,在重新创建用户时是会出现错误。删除用户,删除组的命令如下:

[root@localhost ~]# userdel -r  westos

[root@localhost ~]# groupdel test

新建的用户uid总是从1000开始,这是因为在/etc/login.defs文件中进行了定义,定义部分如下:

UID_MIN                  1000
UID_MAX                 60000

4.更改用户信息

#更改组id
[root@localhost ~]# groupadd test
[root@localhost ~]# groupmod -g 2222 test

#更改用户信息
[root@localhost ~]# useradd westos
[root@localhost ~]# usermod -l redhat westos    #更改用户名
[root@localhost ~]# usermod -l westos redhat    
[root@localhost ~]# usermod -g 2222 westos    #更改用户gid
[root@localhost ~]# usermod -G 1001 westos    #更改用户附加组
[root@localhost ~]# usermod -u 8888 westos    #更改用户uid
[root@localhost ~]# usermod -c "hahaha" westos    #更改用户说明

[root@localhost ~]# usermod -c "" westos    #清除用户说明信息
[root@localhost ~]# usermod -G "" westos    #清除用户附加组
[root@localhost ~]# usermod -aG 21 westos    #添加用户附加组

[root@localhost ~]# usermod -d /hom/lee westos    #更改用户家目录指向,与原来的/home/westos就没有了关系,不会产生lee目录
[root@localhost ~]# usermod -d /home/westos westos    #将westos家目录改为westos

[root@localhost ~]# usermod -s /sbin/nologin westos     #更改shell,这个shell不允许登陆

[root@localhost ~]# usermod -L student    #冻结用户密码,冻结后,在输入密码登陆时禁止

[root@localhost ~]# usermod -U westos    #解锁

5.用户信息认证

westos:!!:17805:0:99999:7:::(9段)
用户名:用户密码:用户密码最后一次被更改的时间:用户密码最短有效期(在这些天内,密码不能被修改):密码最长有效期(用户在这些天内必须被修改):警告期:用户非活跃天数:用户到期日:用户自定义

[root@localhost etc]# passwd -S westos    #查看用户密码信息

可以使用下述命令对用户密码信息进行监控:

[root@localhost home]# watch -n 1 'tail -n 3 /etc/shadow;passwd -S westos'

上图中处红框标注处显示的是NP,表示没有密码,这是因为在创建westos用户的时候没有设置密码,在密码设置之后,就会变为下图:

#添加用户密码,root用户在更改普通用户密码时没有限制,普通用户在更改密码时有强度限制
[root@localhost ~]# passwd westos
Changing password for user westos.
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.

密码锁定后在密码前面会出现“!”的标志,“!”的数量表示密码锁定的强度,如下图:

[root@localhost ~]# usermod -L westos   #密码锁定

再锁定一次后就会如下图:

[root@localhost ~]# passwd -l westos    #密码所定,强度为!!,需要用usermod -U westos解锁两次。
[root@localhost ~]# passwd -u westos    #解锁!!

[root@localhost ~]# passwd -e westos    #用户密码最后一次被更改的时间,设置为0的时候在需要密码登陆时会被强制修改密码。
[root@localhost ~]# chage -d 0 westos

[root@localhost ~]# passwd -n 1 westos    #设置密码最短有效期
[root@localhost ~]# chage -m 1 westos

[root@localhost ~]# passwd -i 7 westos    #设置用户非活跃天数
[root@localhost ~]# chage -I 2 westos

[root@localhost ~]# chage -E 2018-11-11 westos    #设置用户到期日

[root@localhost ~]# chage -E 2018-11-11 westos    #设置用户到期日

6.用户授权

1.权力下放文件为/etc/sudoers
  此文件可以用vim直接编写,但是不提供于法检测
 也可以使用visudo编辑此文件,visudo命令提供于法检测,如果文件修改语法出现问题,在退出后会出现如下情况,“e”建继续编辑。

给文件添加如下内容之后,tom用户在localhost主机上以root用户的身份免密执行useradd和userdel命令:

在使用时,需要用sudo进行调用:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值