用户及组管理

用户的主要作用:
资源分派:
Authentication: 认证。 用户名,密码
Authorization:授权。 读写执行
Accouting: 审计(Audition)
常说的AAA认证,用于确保资源的合理使用。

组: 用于将多个用户和某类权限建立关联关系。

Linux用户:UserName/UID
主要有两类:
管理员: root id:0 # 几乎拥有所有权限
普通用户:root以外的用户 id:1-65535
普通用户中又有系统用户和登录用户之分。系统用户id:1-499。登录用户id:500+
系统用户主要是系统类守护进程获取资源进行权限分配。
登录用户主要用于交互式登录。
Linux组: GroupName/GID
管理员组: root,0
普通组:
系统组:1-499 CentOS7: 系统组ID1-999
登录组:500+ 1000+

Linux安全上下文:
我们对计算机的操作都是通过程序实现的。
运行中的程序:进程(process),以发起者的身份运行。 一个进程能访问哪些资源取决于进程的发起者。这就是进程的安全上下文。


Linux组的类别:
用户的基本组(主组):用户每次执行命令都必须带一个默认的组权限。组名同用户名且仅包含一个用户,这个组就叫用户的私有组,如果创建用户的时候没有指定组名则会自动创建一个私有组。
用户的附加组(额外组):

用户和组相关的配置文件:
/etc/passwd:保存用户及用户属性信息(名称,UID,基本组ID等); 用户名:密码占位符:UID:GUID,GECOS:家目录,默认shell 。 GECOS:家庭,电话,地址等详细信息,逗号分隔。

/etc/shadow: 用户密码及其相关属性(用户密码的有效期等)
登录名:加密密码:最近一次更改密码日期:密码最小有效期:密码最长有效期:密码警告时间段:密码禁用期:账号的过期日期:保留字段
加密机制:单项加密,不可逆。
文件指纹计算工具: md5sum,sha1sum,sha224sum,sha256sum,sha384sum,sha512sum
md5: message digest, 128bits固定输出 5是版本号
sha1: secure hash algorithm 安全的hash算法。 160bits固定输出 1是版本号
sha224:224bits固定输出
sha256:256bits固定输出
单项加密特性:
雪崩效应: 初始条件的微笑改变,将会引起结果的巨大改变。
定长输出: 输出结果一定是一样的。
密码盐值: 每次加密前在密码中加入的杂值。
密码复杂性策略:
1,使用数字、大写字母、小写字母以及特殊字符中至少3种。
2,密码长度要足够长。
3,不要使用易猜测密码,建议使用随机密码(随机数生成器)
4,定期更换密码,不要使用近期曾使用过的密码。

/etc/group: 组及其属性信息。 GroupName:密码占位符:GID:已当前组为附加组的用户列表(用逗号分隔)
/etc/gshadow:组密码及其相关属性。(在用户完成基本组切换时使用)

用户和组相关的管理命令:
用户创建: useradd
usage:useradd [options] LOGIN
-u,--uid : 指定UID [UID_MIN,UID_MAX] /etc/login.defs
-g : GID 基本组ID
-G : 附加组 逗号分隔。
-c : comment 用户详情,描述信息,全名 等。 用引号引起来
-d : home目录
-s : 默认shell
-r : 创建系统用户(id小于500)
默认值设定: /etc/default/useradd文件中
组创建: groupadd
usage: groupadd [options] groupname
-g GID : 指定GID [GID_MIN,GID_MAX]
-r : 创建系统组
查看用户相关ID信息: id
usage: id [options] user
-u : UID
-g : GID
-G : Groups
-n : Name
用户切换: su (switch user)
以其他用户身份执行命令
usage: su [options] [-] user
切换方式:
su user: 非登录式切换,不会读取目标用户的配置文件。
su - user:登录式切换,会读取用户的配置文件。也叫完整切换。
root 切换到其他用户无需密码,非root用户切换需要密码
切换身份执行命令:
su [-] userName -c 'command'
-l : su - l userName 相当于 su - userName 表示登录式切换
-s : 指定切换用户后使用的shell
用户属性修改:usermod
usage: usermod [options] userName
-u UID : 新的UID
-g GID : 新的GID
-G Group : 新的附加组, 原来的附加组将会被覆盖,如果需要保留原来的组则要同时使用-a选项,表示append。
-s : 新的shell
-c : 新的注释信息
-d : 指定新的home目录;原有home目录的文件不会移动至新目录。如果要移动则同时使用-m选项。
-l : 新的名字
-L : 锁定当前用户
-U : 解锁当前用户
设置用户密码:passwd
passwd userName : 修改指定用户的密码,仅root用户有此权限
passwd : 修改当前用户密码 。 如果当前用户是没有密码的,无法使用passwd设置密码, 需要root先为用户设置一个密码。
普通用户设置密码需要符合密码复杂度规则
-l : 锁定指定用户
-u : 解锁指定用户
-n : 最短使用期限
-m : 最大使用期限
-w : 提前多少天警告
-i : 非活动期限(密码过期后的宽限期)
-e : 立即过期
-d : 删除密码
--stdin : 从标准输入接收用户密码 echo "passwdstr" |passwd --stdin userName
删除用户: userdel
-r :删除home目录

组属性修改:groupmod
-n : group name
-g : GID
删除组: groupdel
组密码修改: gpasswd
-a user : 将user添加至指定组
-d user :将user从组中删除
-A : 设置有管理权限的用户列表
临时切换基本组:newgrp
newgrp newGroupName
如果用户不属于新的组,则要输入新组密码,如果用户本身属于这个组,就不需要输入密码。
检查密码文件完整性: pwck

修改用户属性: chage (更改账户密码过期信息)

修改注释信息: chfn
查看注释信息: finger
修改shell信息: chsh









猜你喜欢

转载自www.cnblogs.com/heyong45/p/11886385.html