Linux运维入门~5.用户管理

无论是在企业中还是日常生活中,登录一台设备肯定不只一个人,所以,这个时候就要用到今天介绍的多用户管理。

1.用户分类

在linux下用户是根据角色定义的,具体分为三种角色:

超级用户:拥有对系统的最高管理权限,默认是root用户。

普通用户:只能对自己目录下的文件进行访问和修改,具有登录系统的权限。

虚拟用户:不能登录系统,它们的存在主要是方便系统管理,满足相应的系统进程对文件属主的要求。

2.用户和组的概念

我们知道,Linux是一个多用户多任务的分时操作系统,如果要使用系统资源,就必须向系统管理员申请一个账户,然后通过这个账户进入系统。这个账户和用户是一个概念,通过建立不同属性的用户,一方面,可以合理的利用和控制系统资源,另一方面也可以帮助用户组 织文件,提供对用户文件的安全性保护。
每个用户都用一个唯一的用户名和用户口令,在登录系统时,只有正确输入了用户名和密码,才能进入系统和自己的主目录。
用户组是具有相同特征用户的逻辑集合,有时我们需要让多个用户具有相同的权限,比如查看、修改某一个文件的权限,一种方法是分别对多个用户进行文件访问授 权,如果有10个用户的话,就需要授权10次,显然这种方法不太合理;另一种方法是建立一个组,让这个组具有查看、修改此文件的权限,然后将所有需要访问 此文件的用户放入这个组中,那么所有用户就具有了和组一样的权限。这就是用户组,将用户分组是Linux 系统中对用户进行管理及控制访问权限的一种手段,通过定义用户组,在很大程度上简化了管理工作。

引自:
   https://blog.csdn.net/yasi_xi/article/details/8152938   Linux 用户与组的概念

3.用户的查看

1)查看当前用户

命令:whoami

2) 查看用户信息

命令:

id    用户名                    查看指定用户id信息

id     -u      用户名          查看用户的uid

id     -g      用户名          查看用户的gid

id     -G     用户名          查看用户所在的所有组的id

id      -n     用户名          显示名字而不显示id数字

例:查看student用户信息

4.用户切换

su - 用户名

注意:su - 中 “-” 标示在用户身份切换时同时切换当前用户的环境

            su - 执行时高级用户切换到低级用户不需要密码,低级用户切换到高级需要,平级用户切换切换也需要

            每次su切换到其他用户操作之后必须退出,然后再次切换到其他用户

例:

root用户切换student

student用户切换root用户

5.用户在系统中的存储方式

/etc/passwd  为用户信息文件
    用户名称:密码:uid:gid:说明:家目录:默认shell
 例:


/etc/group  为用户组信息文件
    组的名字:组密码:组id:组成员

例:


/etc/shadow 为认证信息文件

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

/home/username    用户的家目录

6.用户管理

1)用户删除

userdel       用户名           删除用户但不删除用户的配置文件

userdel  -r  用户名           删除用户并删除用户的配置文件

2)用户信息监控指令

watch -n 1 'tail -n 3 /etc/passwd /etc/group;ls -l /home'

每一秒刷新一次,再打开一个shell

3)用户建立

命令:

useradd  要创建的用户名

useradd -u 8888 jack                            指定用户jack的uid为8888
useradd -g 21    jack                             指定用户初始组id,"21用户组必须是存在的"
useradd -G 21    jack                            指定用户的附加组id “21用户组必须存在”
useradd -c "hello" jack                          指定用户的说明为hello
useradd -d /home/666 jack                  指定用户的家目录
useradd -s /bin/sh jack                          指定用户的默认shell

注意:上述命令只能在用户创立时使用,若用户已存在会报错

4)建立用户组

groupadd   666              建立用户组666

groupadd -g 888 666   建立用户组并指定用户组的gid

groupdel 666                 删除用户组666

5)更改用户信息

usermod
usermod -l 新名称    jack               更改用户的名称
usermod -u 6666      jack               更改用户uid为6666
usermod -g 21          jack               更改用户的初始组
usermod -G 21         jack                更改用户的附加组
usermod -aG 72       jack               添加用户的附加组
usermod -G ""           jack               删除用户所有附加组的身份
usermod -c "hahahah"    jack         更改用户说明文字
usermod -d /home/lee     jack        更改用户家目录的指向
usermod -md /home/lee    jack      更改用户家目录
usermod -s /bin/sh    jack                更改用户的shell
usermod -L         jack                       冻结用户
usermod -U        jack                       解锁用户

7.用户认证

/etc/shadow        文件记录用户认证信息

此文件含有

用户名称:用户密码:用户密码最后一次被更改的时间:用户密码最短有效期:用户密码最长有效期:

密码警告期限:用户非活跃天数:用户到期日:用户自定义列

可使用命令:passwd  -S  jack          查看jack用户的密码信息

*修改用户密码
    passwd         用户名             更改用户密码
    passwd  -l     用户名             在用户密码前加入“!!”
    passwd  -u     用户名    
    usermod -L    用户名            在用户密码前加入“!”
    usermod -U     用户名           在密码不为空时使用
    passwd  -d     用户名            清空用户密码

注意:普通用户改密码时
    1.必须知道当前永久原始密码
    2.密码不能和帐号名称相似
    3.密码不能是纯数字或纯字母
    4.密码不能是有序的字母和数字的组合

拓展:

1)用户密码最后一次被更改的时间
    passwd -e westos    会改变用户最后一次更改密码时间为0.
                                       即,用户在登陆时会被强制更改密码
    chage -d 0 westos   两个命令功能类似
 
 2)用户密码最短有效期
    passwd -n 1 westos   westos用户在1天之内不能修改密码
    chage -m 1 westos        
 
3)用户密码最长有效期
    passwd -x 30    westos    设定westos在30天内必须改密码
    chage -M 40    westos
    密码警告期限
    passwd -w 2    westos     密码过期前两天有警告输出
    chage -W 2    westos
    用户非活跃天数
    passwd -i 1    westos       密码过期后仍可登陆系统的天数
    chage -I 1    westos
     用户到期日
    chage -E  2018-11-11 westos    westos用户在2018-11-11日会被冻结
 

写在最后,如果大家喜欢linux运维方面的知识,欢迎关注本博主,会每周更新与linux运维相关的一些小知识,帮助大家入门

愿你与我一同成长!

往期:

ttps://blog.csdn.net/Stella_Pooter/article/details/82951345        Linux运维入门~1.虚拟机使用

https://blog.csdn.net/Stella_Pooter/article/details/82952307      Linux运维入门~2.命令行使用技巧

https://blog.csdn.net/Stella_Pooter/article/details/82960344      Linux运维入门~3.文件管理

https://blog.csdn.net/Stella_Pooter/article/details/82971516      Linux运维入门~4.输入输出管理与vim管理

Never say die

猜你喜欢

转载自blog.csdn.net/Stella_Pooter/article/details/82983752