linux的用户管理

AlgoNebulaEcho
• 阅读 2225

1.用户管理基础

用户存在的意义:限定权力
用户组存在得意义:开放权力

1.查看当前用户

whoami #查看当前用户

2.系统中用户的查看

id:用户身份的唯一表示

id

-u    ##查看用户uid
-g    #查看用户的初始组gid
-G    #查看用户所在的所有组的id
-n    #查看名字而不显示id数字,需要与其他命令组合使用

示意图:

linux的用户管理
linux的用户管理

3.用户切换

su - 用户名 #-表示用户身份切换时同时切换环境变量:保证所使用的工具都能存在环境变量里,可用相对路径寻找
su - 执行时,高级用户切换到低级用户时,不需要密码;低级用户切换到高级用户需要;平级用户相互切换也需要密码

示意图:

linux的用户管理

注意:

每次su切换到其他用户操作之后,必须退出。然后再次切换到其他用户
ctrl+d=logout 退出当前用户身份
exit=poweroff 关闭身份退出    #错误使用语句su student,必须使用exit

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

1./etc/passwd

用户信息文件:七段

用户名称:密码(保留这一位,但不用):uid:gid(初始组):说明(用户登陆窗口显示):家目录:默认shell

示意图:

linux的用户管理

2./etc/group

用户组信息

组的名字:组密码:组id:组成员

示意图:

linux的用户管理

3./etc/shadows

认证信息文件

用户名称
用户密码
用户密码最后一次被更改的时间
密码最短有效期:时间内不能修改密码
密码最长有效期:时间内必须更改一次
密码警告期限
密码非活跃期限:帐号被冻结前
密码到期日:帐号存在,
用户自定义位置,目前没有启用
修改shadow时,不会修改/etc/passwd的内容
!!用户     #用户不能修改密码
! pass -l westos    #解锁westos
!! usermod -U westos

示意图:

linux的用户管理

  • /etc/skel/.*

用户的骨文件,默认开启shell的配置

  • /home/username

用户的家目录

3.用户信息管理

1.用户删除

userdel

userdel student    #删除用户student但不删除用户的配置文件    
userdel -r student    #删除用户student及其所有配置文件

2.用户建立

用户信息监控命令

watch -n 1 'tail -n 3 /etc/passwd /etc/group;ls -l /home' #以1秒重复后面的命令,home下面会有用户家目录(“;”表示多条命令可在一行,存在先后顺序)
-->打开另一个shell
-->useradd username
-->显示会变化

示意图:

linux的用户管理

注意:

超级用户id 0
普通用户id >&=1000

3.新建用户

建立用户时,读取/etc/login.defs 文件内容确定规则

useradd

建立一个用户时,也会创建一个组,组id和用户gid相同
使用以下语句时,需要先删除用户才能进行下一个参数修改
usersdd -u uID/8888 username       #指定用户的UID为8888
useradd -g gID/21 用户名            #指定用户初始组id ,‘21’用户组必须存在
useradd -G GID/21 用户名            #添加到附加组“21”(初始组也存在),“21”用户组必须存在&id 用户名    #查看用户ID
useradd -c "hello" 用户名           #添加说明“hello”
usedadd -d /home/lee 用户名        #修改家目录/home/lee
useradd -s /bin/sh 用户名           #指定用户的默认shell

注意:

初始组和附加组都需要存在

4.新建用户组

groupadd

groupadd -g 888 组名    #建立用户组并指定组的id(不能是已经存在的组id)
groupdel 组名           #删除用户组

5.修改用户信息

usermod

usermod -l     新名称        westos #更改用户名称为新名称 
usermod -u     6666          westos #更改用户uid
usermod -g     21            westos #更改用户初始组
usermod -G     1000          westos #更改进附加组组id=1000
usermod -aG     72           westos #添加附加组id=72
usermod -G     “”            westos #删除所有附加组
usermod -c     “family”      westos #指定用户说明文字
usermod -d     /home/sheen   westos #更改用户家目录的指向,不会更改家目录名字
usermod -md    /home/sheen   westos #更改用户家目录+指向
usermod -s     /bin/sh       westos #修改用户默认的shell
userond -L     westos                #锁定用户后,普通用户之间不能交互
usermod -U     westos                #解锁用户

示意图:

linux的用户管理
linux的用户管理

添加密码-->passwd westos-->log out

usermod -s /usr/sbin/nologin westos ##退出系统重新登陆时,系统拒绝被westos访问,不能登入

示意图:

linux的用户管理

4.用户认证管理

密码是认证信息的一部分
/etc/shadow #认证信息文件
此文件一共有九个参数(参数以冒号结束)

1.用户名称

2.用户密码

passwd westos #更改用户密码

passwd -l westos     #用户密码前加入“!!”
passwd -u westos
usermod -L westos    #用户密码前加入“!”
usermod -U westos
passwd -d westos     #清空用户密码

示意图:

linux的用户管理

注意:

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

普通用户不能相互修改密码
!! #用户不能修改密码

注意密码是否锁定,锁定时需要先解锁,才能修改密码

3.用户密码最后一次被更改的时间

最近一次密码被修改的时间

passwd -e westos    #会改变用户最后一次更改密码时间为0,强制修改密码后,才能进系统,只执行一次
chage -d 0 westos    #两个命令功能类似

4.密码最短有效期

这段时间内不能修改密码

    passwd -n 1 westos    #用户在一天之内不能修改密码
    chage -m 1 westos     #类似

