linux中的用户管理

linux中的用户管理

用户管理-实质上对文件管理

1.用户及用户组

用户:是操作者在系统中的身份标识,是系统最底层的安全机制的一部分,用户在系统中以字符和文件的形式存在。
组:是逻辑概念,是用户的集合;主组=初始组,不可变 ,附加组-更多的权力。
用户的存在为了限制权限,系统上的每一个进程(运行程序)都需要特定的用户运行,每一个文件都有特定的用户拥有,访问文件或目录受用户限制。
组的存在为了归类用户便于管理权限。

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

用户在系统中就是文件中的字符串,每个字符串映射了该用户所用到的系统资源。

3.深入分析用户涉及到的配置文件及内容

配置文件内容
/etc/passwd用户信息库 - 用户名称:密码:uid:gid:说明:家目录:默认shell(默认shell的指定有那些可以查看系统中/etc/shells文件)
/etc/shadow用户认证信息
/etc/group组信息库 - 组的名字:组密码:组id:组成员
/etc/gshadow组认证信息
/home/用户同名目录默认用户家目录
/etc/skel/*用户环境配置文件模板 -用户的骨文件(骨文件:用户系统使用时的环境信息);建立用户时需要文件的全部内容

4.用户信息的查看

命令功能
id查看显示目前登陆账户的uid和gid及所属分组及用户名

id命令的常用参数:

参数意义
-u查看用户的uid
-g查看用户的gid
-G查看用户所在的所有组的id
-n显示名字而不显示id数字
-r显示实际ID
-help显示帮助
-version显示版本信息

在这里插入图片描述

5.用户身份的切换及实验环境

命令功能
whoami查看当前用户
logout退出当前用户
exit退出当前用户,快捷键ctrl+d
gnome-session-quit --force注销当前用户

用户切换:

su 和 su -功能
su只切换用户身份,不切换用户环境
su -切换用户身份及用户环境

注意:
每次su切换到其他用户操作之后必须退出,然后再次切换到其他用户;
执行时高级用户切换到低级用户不需要密码,而低级用户切换到高级需要密码,平级用户切换切换也需要密码。
在这里插入图片描述

实验环境:

实时监控用户信息: watch -n 1 “tail -n 3 /etc/passwd /etc/group;ls -l /home/”(每秒更新引号中内容的后三条信息)
在这里插入图片描述
在这里插入图片描述

6.用户及用户组的建立及删除

用户的分类:

linux中用户分三类
超级用户rootUID=0,UID为0的用户就是超级用户
伪用户(如system user)UID=1~499
普通用户login user idUID=500~60000(1000-2*16=65530,max=60000)可以使用useradd添加的用户

(伪用户分为两种:
①与系统相关:比如有些伪用户是与系统的某些操作相关(比如关机,重启等等,会调用伪用户的身份)。在linux里面,任何一个进程操作都要有一个用户身份,这就需要调用伪用户。
②与程序服务相关:比如apache,启动之后也要对应一个伪用户。
伪用户的最大作用会是在系统操作或应用服务的时候调用的一个用户身份而已,在一定程度上起到一定的安全作用。
伪用户的特点:不能登陆系统、没有宿主目录。)

添加和删除用户及用户组:

命令功能
useradd添加用户(建立用户时,读取/etc/login.defs 文件内容确定规则)
userdel删除用户
groupadd创建一个新的工作组(新工作组的信息将被添加到系统文件中)
groupdel删除工作组

useradd的相关参数:

参数功能
-u指定用户的uid(注意手工添加的用户的 UID 不要小于 500)
-g指定用户的gid(一般初始组名和用户名相同,在创建用户时会默认建立初始组,如果不想使用默认初始组,则可用-g指定)
-G指定用户的附加组(我们把用户加入其他组,一般都使用附加组)
-c指定用户的说明( /etc/passwd 文件的第五个字段,-c就是指定该字段内容的)
-d指定用户的家目录 , 默认为 /home/username(家目录必须写绝对路径,而且如果需要手工指定家目录,则一定要注意权限)
-s指定用户的默认shell(默认是 /bin/bash)
-e 曰期指定用户的失效曰期,格式为"YYYY-MM-DD"(即/etc/shadow文件的第八个字段)
-o允许创建的用户的 UID 相同(如,执行"useradd -u -o 0 usertest"命令建立用户 usertest,它的 UID 和 root 用户的 UID 相同,都是 0)
-m建立用户时强制建立用户的家目录(在建立系统用户时,该选项是默认的)

(创建用户时,系统会按照默认值帮我们指定这些选项。)

groupadd的常用参数:

参数功能
-f如果组已经存在则成功退出
-g指定组id
-h显示此帮助信息
-K不使用 /etc/login.defs 中的默认值
-o允许创建有重复 GID 的组
-p为新组使用此加密过的密码
-r创建一个系统账户(组id号低于499)
-R–root chroot dir,chroot 到的目录

在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

7.用户及用户组的信息管理

修改用户组的相关信息:

命令groupmod

命令的参数:

参数功能
-g修改组ID
-n修改组名

在这里插入图片描述

修改用户的相关信息:

命令usermod

命令的参数:

参数功能
-l修改用户名称
-u修改用户的 uid
-g修改用户的 gid
-G更换新的附加组
-aG追加用户的附加组
-c修改用户的说明
-md修改用户的家目录 , 默认为 /home/username
-s修改用户的 shell 类型
-L锁定用户帐号
-U解锁用户帐号
-l新的登录名称
-p–password PASSWORD,将加密过的密码PASSWORD设为新密码
-o–non-unique,允许使用重复的(非唯一的) UID
-c–comment 注释,GECOS 字段的新值
-e–expiredate EXPIRE_DATE,设定帐户过期的日期为 EXPIRE_DATE
-f–inactive INACTIVE,过期 INACTIVE 天数后,设定密码为失效状态,并不从其它组中删除此用户
-R–root CHROOT_DIR,chroot 到的目录
-Z–selinux-user SEUSER,用户账户的新 SELinux 用户映射
-h显示此帮助信息并推出

在这里插入图片描述

8.用户认证文件的内容分析

/etc/shadow 用户认证信息文件
在这里插入图片描述
1:2:3:4:5:6:7:8:9
1.用户名称
2.用户密码(用户的加密字符串,如果出现!则用户被冻结)
3.密码已经使用时间,即密码最后一次被更改的时间(此时间计算是从1970-01-01开始计算的累计天数)
4.密码最短有效期
5.密码最长有效期(用户必须在此有效期内修改密码,否则会被冻结)
6.密码到期前警告(在过期前指定天数内会发送警告信息给用户)
7.密码非活跃天数(默认为空,如果设定,表示密码最长有效期限过后还能使用的天数)
8.密码到期日,表示账户一定会被冻结的时间点
9.用户自定义列,目前尚未启用

9.用户认证管理

passwd命令:

passwd作为普通用户和超级权限用户都可以运行,但作为普通用户只能更改自己的用户密码,前提是没有被root用户锁定;
如果root用户运行passwd ,可以设置或修改任何用户的密码;
passwd命令后面不接任何参数或用户名,则表示修改当前用户的密码。

passwd命令的常用参数:

参数功能
-l锁定用户(被锁定的用户无权更改其密码,仅能通过root权限操作)
-u解除锁定
-d删除用户密码,仅能以root权限操作
-S查询用户的密码状态(即/etc/shadow 文件中的内容),仅能root用户操作
-n两次密码修改的最小天数,后面接数字,仅能root权限操作
-x两次密码修正的最大天数,后面接数字,仅能root权限操作
-w在距多少天提醒用户修改密码,仅能root权限操作
-i修改密码非活跃天数(在密码过期后多少天,用户被禁掉),仅能以root操作
–stdin可以将通过管道符输出的数据作为用户的密码。主要在批量添加用户时使用
-f强制操作,仅root权限才能操作
-k保留即将过期的用户在期满后能仍能使用

在这里插入图片描述

chage命令:

chage语法格式:
chage [-l列出用户信息] [-m 最小天数] [-M 最大天数] [-W 警告] [-I 失效日] [-E 过期日] [-d 最后日] 用户

chage命令的常用参数:

参数功能
-l列出指定用户当前的密码相关信息
-d指定从1970年1月1日起,密码被改变的天数
-E指定帐号被锁的日期(日期格式YYYY-MM-DD,若不用日期,也可以使用自1970年1月1日后经过的天数)
-i指定密码过期多少天后用户被封(如果值为0,帐号在密码过期后就不会被锁)
-m密码可更改的最小天数(为零时代表任何时候都可以更改密码)
-M指定密码有效的最多天数(当该选项指定的天数加上-d选项指定的天数小于当前的日期时,用户在使用该帐号前就必须改变密码)
-W指定密码过期前要警告用户的天数

类似命令对照:

功能命令
修改用户密码最短有效期–westos用户在一天内不能改变密码passwd -n 1 westos或chage -m 1 westos
修改用户密码最长有效期–设定westos在30天内必须修改密码passwd -x 30 westos或chage -M 40 westos
修改密码警告期限–密码过期前两天有警告输出passwd -w 2 westos或chage -W 2 westos
修改用户非活跃天数–密码过期后仍可登陆的天数passwd -i 1 westos或chage -I 1 westos
修改用户到期日-westos用户在2018-11-11会被冻结chage -E 2018-11-11 westos

10.用户授权

sudo:能把某些超级权限针对性的下放 , 并且不需要普通用户知道 root 密码 , 所以 sudo 相对于权限无限制性的 su 来说 , 还是比较安全的。
sudo 执行命令的流程是当前用户切换到 root,然后以 root 身份执行命令 , 执行完成后 , 直接退回到当前用户 ; 而这些的前提是要通过sudo 的配置文件 /etc/sudoers 来进行授权

配置文件语法及测试方式:

hostname 查询主机名
下放方式–visudo,在100行左右添加命令,格式如下:

用户 主机名称 =(得到的用户身份) 命令

让tom用户可以在localhost主机以root用户身份执行useradd命令:

tom  localhost=(root)   /usr/sbin/useradd

让tom用户可以在localhost主机以root用户身份 免密执行userdel命令:

tom  localhost=(root) NOPASSWD: /usr/sbin/userdel

同时获取这两项权限:

tom localhost(root) NOPASSWD:  /usr/sbin/userdel,/usr/sbin/useradd

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值