Linux 多用户 多任务的操作系统 文件的所有者\ 所属级以有其他人对文可以进行的读\写\执行等等 添\删除\修改用户信息 特殊权限:SUID SGID SBIT + 隐藏权限进行文件更加灵活的控制
一 、用户权限和能力 类Unix 系统使用额超级管理员默认都是root ,具备最高的权限, Rm -rf /* UID ----GID ---都等于0时 即为超级管理员 UID GID 用户ID \ 组ID 唯一的
UID = 0 :系统的管理用户 UID >=1000 (REHL7.X默认从1000开始,REHL6.X从500开始): 普通用户,由root创建和授权(使用的都是普通用户) 1<=UID <=999 : 系统用户(虚拟用户),默认服务程序具备的独立系统用户, 保护系统安全
GID 用组 用户组:成员 Linux 在创建用户时,默认会生成一个与用户同名的组 用户默认自己属于一个组内
1.useradd 创建用户 默认会自动创建一个家目录(以用户---目录)在/home下 默认shell版本是/bin/bash 可以登录(系统用户默认/sbin/nologin) 参数 作用 -d -e -u -g -G -N -s
2.usermod 修改用户信息 -c -d -m -e -g -G -L -U -s -u 3.passwd 用于创建、修改用户密码 Root 是可以对所有人进行修改 普通用户只能对自己修改 不跟用户名默认修改当前用户 参数 作用 -l -u ---stdin -d -e -S
4.userdel 用户删除
参数 作用
-f
-r
二、文件权限和归属
-普通文件
d目录文件
l链接文件
b块文件----U盘
c字符文件--虚拟终端
s安全套接字文件
[root@localhost ~]# yum -y install mariadb
Find / -name *.sock
链接: 硬链接: 绝对不可以对目录使用,是将所有的内容 完全copy,生成一个新文件,源文件被删除,链接文件依然可以用ln 软链接:可对任何文件进行,类似windows 中的快捷方式,源文件删除链接后无法使用 Ln -s Inode 所有者 所有组 其他人
R可读4 W可写2 X执行1 -无权 0 r w x 对文件 可以查看文件内容 对内容修改 脚本文件 对目录 可以浏览目录 对目录中文件增删改 可不可以进入目录 文件能够删除与本身权限无尖的,年上一级目录权限
默认情况 root创建的文的权限 位644 ,目录权限 755 三、文件的特殊权限 SUID SGID SBIT 与一般权限可以一起使用 1.SUID 对二进制程序(内部命令)进行设置的特殊权限,让其执行者临时具备属主的功能
/bin/passwd ll /bin/passwd Passwd 可以修改自己的密码 S 位 s表示当前位置上具备x权限,S则不具备x权限
2.SGID 让执行者临时拥有属组的权限(二进制程序) Touch test.txt Chmod 2777 test.txt Chmod -R -R递归 数字法 777 表达式法 a =所有 u=用户 g=用户组 o=其它 a+x 给所有用户、用户组成员、其它人添加x权限 a-x 权限 a=x 覆盖
Chown 修改文件用户 或者用户组 Chown -R 用户:用户组filename chgrp单独修改用户组的命令
3.SBIT粘滞位 确保用户只能删除 自己的文件 目录设置SBIT,那么只有目录的所有者和root可以执行删除 T 表示该位无X,, t表示有x SUID =4 SGID = 2 SBIT = 1 四、隐藏权限
Chattr 设置隐藏权限 (添加、删除、修改)
lsattr查看隐藏权限
参数 作用
------------------------以上权限针对甘醇 类用户
五、文件访问控制列表
希望指定用户进行单独的权限控制
目录设置ACL,其中的文件自动继承
setfacl 用于管理文件的acl规则
-R递归
-m 普通文件
-d 删除
查看acl
[root@allen ~]# setfacl -Rm u:allen:rwx /root/
[root@allen ~]# ll -d /root dr-xrwx---+ (加号是acl) 4 root root 4096 Nov 21 09:17 /root
Getfacl 用于显示文件的acl信息
六、su 和sudo su用于切换用户身份 su username 不完全切换(单纯切换身份) su - username 完全切换(直接进入到用户家目录中) Sudo 命令 用于给普通用户提供额外权限完成原本只有root才能完成的wttl0 (reboot poweroff) 1、限制用户执行指定的命令 2、记录用户执行的命 3、
Visudo (禁止用户
[root@allen ~]# ll /etc/sudoers
Sudo -l
Logout root
/bin/reboot
Syntax