linux 中文件权限的相关操作
查看文件详情
mkdir test
cd ./test
mkdir dir
touch file
ls -lh
# 显示一下类容
drwxr-xr-x 2 root root 4.0K 7月 30 22:33 dir
-rw-r--r-- 1 root root 0 7月 30 22:35 file
#表示
#文件类型 权限 硬链接数 用户 用户组 文件大小 创建(修改)日期 文件名
ls -dlh dir # 只显示dir目录的信息
ls -flh file # 只显示file文件的信息
文件类型
linux中没有扩展名的概念,使用文件类型区分文件
- 普通文件
d 目录 (directory)
b 块设备 (block)
c 字符设备 (char)
l 符号链接(软链接 link),类似window中的快捷方式
p 管道 (pipe)
s 套接字 (socket)
文件权限
drwxr-xr-x 中第一位表示文件类型。d 表示目录。- 表示普通文件。当然还有其他类型的文件。 后面的9位分为3位一组。
rwx 分别表示 r (read) 可读,w (write) 可写,x (execute) 可执行,- 表示没有权限。
对于目录。 x 表示可进入目录。 r 表示显示目录内的文件。 w 表示可修改目录内文件。 其中 x 是必须的。rw 都必须要依赖 x 的权限
字符表示
- r 可读(read)
- w 可写(write)
- x 可执行(execute)
数字(八进制)表示
创建新的⽂件有默认权限,是用 umask 值计算的,默认为446
- x 用数字 1 表示
- w 用数字 2 表示
- r 用数字 4 表示
- xw 用数字 3 表示
- xr 用数字 5 表示
- wr 用数字 6 表示
- rwx 用数字 7 表示
chmod命令
将每个文件的权限模式变更至指定模式。
用法:chmod [选项]... 模式[,模式]... 文件...
或:chmod [选项]... 八进制模式 文件...
或:chmod [选项]... --reference=参考文件 文件...
touch file
# chmod u(user) g(group) o(others) a(all)
# 用户 用户组 其他用户 全部(包括用户,用户组,其他用户)
# chmod u+ 添加权限
# chmod g- 减少权限
# chmod a= 设置权限
chmod u=rwx file # 给file文件所属用户设置 rwx 权限
chmod a=rwx file # 给file文件全部用户和用户组设置 rwx 权限
chmod 777 file # 相当于 a=rwx
chmod 666 file # 给file文件用户,用户组,其他用户设置 rw 权限
chmod a=rw file # 相当于 chmod 666 file
chown命令
chown --help
useradd user
chown user ./dir # 将dir目录的所属用户改为user用户
chown :user ./dir # 将dir目录的所属用户组改为user用户组
chown user:user ./dir # 将dir目录的所属用户和用户组改为user用户和user用户组
修改文件的所有者和/或所属组为给定的<所有者>和/或<组>
用法:chown [选项]... [所有者][:[组]] 文件...
或:chown [选项]... --reference=参考文件 文件...
chgrp命令
改变文件的组所有权
用法:chgrp [选项]... 用户组 文件...
chgrp --help
chgrp root ./dir # 将dir目录的所属用户组改为root用户组
#和$的区别
在shell终端中:
# 开头表示当前运行的是root用户
$ 开头表示当前运行的是普通用户
开发工具
浙公网安备 33010602011771号