设为首页 加入收藏

TOP

linux中的用户、组和权限和ACL(一)
2023-07-23 13:36:20 】 浏览:51
Tags:linux ACL

Linux中的文件访问控制

在Unix系统家族里,文件或目录权限的控制分别以读取、写入、执行3种一般权限来区分,另有3种特殊权限可供运用【SUID,SGID,SBIT】,再搭配拥有者与所属群组管理权限范围。

 SUID:

  1、只对二进制可执行程序有效,不能为普通文件;

  2、对程序文件必须拥有执行权限;

  3、启动为进程之后,其进程的宿主为原程序文件的宿主;

  4、SUID设置在目录上无意义

权限设定:
chmodu +s FILE... 
chmodu -s FILE...

 SGID:

  可以应用在二进制文件和作用在文件夹下,当作用在二进制文件下时,作用和SUID相似,只不过SUID是把发起者临时变为文件的所有者,

??而SGID是把进程的发起者变成源程序文件的属组

??默认情况下,用户创建文件时,其属组为此用户所属的主组,当SGID作用在目录下时,则对此目录有写权限的用户在此目录中创建的文件所属的组

??为此目录的属组,通常用于创建一个协作目录。

权限设定:
chmodg +s FILE... 
chmodg -s FILE...

 Sticky【SBIT】:

  默认情况下用户可以删除具有写权限的目录中的任何文件,无论该文件的权限或拥有权,如果在目录设置Sticky位,只有文件的所有者或root可以删除该文件,Sticky位是作用在文件夹的,设置在文件上毫无意义。

权限设定:
chmodo +t DIR...
chmodo -t  DIR...

可以使用chmod命令、setfacl命令变更文件或目录的权限,设置时采用文字或数字代号皆可。

可以使用chown命令变更文件或目录的拥有者及所属群组。

注意:符号链接的权限无法变更,如果对符号链接修改权限,其改变会作用在被链接的原始文件

权限位映射

   SUID: user,占据属主的执行权限位

??s:属主拥有x权限

??S:属主没有x权限

   SGID: group,占据属组的执行权限位

??s: group拥有x权限

??S:group没有x权限

   Sticky: other,占据other的执行权限位

??t:other拥有x权限

??T:other没有x权限

用户user

令牌 token,identity
Linux用户 Username/UID
管理员 root / 0
普通用户 1-60000 自动分配
系统用户 1-499, 1-999 (CentOS7)
对守护进程获取资源进行权限分配  
登录用户 500+, 1000+(CentOS7)

组group

Linux组:Groupname/GID

管理员组:root, 0

普通组:

系统组:1-499, 1-999(CENTOS7)

普通组:500+, 1000+(CENTOS7)

 

Linux安全上下文

??运行中的程序:进程 (process)

??以进程发起者的身份运行:

??root: /bin/cat

??mage: /bin/cat

??进程所能够访问资源的权限取决于进程的运行者的身份

用户和组的配置文件

??Linux用户和组的主要配置文件:

????/etc/passwd:用户及其属性信息(名称、UID、主组ID等)

????/etc/group:组及其属性信息

????/etc/shadow:用户密码及其相关属性

????/etc/gshadow:组密码及其相关属性

 

passwd文件格式

login name:登录用名(wang)

passwd:密码 (x)

UID:用户身份编号 (1000)

GID:登录默认所在组编号 (1000)

GECOS:用户全名或注释

home directory:用户主目录 (/home/wang)

shell:用户默认使用shell (/bin/bash)

shadow文件格式

??登录用名

??用户密码:一般用sha512加密

??从1970年1月1日起到密码最近一次被更改的时间

??密码再过几天可以被变更(0表示随时可被变更)

??密码再过几天必须被变更(99999表示永不过期)

??密码过期前几天系统提醒用户(默认为一周)

??密码过期几天后帐号会被锁定

??从1970年1月1日算起,多少天后帐号失效

【更改加密算法: authconfig --passalgo=sha256 --update】

group文件格式

??群组名称:就是群组名称

??群组密码:通常不需要设定,密码是被记录在 /etc/gshadow

??GID:就是群组的 ID

??以当前组为附加组的用户列表(分隔符为逗号)

gshadow文件格式

??群组名称:就是群组名称

??群组密码:xxxxx

??组管理员列表:组管理员的列表,更改组密码和成员

??以当前组为附加组的用户列表:(分隔符为逗号)

用户和组管理命令

用户管理命令

useradd

useradd [options] LOGIN
-u UID
-o 配合-u 选项,不检查UID的唯一性
-g GID:指明用户所属基本组,可为组名,也可以GID
-c "COMMENT":用户的注释信息
-d HOME_DIR: 以指定的路径(不存在)为家目录
-s SHELL: 指明用户的默认shell程序,可用列表在/etc/shells文件中
-G GROUP1[,GROUP2,...]:为用户指明附加组,组须事先存在
-N 不创建私用组做主组,使用users组做主组
-r: 创建系统用户 CentOS 6: ID<500,CentOS 7: ID<1000
-m 创建家目录,用于系统用户
-M 不创建家目录,用于非系统用户

usermod

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

userdel [OPTION]... login
-r: 删除用户家目录
-f:强制删除用户

组帐号维护命令

groupadd

groupadd [OPTION]... group_name
-g GID: 指明GID号;[GID_MIN, GID_MAX]
-r: 创建系统组
CentOS 6: ID<500
CentOS 7: ID<1000

groupmod

组属性修改:groupmod
groupmod [OPTION]... group
-n group_name: 新名字
-g GID: 新的GID

groupdel

?组删除:groupdel
groupdel GROUP

 查看用户

首页 上一页 1 2 3 下一页 尾页 1/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇nginx配置文件rewrite和if 下一篇linux 安装VMware tools

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目