5.密码最长有效期:

这段时间内密码必须更改一次

    passwd -x 30 westos    #设定用户30天内必须改密码
    chage -M 30 westos    #类似

6.密码警告期限

密码失效前的提醒天数

    passwd -w 2 westos    #密码过期前两天有警告输出
    chage -W 2 westos    #类似

7.密码非活跃期限

帐号被冻结的时间,最小为0

    passwd -i 1 westos     #密码过期后仍可登录系统的天数2天
    chage -I 1 westos    #类似

8.密码到期日

超过限定时间,用户会被冻结

    chage -E 2018-11-11 westos    #用户会在2018-11-11会被冻结

9.用户自定义位置,目前没有启用

示意图:

linux的用户管理
linux的用户管理
linux的用户管理

5.用户授权管理

/etc/sudoers #用户授权配置文件

1.授权配置命令

visudo #与vim不同,在修改文件内容时会有语法报错,

2.规范操作

在文件100行左右添加:
普通用户 主机名称=(转换成的新用户身份) 命令1, 命令2, ...
普通用户 主机名称=(转换成的新用户身份) NOPASSWD: 命令

示例:

westos  desktop0.example.com=(root) /usr/sbin/useradd, /user/sbin/userdel    #执行命令不需要密码
westos  desktop0.example.com=(root) NOPASS: /usr/sbin/useradd, /user/sbin/userdel    #免密执行
su - westos
sudo useradd hello #修改sudo文件需要加路径,调用命令时不用
hostname           #查看本机名称

示意图:

linux的用户管理
linux的用户管理

点赞
收藏
评论区
推荐文章
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
Stella981 Stella981
4年前
Spring Security使用详解11(获取当前用户的用户名、id)
有时我们需要获取当前登录的用户信息(比如用户名),通常有如下几种方式来实现。方法1:通过Authentication.getPrincipal()获取用户信息(1)通过Authentication.getPrincipal()可以获取到代表当前用户的信息,这个对象通常是UserDetails的实例。通过UserDeta
Stella981 Stella981
4年前
Linux系统查看所有用户命令
!(https://oscimg.oschina.net/oscnet/up85c5346347a299ddb8056892ef2d7256818.JPEG)使用过Linux系统的同学都知道,Windows系统跟Linux系统是有很大差别的,就拿本篇文章即将要说的查看系统用户来说,在Windows系统中查看用户直接鼠标右击电脑属性,然
Wesley13 Wesley13
4年前
oracle用户权限管理
oralce对权限管理比较严谨,普通用户之间也是默认不能互相访问的,需要互相授权1.查看当前数据库所有用户:select\fromall\_users;2.查看表所支持的权限:select\fromuser\_tab\_privs;3.把表的权限赋予用户:  grantselect,insert,updateon
Stella981 Stella981
4年前
Linux用户和用户组
参考:https://blog.csdn.net/love20165104027/article/details/82386271(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fblog.csdn.net%2Flove20165104027%2Farticle%2Fdetails%
Stella981 Stella981
4年前
Linux总结笔记2
1.用户身份与能力用户身份号码——即UID超级用户UID0:系统的超级用户。系统用户UID1999:系统中系统服务由不同用户运行,更加安全,默认被限制不能登录系统。普通用户UID1000~:即管理员创建的用于日常工作而不能管理系统的普通用户。注意UID一定是不能冲突的,管理员创建的普通用户UID从10
Stella981 Stella981
4年前
Linux查看是否被入侵
一.检查系统日志lastb命令检查系统错误登陆日志,统计IP重试次数二.检查系统用户1、cat/etc/passwd查看是否有异常的系统用户2、grep“0”/etc/passwd查看是否产生了新用户,UID和GID为0的用户3、lsl/etc/passwd查看passwd的修改时间,判断是否在不知的情况下添加用户4、查看
Stella981 Stella981
4年前
Linux查看用户信息
查看用户信息ww显示信息的含义  JCPU:以终端代号来区分,该终端所有相关的进程执行时,所消耗的CPU时间会显示在这里  PCPU:CPU执行程序耗费的时间  WHAT:用户正在执行的操作  loadaverage:分别显示系统在过去1、5、15分钟内的平均负载程度  FROM:显示用户从何处登陆系统,
Stella981 Stella981
4年前
Linux 创建用户 用户组 用户权限
首先你要有个root账号然后才能做下面几条操作:useraddusername  创建用户usernamepasswduser\_pwd    给已创建的用户username设置密码关于useradd的某些参数:\uUID:指定UID,这个UID必须是大于等于500,并没有其他用户占用的UID\gGID/GR
Wesley13 Wesley13
4年前
linux修改用户密码
直接修改密码 通过whoami可以查看当前登陆的用户。直接输入 passwd  回车,输入2次密码就是修改当前的用户名(提示all authentication tokens updated sucessfully 表示密码修改OK) passwd修改某个用户的密码(注意要管理员权限或者本账号)
胖大海 胖大海
3年前
Linux 用户管理
用户配置文件/etc/passwd用户的家目录普通用户:/home/用户名/,所有者和所属组都是此用户,权限是700。超级用户:/root/,所有者和所属组都是root用户,权限是550。用户管理命令useradd\修改用户密码passwd 用户名删除用户userdel 用户名    删除用户userdel r 用户名  连同家目录一起删
AlgoNebulaEcho
AlgoNebulaEcho
Lv1
如果可以,我们能一起共赴黄泉路。
文章
3
粉丝
0
获赞
0