linux系统权限属性简介
linux系统权限属性简介
1、安全模型
3C认证:认证,授权,审计;当用户登录成功会自动分配令牌token,相当于身份证
用户
管理员用户:root(id为0)
普通用户:
- 系统用户,id:1-999,主要给程序用的,建议不可登录
- 普通用户,id:1000+,主要给人或者用户使用,可登录
所在配置文件
- /etc/passwd:用户及其属性信息(id信息,shell类型)
- /etc/shadow:用户密码及其信息,安全性更高
- /etc/group:组的属性信息
- /etc/gshadow:组的密码及其属性信息
2、 用户和组管理
用户创建useradd、更改属性usermod、删除userdel
用户创建:useradd
-u 指定uid,可加-o,不检查uid唯一性
-g 指定用户所属组
-c 用户介绍
-d 文件家目录,-m 创建家目录用于系统用户;-M 不创建家目录,用于非系统用户
-G 添加附加组,附加组需事先存在
-p 加密
例子:
useradd -r -u 80 -G bin,root -s /bin/csh -d /var/www -c "Gentoo Distribution" gentoo
更改用户属性:usermod
-u 新uid
-g 新主组
-c 新用户介绍
-d 文件新家目录默认不会自动创建,加-m 创建新家目录并移动旧的家目录
-G 新添加附加组,原先的会覆盖,加-a 可保留原有
-e 更改用户账号过期日期
删除用户:userdel
-rf 强制删除用户家目录和相应信息
例子:
userdel -rf gentoo
用户间切换可用 su 来实现
su wei 不完全切换,不改变当前目录
su - wei 完全切换,切换到用户家目录
用户密码
使用数字、大小写字母及特殊字符至少三种,建议使用随机密码将其保存在一个文件中,定期更换
非交互式更改
echo -e '123456\n123456' |passwd wei
取随机密码:
[root@rocky2[ ~]#tr -dc '[:alnum:]' < /dev/urandom | head -c 12
uf1pcegu6t2b
[root@rocky2[ ~]#cat /dev/urandom | tr -dc '[:alnum:]' |head -c12
Pl1LgVy0eN8O
创建组groupadd、更改组groupmod、删除groupdel
groupadd -g 80 -r webs 创建gid为80,名称为webs的组
groupmod -n wei -g 81 webs 更改组webs为wei,并改gid为81
groupdel -f wei 强制删除组,会导致无主组用户无法登录
groupmems
-a 添加用户到组
-d 从组里删除用户
-p 清除所有成员
-l 显示组成员
getent group 可查看所有组
3、文件权限管理
修改文件权限chmod
设置a.txt文件所有者权限读写执行rwx,所属组读写rw,其他人只读r
chmod u=rwx g=rw o=r a.txt
chmod 761 a.txt 也可用数字法r=4,w=2,x=1
-R 递归修改权限,慎用
修改umask可以设置新建文件默认权限,比如:umask 002,若需永久保存,需写进文件中:~/.bashrc
特殊权限suid、sgid、stick
suid chmod u+s 4777 设置在二进制可执行文件上,其进程的属主为原程序文件的属主
sgid chmod g+s 2777 其进程的属组为原程序文件的属组,通常用于创建一个协作目录
stick chmod o+t 1777 只有文件所有者和root可以删除该文件
chattr +i file 不能删除,改名,更改文件
chattr +a file 只能追加内容
lsattr 显示特殊权限属性
ACL权限功能
setfacl
-m u:wei:- 可设置ACL权限,wei用户没有权限
-b 删除权限
getfacl 可查看设置的ACL权限