码迷,mamicode.com
首页 > 系统相关 > 详细

Linux 中的用户组与权限管理

时间:2019-05-19 20:52:19      阅读:196      评论:0      收藏:0      [点我收藏+]

标签:复制   dev   文件属性   unlock   包含   版本   文件中   私有   use   

Linux中的用户以令牌token,identity为标识符号,每一个用户都拥有一个 Username和UID,root用户比较特殊,他的的UID为0。普通用户的UID由系统在1-60000范围内自动分配,系统用户的UID默认取值范围为1-499,Centos7之后范围扩大至1-999,登录用户的UID取值范围为500-60000,Centos7后调整为1 000-60000。 拥有相同权限的用户可以组成一个组,用户必须属于一个且只有一个主组,且组名同用户名,且仅包含一个用户。一个用户可以属于零个或多个附加组。 Linux用户和组的主要配置文件包含以下: /etc/passwd:用户及其属性信息(名称、UID、主组ID等) /etc/group: 组及其属性信息 /etc/shadow:用户密码及其相关属性 /etc/gshadow:组密码及其相关属性

有关用户的常用命令及其使用参数
用户创建:useradd
userada [options] LOGIN
-u UID
-o 配合-u选项,不检查UID的唯一性
-g GID 指明用户所属基本组,可为组名,也可以是GID
-c "COMMENT" 用户的注释信息
-d HOME_DIR 以指定的路径(不存在)为家目录
-s SHELL 指明用户的默认shell程序,可用列表在/etc/shells
文件中
-G GROUP1[,GROUP2,...] 为用户指明附加组,组须事先存在
-N 不创建私有组做主组,使用user组做主组
-r 创建系统用户Centos6: ID>500, Centos 7:ID< 1000
-m 创建家目录,用于非系统用户
useradd默认值设置文件位于:/etc/default/useradd
显示或更改默认设置
useradd -D
useradd -D -s SHELL
useradd -D -b BASE_DIR
useradd -D -g GROUP
用户属性修改
usermod [OPTION] login
-u UID: 新UID
-g GID: 新主组
-G GROUP1[,GROUP2,...[,GROUPN]]]:新附加组,原来的附加组将会被
覆盖;若保留原有,则要同时使用-a选项
-s SHELL:新的默认SHELL
-c ‘COMMENT‘:新的注释信息
-d HOME: 新家目录不会自动创建;若要创建新家目录并移动原家数据,
同时使用-m选项
-l login_name: 新的名字
-L: lock指定用户,在/etc/shadow 密码栏的增加 !
-U: unlock指定用户,将 /etc/shadow 密码栏的 ! 拿掉
-e YYYY-MM-DD: 指明用户账号过期日期
-f INACTIVE: 设定非活动期限
删除用户
userdel [OPTION]... login
-r: 删除用户家目录
有关组的相关命令及其使用参数
创建组
groupadd [OPTION]... group_name
-g GID 指明GID号;[GID_MIN, GID_MAX]
-r 创建系统组
CentOS 6: ID<500
CentOS 7: ID<1000
修改和删除组
组属性修改:
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命令:临时切换主组 如果用户本不属于此组,则需要组密码
更改和查看组成员
groupmems [options] [action] options:
-g, --group groupname 更改为指定组 (只有root) actions:
-a, --add username 指定用户加入组
-d, --delete username 从组中删除用户
-p, --purge 从组中清除所有成员
-l, --list 显示组成员列表?groups [OPTION].[USERNAME]... 查看用户所属组列表
文件权限
技术图片
文件属性操作
chown 设置文件的所有者
chgrp 设置文集的属组信息

修改文件的属主和属组
修改文件的属主:chown
chown [OPTION]... [OWNER][:[GROUP]] FILE...
用法说明:
OWNER WNER:GROUP
:GROUP,冒号也可用 . 替换
-R: 递归
chown [OPTION]... --reference=RFILE FILE...
修改文件的属组:chgrp
chgrp [OPTION]... GROUP FILE...
chgrp [OPTION]... --reference=RFILE FILE...
-R 递归
文件权限
文件的权限主要针对三类对象进行定义
owner 属主, u
group 属组, g
other 其他, o
每个文件针对每类访问者都定义了三种权限
r Readable
w Writable
x eXcutable
文件权限
文件:
r 可使用文件查看类工具获取其内容
w 可修改其内容
x 可以把此文件提请内核启动为一个进程
目录:
r 可以使用ls查看此目录中文件列表
w 可在此目录中创建文件,也可删除此目录中的文件
x 可以使用ls -l查看此目录中文件元数据(须配合r),可以cd进入此目录
X 只给目录x权限,不给文件x权限
文件权限操作
文件权限操作命令:chmod
文件权限(rwx|X)
技术图片

修改文件权限
chmod [OPTION]... OCTAL-MODE FILE...
-R: 递归修改权限
chmod [OPTION]... MODE[,MODE]... FILE...
MODE:
修改一类用户的所有权限
u= g= o= ug= a= u=,g=
修改一类用户某位或某些位权限
u+ u- g+ g- o+ o- a+ a- + -
chmod [OPTION]... --reference=RFILE FILE...
参考RFILE文件的权限,将FILE的修改为同RFILE

访问控制列表
ACL:Access Control List,实现灵活的权限管理
除了文件的所有者,所属组和其它人,可以对更多的用户设置权限
CentOS7 默认创建的xfs和ext4文件系统具有ACL功能
CentOS7 之前版本,默认手工创建的ext4文件系统无ACL功能,需手动增加
tune2fs –o acl /dev/sdb1
mount –o acl /dev/sdb1 /mnt/test
ACL生效顺序:所有者,自定义用户,自定义组,其他人
ACL文件上的group权限是mask 值(自定义用户,自定义组,拥有组的最大权
限),而非传统的组权限
getfacl 可看到特殊权限:flags
通过ACL赋予目录默认x权限,目录内文件也不会继承x权限
base ACL 不能删除
setfacl -k dir 删除默认ACL权限
setfacl –b file1清除所有ACL权限
getfacl file1 | setfacl --set-file=- file2 复制file1的acl权限给file2
mask只影响除所有者和other的之外的人和组的最大权限
Mask需要与用户的权限进行逻辑与运算后,才能变成有限的权限(Effective
Permission)
用户或组的设置必须存在于mask权限设定范围内才会生效 setfacl -m
mask::rx file
--set选项会把原有的ACL项都删除,用新的替代,需要注意的是一定要包含
UGO的设置,不能象-m一样只是添加ACL就可以
示例:
setfacl --set u::rw,u:wang:rw,g::r,o::- file1
访问控制列表
备份和恢复ACL
主要的文件操作命令cp和mv都支持ACL,只是cp命令需要加上-p 参数。但是
tar等常见的备份工具是不会保留目录和文件的ACL信息
getfacl -R /tmp/dir1 > acl.txt
setfacl -R -b /tmp/dir1
setfacl -R --set-file=acl.txt /tmp/dir1
setfacl --restore acl.txt
getfacl -R /tmp/dir1

Linux 中的用户组与权限管理

标签:复制   dev   文件属性   unlock   包含   版本   文件中   私有   use   

原文地址:https://blog.51cto.com/14342044/2396999

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!