[Linux之权限管理?户组管理]

[Linux之权限管理?户组管理]

权限管理用户组管理

RBAC 权限管理

RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联。简单地说,一个用户拥有若干角色,每一个角色拥有若干权限。这样,就构造成“用户-角色-权限”的授权模型。在这种模型中,用户与角色之间,角色与权限之间,一般者是多对多的关系。

[Linux之权限管理?户组管理]

RBAC权限模型的扩展模型的完整设计图

[Linux之权限管理?户组管理]

如何查看用户相关信息

id 		# 获取当前用户的信息
whoami  # 获取当前用户

[Linux之权限管理?户组管理]

linux系统中用户角色划分

在linux系统中,?户分为管理员?户与其他?户

而其他用户又分为系统用户和普通用户

    用户uid小于1000的是系统用户
    用户uid大于等于1000的是普通用户
    

用户与组相关文件介绍

/etc/passwd --> 用户配置文件

[Linux之权限管理?户组管理]

第?字段:?户名(也被称为登录名);
第?字段:?令;在例?中我们看到的是?个x,其实密码已被映射到/etc/shadow?件中;第三字段:UID;请参看本?的UID的解说;
第四字段:GID;请参看本?的GID的解说;
第五字段:描述信息,可选
第六字段:?户的家?录所在位置;
第七字段:?户所?SHELL的类型

/etc/shadow --> 用户的密码文件

[Linux之权限管理?户组管理]

第?字段:?户名(也被称为登录名),在/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 --> 组配置文件

[Linux之权限管理?户组管理]

/etc/gshadow --> 组的密码文件

[Linux之权限管理?户组管理]

用户管理命令

创建用户 :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,有点类似级联更新。
	

[Linux之权限管理?户组管理]

[Linux之权限管理?户组管理]

[Linux之权限管理?户组管理]

修改密码的两种方式:

第一种:命令修改

[Linux之权限管理?户组管理]

第二种:编辑用户密码文件

[Linux之权限管理?户组管理]

root密码如何设置为空

编辑用户配置文件,把 root:x  后面的这个x去掉,x代表的是密码占位符,去掉表示用户登录不校验密码

[Linux之权限管理?户组管理]

手动创建一个用户

# 自己创建用户
1、创建用户组:/etc/group
2、创建用户组密码文件:/etc/gshadow
3、创建用户:/etc/passwd
4、创建用户密码:/etc/shadow
5、创建家目录
6、修改权限,复制隐藏文件

help补充

如果有些指令忘记怎么操作
可以使用
指令 --help
来获取提示

[Linux之权限管理?户组管理]

上一篇:windows运行打开服务命令


下一篇:linux 用户组 文件权限查看修改