Linux常用命令(第四部分:权限管理,安全至上)
Linux系统是多人多用户的操作系统。
字符 |
含义 |
r |
read 读;查看权限;对于目录:可以ls |
w |
write 写;文件的增删改;对于目录:创建、改名、删除、移动 |
x |
execute 执行;文件可以被执行;对于目录:可以cd |
u |
user 用户 |
g |
group 组 |
o |
other 其他 |
a |
all 所有 |
t |
粘连权限(特殊权限):给目录的权限,在目录下不能删除其他人的文件 T :目录其他人的权限没有 x 时,强行加 t ,表示添加失败的 |
s |
权限提升(特殊权限):x 在执行程序时让其他用户临时拥有所有者或所属组的权限 S :没有可执行的权限时,强制给文件加s权限,表示添加失败 |
+ |
add(加),添加权限 |
- |
remove(减),移除权限 |
= |
set(设置),设置权限 |
说明:
u=rwx:文件所有者(u)有读(r)写(w)执行(x)权限。
g=rx:文件所在的用户组(g)有读(r),执行(x)权限。
o=:其他用户(o)无任何权限。
41.chmod:修改文件或目录的权限
用法:chmod [字母] [符号] [字母] 文件名
如图所示:
权限对普通用户有效,对超级管理员root无效
# 查看权限
ls -l,第一列就是权限,第一个字符是类型,后面九个字符是权限。
-rw-r--r--. 1 root root 12 7月 9 10:54 a.txt
1、文件类型:-普通文件,d目录文件,c字符串文件,b块文件,l链接文件
2~10,属主,属组,其他用户
权限位 |
含义 |
属主权限位 |
用于限制文件或目录的创建者 |
属组权限位 |
用于限制文件或目录所属组的成员 |
其它用户的权限 |
用于限制既不是属主又不是所属组的能访问该文件或目录的其他人员 |
权限 |
数字 |
含义 |
- - - |
0 |
无权限 |
- - x |
1 |
执行权限 |
- w - |
2 |
写权限 |
- wx |
3 |
写+执行权限 |
r - - |
4 |
读权限 |
r - x |
5 |
读+执行权限 |
rw - |
6 |
读+写权限 |
rwx |
7 |
读+写+执行权限 |
stat -c %A ludeng.txt #查看文件权限
# 常用权限组合:
777:共享目录
666:共享文件(尽量不给文件777)
755:允许其他用户读的目录
644:允许其他用户读的文件
700:自己私有的目录
600:私有文件
711:可执行文件
# 默认权限:
umask # 修改默认权限
0022
目录 = 0777 - 0022 = 755
文件 = 0666 - 0022 = 644(目录的默认权限)
如果改umask的值 ,那么默认权限也会变,比如:
umask 0033
744 rwxr--r--
633 rw--wx-wx(改完之后记得改回来)
常用操作:
# 1. 将文件设为所有人可读(r),所有者可写(w),所有人可执行(x)
chmod 755 script.sh
# 2. 只允许所有者读写,其他人无权限
chmod 600 secret.txt
# 3. 为目录添加执行权限(递归应用到子目录和文件)
chmod -R +x /path/to/directory
# 4. 使用符号模式添加权限:为文件添加所有用户的执行权限
chmod +x script.sh
# 5. 移除权限:移除文件的写权限
chmod -w readonly.txt
# 6. 为用户组添加写权限
chmod g+w shared_file.txt
# 7. 设置文件的详细权限:为不同用户分配精确权限
chmod u=rwx,g=rx,o= script.sh