用户和组管理及权限管理
用户和组管理
资源分派
Authentication;认证
Authorization;授权
Accouting;审计
token,identity(username/password)
Linux用户:Username/UID
管理员:root,0
普通用户:1-65535
系统用户:1-499;1-999(centos7版本)
守护进程获取资源进行权限分配
登录用户:500+ ;1000+
交互式登录
Linux组:Groupname/GID
管理员组:root,0
管理组:
系统组:1-499;1-999
管理组:500+;1000+
Linux安全上下文:
运行中的程序:进程(process)
以进程发起者的身份运行:
root:cat
tom:cat
进程所能访问的所有资源的权限取决于进程的发起者的身份
Linux组的类别:
用户的基本组(主组)
组名同用户名,且仅包含一个用户,私有组
用户的附加组(额外组)
Linux用户和组相关的配置文件:
/etc/passwd:保存用户及其属性信息(名称、UID、基本组ID等等)
/etc/group:组及其属性信息
/etc/shadow:用户密码及其相关属性
/etc/gshadow:组密码及其相关属性
/etc/passwd:
name:password:UID;GID:GECOS:directory:shell
用户名:密码:UID:GID:GECOS:主目录:默认shell
/etc/group:
group_name: password:GID:user_list
组名:组密码:GID:以当前组为附加组的用户列表(分隔符为逗号)
/etc/shadow:
用户名:加密了的密码
加密机制:
加密:明文-->密文
解密:密文-->明文
单向加密:提取数据指纹
md5:message digest,128bits
sha1:secure hash algorithm,160bits
sha224:224bits
sha256:256bits
sha512:512bits
密码的复杂性策略
用户和组相关的管理命令
用户创建:useradd
useradd [options] login
-U UID:[UID_MIN, UID_MAX],定义在/etc/login.defs
-g GID:指明用户所属基本组,可为组名,也可以GID
-c "command":用户的注释信息
-d /PATH/TO/HOME_DIR:以指定的路劲为家目录
-s SHELL:指明用户的默认shell程序,可用列表在/etc/shells文件中
-G GROUP1[,GROUP2,...[GROUPN]]];为用户指明附加组,组必须事先存在
-r:创建系统用户
Centos6:ID<500
Centos7:ID<1000
默认值设定:/etc/default/useradd文件中
useradd -D
-s SHELL
练习:创建用户gentoo,附加组为distro和linux,默认shell为/bin/csh,注释信息为“Gentoo Distribution”
组创建:groupadd
groupadd [option]... group_name
-g GID:指明GID号:[GID_MIN, GID_MAX]
-r:创建系统组
查看用户相关的ID信息:id
id [option]...[USER]
-u: UID
-g: GID
-G: Groups
-n: Name
切换用户或以其他用户身份执行命令:su
su UserName:非登录式切换,即不会读取目标用户的配置文件
su - UserName:登录式切换,会读取目标用户的配置文件,完全切换
注意:root su至其他用户无须密码;非root用户切换时需要密码
换个身份执行命令:
su [-] UserName -c 'command'
选项:
-l:“su -l UserName”相当于“su - UserName”
用户属性修改:usermod
usermod [选项] login
-u UID:新UID
-g GID:新基本组
-G GROUP1[,GROUP2,...[,GROUPN]]]:新附加组,原来的附加组将会被覆盖;若保留原有,则要同时使用-a选项,表示append
-c 'COMMENT':新的注释信息
-d HOME:新的家目录;原有家目录中的文件不会同时移动至新的目录,若要移动,则同时使用-a选项
-l login_name:新的名字
-L:lock指定用户
-U:unlock指定用户
给用户添加密码:passwd
passwd [options] UserName:修改指定用户的密码,仅root用户权限
passwd:修改自己的密码
常用选项:
-l:锁定指定用户
-u:解锁指定用户
-n mindays:指定最短使用期限
-x maxdays:最大使用期限
-w warndays:提前多少天开始警告
-i inactivedays:非活动期限
--stdin:从标准输入接收用户密码:
echo ''PASSWORD'' | pass --stdin USERNAME
删除用户:userdel
userdel [option]...login
-r:删除用户家目录
组属性修改:groupmod
groupmod [option]...group
-n group_name:新名字
-g GID:新的GID
组删除:groupdel
groupdel GROUP
组密码:gpasswd
gpasswd [option] group
-a user:将user添加至指定组中
-d user:删除用户user的以当前组为组名的附加组
-A user1,user2,...:设置有管理权限的用户列表
newgrp命令:临时切换基本组
如果用户本不属于此组,则需要组密码
修改用户属性:chage(man查看)【-d,-E,-I,-m,-M,-W】
其他命令(了解):chfn,chsh,finger
命令总结:useradd,groupadd,su,id,userwod,userdel,groupmod,groupdel,passwd,newgrp,pwck,gpasswd,chage,chsh,chfn,finger
权限管理:
文件的权限主要针对三类对象进行定义:
owner:属主,u
group:属组,g
other:其他,o
每个文件针对每类访问者都定义了三种权限:
r:Readable
w:Writable
x:eXcutable
文件:
r:可使用文件查看类工具获取其内容;
w:可修改其内容;
x:可以把此文件提请内核启动为一个进程;
目录:
r:可以使用ls查看此目录中文件列表;
w:可在此目录中创建文件,也可删除此目录中的文件;
x:可以使用ls -l查看此目录中文件列表,可以cd进入此目录
--- 000 0
--x 001 1
-w- 010 2
-wx 011 3
r-- 100 4
r-x 101 5
rw- 110 6
rwx 111 7
例如:
640:rw-r-----
rwxr-xr-x:755
修改文件权限:chmod
-R:递归修改权限
修改一类用户的所有权限:
u=rx
g=
o=
ug=
u=,g=
修改一类用户某位或某些位权限
u+;u-
修改文件的属主和属组:
仅root可用;
修改文件的属主:chmod
chown [option]...[owner][:[group]] file...
用法:
owner
owner:group
:group
注意:命令中的冒号可用.替换
-R:递归
修改文件的属组:chgrp
文件或目录创建时的遮罩码:umask
file:666-umask
注意:如果某类的用户的权限减得的结果中存在x权限,则将其权限+1
dir:777-umask

浙公网安备 33010602011771号