Linux 权限

杨镇源 于 2024-04-18 发布 浏览量

Linux 权限

权限管理的重要性

linux系统未来可能有程序员、用户、数据库管理员、项目经理等各种角色各种级别人使用,甚至还有身份不明的人链接到linux,不良的权限管理容易导致系统崩溃、数据丢失等问题。

权限的含义

权限字母 含义 对文件 代表命令 对文件夹 代表命令
R(r) 查看文件内容和复制文件 more, cat, less, cp, head, tail 查看文件夹下的文件 ls
W(w) 编辑文件 vi 在文件夹内创建和删除文件 rm, touch
X(x) 执行 执行该文件 (执行必须具备r权限) - 切换到文件夹 cd

权限访问控制列表

~/Documents$ ls -l
drwxrwxr-x 9 yangzy yangzy 4096  4月  4 00:43 blog
drwxrwxr-x 3 yangzy yangzy 4096  4月 12 23:53 Java
drwxrwxr-x 3 yangzy yangzy 4096  3月 19 20:33 Python

# 以blog为例,首字母d表示blog为文件目录
# 第一个rwx表示文件所有者对其权限
# 第二个rwx表示文件所属组对其权限
# 第三个r-x表示其他用户对其权限
# `9`表示链接数,即有多少个文件或目录链接到这个目录
# `yangzy yangzy` 第一个`yangzy`表示文件所有者,第二个`yangzy`表示文件所属组
# `4096`: 表示文件的大小,单位为字节

文件权限修改命令:chmod

文件所有者修改命令:chown

$ chown [-r] new_user_name:new_group_name testfile
# 修改文件所有者
$ chown new_user_name testfile
# 修改文件所属组
$ chown :new_group_name testfile
# 修改文件所有者和所属组
$ chown new_username:new_groupname testfile

文件所有组修改命令:chgrp

$ chgrp [options] new_group_name file

一些常用的chgrp命令选项包括:

设置当前默认权限:umask

$ umask
0002
# 第一位0,表示特殊权限,固定
# 第二位0,表示用户权限,表示从预设权限(文件为7,目录为6)异或0
# 第三位0,表示用户组权限,表示从预设权限(文件为7,目录为6)异或0
# 第四位2,表示其他用户权限,表示从预设权限(文件为7,目录为6)异或2,去除掉写权限

# 设置权限
$ umask 0027
$ umask u=rwx,g=rx,o=

查看文件权限命令:ll/ls

$ ls -l testfile
$ ll testfile