权限管理以及用户、用户组
Linux用户:Username/UID
- 管理员:root,0
- 普通用户:1-65535
- 系统用户:1-499, 1-999 (CentOS7)
对守护进程获取资源进行权限分配 - 登录用户:500+, 1000+(CentOS7)
交互式登录
- 系统用户:1-499, 1-999 (CentOS7)
组group
- 管理员组:root, 0
- 普通组:
- 系统组:1-499, 1-999(CENTOS7)
- 普通组:500+, 1000+(CENTOS7)
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日算起,多少天后帐号失效
group文件格式
- 群组名称:就是群组名称
- 群组密码:通常不需要设定,密码是被记录在/etc/gshadow
- GID:就是群组的 ID
- 以当前组为附加组的用户列表(分隔符为逗号)
gshdow文件格式
- 群组名称:就是群组名称
- 群组密码:
- 组管理员列表:组管理员的列表,更改组密码和成员
- 以当前组为附加组的用户列表:(分隔符为逗号)
用户和组管理命令
useradd 添加用户
-u
设定UID
-o
配合-u 选项,不检查UID的唯一性
-g
基本组,默认为同名
-c "COMMENT"
注释信息
-d HOME_DIR
指定home目录
-G
指定附加组
-s
修改默认shell
-o
不检查ID的唯一性
-r
创建系统用户,
-m
创建home目录,用于系统用户
-M
不创建home目录,用于非系统用户
-D
显示或更改默认设置- /etc/default/useradd 新建用户的默认信息
groupadd -g 指定GID
-r
创建系统组
id
查看用户信息 -u UID -g GID -G 分组 -n- usermod
-u
-g
会覆盖,若保留,加-a表示追加,
-d
新的home目录,不会迁移文件,若要迁移,同时使用-m
-l
新的登陆(login)名字
-e YYYY-MM-DD` 指定用户的过期时间
- groupmod
-n
新名字-G
新GID passwd USERNAME
-l
锁定指定用户
-u
解锁指定用户
-n mindays
最短使用期限
-m maxdays
最长使用期限
-w warndays
提前多少天发出警告gpasswd
-a
添加用户至组中
-d
将用户从组中删除
-A
设置组的管理员列表- userdel -r 删除用户家目录
- groupdel
- newgrp 临时切换主组
/dev/null 能够接受任何东西
/dev/zero 能够连续不断的产生0信息
su - USER -c “COMMAND” 不切换用户而以其身份使用某口令
chown OWNER:GROUP –reference=RFILE FILE
特殊权限
SUID 4 SGID 2 Sticky 1
- 可执行文件SUID权限 只对二进制可执行程序有效,设置在目录上没意义
chmod u+s FIle
chmod u-s File
- 可执行文件SGID权限
chmod g+s FILE
chmod g-s FILE
- 目录上的SGID权限
鸭子在鸡窝下鸡蛋
chmod g+s DIR
chmod g-s DIR
Sticky位 在目录设置Sticky位,只有文件的所有者或者才能删文件
chmod o+t DIR
chmod o-t DIR
chmod
+X
只给文件夹家权限不给文件加权限
+s
添加SUID权限
+t
添加sticky权限umask umask+default=666(FILE)/777(DIRS) 结果为偶数,非特权用户 = 002,root =022
-S
横向方向显示
-p
输出可被调用acl ACL 权限就是为了解决linux 下三种身份不能满足资源权限分配需求的问题的.
setfacl命令格式: setfacl 选项 文件目录名
-m
设定ACL权限
-x
删除指定用户,用户组的ACL权限,针对用户,用户组
-b
删除文件所有的ACL权限,针对文件
-d
设定默认ACL权限
-k
删除默认ACL权限
-R
递归设置ACL权限
setfacl -m u:USER:000 /data/f5