[Linux之权限管理?户组管理]
时间:2021-06-20 18:23:11
收藏:0
阅读:0
[Linux之权限管理?户组管理]
权限管理用户组管理
RBAC 权限管理
RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联。简单地说,一个用户拥有若干角色,每一个角色拥有若干权限。这样,就构造成“用户-角色-权限”的授权模型。在这种模型中,用户与角色之间,角色与权限之间,一般者是多对多的关系。
RBAC权限模型的扩展模型的完整设计图
如何查看用户相关信息
id # 获取当前用户的信息
whoami # 获取当前用户
linux系统中用户角色划分
在linux系统中,?户分为管理员?户与其他?户
而其他用户又分为系统用户和普通用户
用户uid小于1000的是系统用户
用户uid大于等于1000的是普通用户
用户与组相关文件介绍
/etc/passwd --> 用户配置文件
第?字段:?户名(也被称为登录名);
第?字段:?令;在例?中我们看到的是?个x,其实密码已被映射到/etc/shadow?件中;第三字段:UID;请参看本?的UID的解说;
第四字段:GID;请参看本?的GID的解说;
第五字段:描述信息,可选
第六字段:?户的家?录所在位置;
第七字段:?户所?SHELL的类型
/etc/shadow --> 用户的密码文件
第?字段:?户名(也被称为登录名),在/etc/shadow中,?户名和/etc/passwd 是相同的,这样就把
passwd 和shadow中?的?户记录联系在?起;这个字段是?空的;
第?字段:密码(已被加密),如果是有些?户在这段是x,表示这个?户不能登录到系统;这个字段是?空的;
第三字段:上次修改?令的时间;这个时间是从1970年01?01?算起到最近?次修改?令的时间间隔(天数),
您可以通过passwd 来修改?户的密码,然后查看/etc/shadow中此字段的变化;
第四字段:两次修改?令间隔最少的天数;如果设置为0,则禁?此功能;也就是说?户必须经过多少天才能修改
其?令;此项功能?处不是太?;默认值是通过/etc/login.defs?件定义中获取,PASS_MIN_DAYS 中有定
义;
第五字段:两次修改?令间隔最多的天数;这个能增强管理员管理?户?令的时效性,应该说在增强了系统的安全
性;如果是系统默认值,是在添加?户时由/etc/login.defs?件定义中获取,在PASS_MAX_DAYS 中定义;
第六字段:提前多少天警告?户?令将过期;当?户登录系统后,系统登录程序提醒?户?令将要作废;如果是系
统默认值,是在添加?户时由/etc/login.defs?件定义中获取,在PASS_WARN_AGE 中定义;
第七字段:在?令过期之后多少天禁?此?户;此字段表示?户?令作废多少天后,系统会禁?此?户,也就是说
系统会不能再让此?户登录,也不会提示?户过期,是完全禁?;
第?字段:?户过期?期;此字段指定了?户作废的天数(从1970年的1?1?开始的天数),如果这个字段的值
为空,帐号永久可?; www.hackdig.com
第九字段:保留字段,?前为空,以备将来Linux发展之?;
如果更为详细的,请? man shadow来查看帮助,您会得到更为详尽的资料;
/etc/group --> 组配置文件
/etc/gshadow --> 组的密码文件
用户管理命令
创建用户 :useradd 用户名
1) 掌握useradd命令的功能:新增?个?户。
2) 了解useradd命令的常?选项:
3) –u:指定?户的UID
4) –g:指定?户所属的主群 # 用户组必须是已经存在的
–G:指定?户所属的附加群
5) –d:指定?户的家?录 # 默认当前用户名作为/home下的家的文件名,-d 可以指定路径作为家目录
6) –c:指定?户的备注信息 # 在用户信息的第五列,默认为空,只有root里面备注是root
7) –s:指定?户所?的shell
8) -e:修改过期时间
9) -M: 不创建家?录
10) -r: 创建系统账户,uid处于系统?户范围内,默认就没有家?录
删除用户 :userdel 用户名 # 删除之后在passwd目录中用户已经不存在了,但是/home里面还有该用户文件夹
userdel -r 用户名 # 彻底删除,passwd和/home都不会再有用户信息
修改用户 :usermod 用户名
-u: 修改用户的UID
–g:指定?户所属的主群 # 用户组必须是已经存在的,否则无法修改
id user6
修改前:uid=1009(user6) gid=1009(user6) 组=1009(user6)
usermod user6 -g 1003 # 1003的组ID现在就是liuhaojie
修改后:uid=1009(user6) gid=1003(liuhaojie) 组=1003(liuhaojie)
但是此时user6 用户在/etc/group 里面 user6:x:1009:
-G:指定?户所属的附加群
id user6
修改前:uid=1009(user6) gid=1003(liuhaojie) 组=1003(liuhaojie)
usermod user6 -G 1005
修改后:uid=1009(user6) gid=1003(liuhaojie) 组=1003(liuhaojie),1005(user5)
此时/etc/group的user5用户的附加组会加上user6
user5:x:1005:user6
user6:x:1009:
修改密码 :passwd 用户名
创建组 :groupadd
修改组 :groupmod
-g :修改用户组的GID # 必须是不能存在的用户组GID
修改前:
id user6 : uid=1009(user6) gid=1003(liuhaojie) 组=1003(liuhaojie),1005(user5)
/etc/group : user6:x:1009:
修改后:
groupmod user6 -g 1006
id user6 : uid=1009(user6) gid=1003(liuhaojie) 组=1003(liuhaojie),1005(user5)
/etc/group : user6:x:1006:
删除组 :groupdel
关于 usermod 的 小 g 和 大 G 以及 groupmod 的 小 g 总结
usermod -g 是用来修改用户的GID,也就是把当前用户的UID改成其他用户的UID(主组ID或者说初始ID),同时附加组会默认加入一个当前UID命名的附加组的ID
usermod -G 是用来修改用户的附加组的,可以增加很多很多附加组,增加附加组之后,用户就有了附加组对应的UID权限,也就是说,user5用户的附加组是user4,那么允许user4组读取的文件,user5也可以读取
groupmode -g 是修改用户主组的ID,这个ID就是usermode -g 指向的ID,如果其他用户用usermode -g 指向这个id 就表示其他用户设置了UID就是这个组ID
总结部分:
可以说,在cat /etc/group 里面看到的用户主组和附加组,主组是初始ID,作为一个证明(身份证号),可以理解成数据库的主键,而附加组则可以理解为哪些用户关联了这个用户主键!关联主键的用户就作为组员而存在,被关联主键的用户是组长,他们在一起组成的组以被关联主键的用户名命名。组员会根据组长拥有的权限而拥有权限,代表组长拥有什么权限,所有的组员就会有什么权限。在此。groupmod -g 修改的就是这个初始ID ,如果修改了这个初始ID ,查看附加组里面的用户ID也会跟着显示修改后的主键用户初始ID,有点类似级联更新。
修改密码的两种方式:
第一种:命令修改
第二种:编辑用户密码文件
root密码如何设置为空
编辑用户配置文件,把 root:x 后面的这个x去掉,x代表的是密码占位符,去掉表示用户登录不校验密码
手动创建一个用户
# 自己创建用户
1、创建用户组:/etc/group
2、创建用户组密码文件:/etc/gshadow
3、创建用户:/etc/passwd
4、创建用户密码:/etc/shadow
5、创建家目录
6、修改权限,复制隐藏文件
help补充
如果有些指令忘记怎么操作
可以使用
指令 --help
来获取提示
评论(0)