Linux 用户,用户组及权限体系
一.首先对linux的用户,用户组做一下介绍
用户:
1.在linux系统中用UID来标识用户,用户是能够登录并使用linux的用户,用户组是用户的分组,用GID标识。
Linux 系统分为3种用户:
root 用户:linux系统的超级管理员,可以操作任何文件和命令,拥有最高的权限,UID为0
虚拟用户:这类用户不具有登录系统的能力,但是是系统运行不可缺少的用户,例如bin,daemon,ftp,mail等,这些用户是系统自身拥有的,UID为1-499
普通真实用户:这类用户可以登录系统,但是只能操作自己的家目录,可以自行添加,UID为500-60000
2. 下面是对两个文件的介绍
Linux的用户信息保存在/etc/passwd文件中,另外,/etc/shadow文件存放的是用户密码相关信息
以冒号为分隔符分别对应的是:
用户名:用户密码:UID:GID:说明信息:默认的登录shell
下面是另一个文件
1.用户名:
2.用户密码:经过加密。
3.最后更改密码的日期:以1970.01.01开始算,到今天的天数
4.密码最小生存周期: 几天之内不能更改密码。
5.密码最大生存周期: 密码的有效天数。
6.密码过期,提前几天提醒用户:如果是7,就是在密码失效前7天就 开始发出警告信息。
7.密码过期后几天账号会被取消:密码过期后仍然可以登录系统,不过一旦登录就会被强制要求更改密码。
8.帐号失效时间:过了宽限时间还没更改密码,这个帐号就失效了,无法被使用。
9.保留:保留的栏位,看以后有没有新内容加入。(没用)
用户组:
Linux 的用户组信息保存在/etc/group 文件中,另外,/etc/gshadow文件存放的是用户密码相关信息
以冒号为分隔符分别对应的是:
用户组名:组密码:GID:组内用户(多个用户用,分隔开)
以冒号为分隔符分别对应的是:
用户组名:组密码:用户组管理员的用户名:组内用户(多个用户用逗号分隔)
3.相关命令
useradd 添加用户
userdel 删除用户
usermod 修改用户的属性
passwd 为用户设置密码
useradd:
-c 描述信息
-d 家目录 注:不需要建立用户的同名目录
-g 指定主组 可以用ID或组名(组必须先创建)
-G 指定附加组 可以用ID或组名(组必须先创建)
-s 指定登录的shell
-u 指定uid
例:
useradd -c manager u1 描述信息
useradd -d /test/u2 u2 家目录
useradd -g u2 u3 组名 注:主组必须已经存在
useradd -G u2 u4 组名
useradd -s /bin/csh u5 指定shell
useradd -u 600 u7 指定uid
userdel : 删除用户
-r 删除用户的同时删除家目录
例:
useradd u1
useradd -r u1
usermod:
usermod的参数和useradd基本一致,与 useradd 参数差不多,一个是在创建用户时设定,一个是用户创建好后修改
-u -g -G -d -s
例:
usermod -L u1 锁定用户,无法登录 lock(也可以直接修改/etc/shadow密码前加了个!)
usermod -U u1 为用户解锁 unlock
passwd :
root 用户可以修改任何一个用户的密码
例 :passwd u1
二.权限体系
1. 基本文件拥有者分类
u 所有者 user
g 所属组 group
o 其他人 others
a 所有人 al
2. 基本权限
文件权限:
r 读权限 -读取文件内容 w 写权限 -修改文件内容
x 可执行权限
目录权限:
r 读权限 -读取目录内容
w 写权限 -修改目录内容 单独使用没有意义,与x权限一起 使用时删除文件或生成文件或给文件改名
x 访问权限 access
8进制数表示方法:
r: 4
w: 2
x: 1
0代表没有权限
4、 文件访问权限的相关设置方法
Chmod:设置文件的访问权限
格式:chmod [参数]权限 文件名
R :递归修改目录文件的权限
V :显示指令执行过程、
chmod命令权限值的格式
例:
chmod u+x test
chmod o-w test
chmod a=x test
三位8进制数字
例:
chmod 664 test
chmod 640 test
chown:修改文件的拥有者
格式:chown [参数]用户名 文件名
例:chown u1 f1
chown root:t1 test 文件所有者为root,所属组为t1
charp: 修改文件或目录的所属组
格式:charp [参数]用户组名 文件名
参数: -R递归修改文件或目录的所属组
例: chgrp u1 /test/t1
3.特殊权限
suid; 所有者 suid权限:只能所有者使用 suid用4来表示
作用:有效用户:是普通用户瞬间获得root权限
例: chmod 4177 f ile 必须保证所有者有x权限,才可以添加suid权限
(注意:如果你系统上的vi 被赋予了suid 权限,可以肯定你的系统已经被***!!!!)
sgid; 所属组 2 2777 给用户组权限
作用:有效用户组:瞬间具有该组的权限
针对目录
该目录内所有用户在创建文件时,文件属组与目录属组相同
针对文件
例:chmod 2717 file 必须保证所属组有x权限,才可以添加sgid权限
sticky; 其他人 1 1777
针对目录
防止普通用户在公共目录里互相残害对方的文件。 有了t权限,用户就只能处理自己的文件
例:#chmod 1777 /shared
#chmod o+t /shared
#chmod o-t /shared
4. 隐藏权限
chattr 添加隐藏权限
L sattr 查看隐藏权限
格式:
chattr [+-] [ai] filename
a: 只允许文件内容被追加
i: 不可变,重要的系统文件 (不能被删除)
例:chattr +i file
lsattr
5. acl访问控制列表
需求:针对一部分普通用户开放权限
命令:
查看:getfacl
设置:setfacl
需求:需要文件系统支持acl
选项:
-m :添加一个 ACL 规范;
-x :删除一个 ACL 规范;
-b :全部的 ACL 规范都移除;
例:
# setfacl -m u:u1:rw c1 针对c1文件给u1用户加权限
# setfacl -m u:u1:rwx abc/ 针对abc目录给u1用户加权限
# setfacl -x u:u1 c1 删除u1用户在c1上的权限
# setfacl -b c1 删除所有用户的权限
转载于:https://blog.51cto.com/tanxin/1052354