1 概述
文件或目录的访问权限分为只读,只写和可执行三种
只读权限表示只允许读其内容,而禁止对其做任何的更改操作
可执行权限表示允许将该文件作为一个程序执行
文件被创建时,文件所有者自动拥有对该文件的读、写和可执行权限
以便于对文件的阅读和修改
有三种不同类型的用户可对文件或目录进行访问:
文件所有者,同组用户、其他用户
-rwxr-xr-x. 6 root root 120 8月 4 08:58 cpu
第一列:表明权限 10位,4个部分
第一部分,1位,文件类型 -
- 表示所有文件
d目录
l符号链接
c’字符专门设备文件
b块专门设备文件
p先进先出
s套接字
第二部分,2-4位,用户权限
第三部分,5-7位,组权限
第四部分,8-10位,其它用户权限
第二列:链接数量
第三列:属主用户
第四列:属组
第五列:文件大小
第6、7、8列:最后一次访问时间
第九列:文件名称
Linux 文件名称不是通过后缀区分,通过文件类型
文件名称没有限制("/"除外)
建议命名时候加后缀
数字法权限:
r:对应数值4
w:对应数值2
x :对应数值1
444 r–r–r–
600 rw——-
644 rw-r–r–
666 rw-rw-rw-
700 rwx——
744 rwxr–r–
755 rwxr-xr-x
777 rwxrwxrw
2 文件类型
d 目录文件
目录, 能用 # cd 命令进入的。权限中第一个属性为 d
l 符号链接
类似Windows下面的快捷方式
s 套接字文件
可以启动一个程序来监听客户端的要求,客户端就可以通过套接字来进行数据通信。最常在 /var/run目录中看到这种文件类型
b 块设备文件,二进制文件
存储数据以供系统存取的接口设备,简单而言就是硬盘。例如一号硬盘的代码是 /dev/hda1等文件
c 字符设备文件
即串行端口的接口设备,例如键盘、鼠标等等
p 命名管道文件
FIFO也是一种特殊的文件类型,它主要的目的是,解决多个程序同时存取一个文件所造成的错误。
- 普通文件
Linux中最多的一种文件类型, 包括 纯文本文件(ASCII);二进制文件(binary);数据格式的文件(data);各种压缩文件.第一个属性为 [-]
3 相关命令
chmod变更文件或目录的权限
概要
chmod [OPTION]... MODE[,MODE]... FILE...
chmod [OPTION]... OCTAL-MODE FILE...
chmod [OPTION]... --reference=RFILE FILE...
主要用途
通过符号组合的方式更改目标文件或目录的权限。
通过八进制数的方式更改目标文件或目录的权限。
通过参考文件的权限来更改目标文件或目录的权限。
参数
mode:八进制数或符号组合。
file:指定要更改权限的一到多个文件。
选项
-c:当文件的权限更改时输出操作信息。
-f,:抑制多数错误消息的输出。
-R:对目录以及目录下的文件递归执行更改权限操作。
返回值
返回状态为成功除非给出了非法选项或非法参数。
例子
# 添加组用户的写权限。
chmod g+w ./test.log
# 删除其他用户的所有权限。
chmod o= ./test.log
# 使得所有用户都没有写权限。
chmod a-w ./test.log
# 当前用户具有所有权限,组用户有读写权限,其他用户只有读权限。
chmod u=rwx, g=rw, o=r ./test.log
chown 变更文件或目录的拥有者或所属群组
只有文件主和超级用户才可以便用该命令。
语法
chown(选项)(参数)
选项
-c:效果类似“-v”参数,但仅回报更改的部分;
-f:不显示错误信息;
-h:只对符号连接的文件作修改,而不更改其他任何相关文件;
-R:递归处理,将指定目录下的所有文件及子目录一并处理;
-v:显示指令执行过程;
参数
用户:组:指定所有者和所属工作组。当省略“:组”,仅改变文件所有者;
文件:指定要改变所有者和工作组的文件列表。
实例
将目录/usr/meng及其下面的所有文件、子目录的文件主改成 liu:
chown -R liu /usr/meng
chgrp 改变文件或目录所属的组。
语法
chgrp [选项] group filename¼
参数:
-c: 效果类似”-v”参数,但仅回报更改的部分。
-f: 不显示错误信息。
-h: 只对符号连接的文件作修改,而不更动其他任何相关文件。
-R: 递归处理,将指定目录下的所有文件及子目录一并处理。
-v: 显示指令执行过程。
该命令改变指定指定文件所属的用户组。
其中group可以是用户组ID,也可以是/etc/group文件中用户组的组名。
文件名是以空格分开的要改变属组的文件列表,支持通配符。
如果用户不是该文件的属主或超级用户,则不能改变该文件的组。
更改/tmp/test/1.png 的组为 test
[root@localhost test]# chgrp -R test /tmp/test/1.png
[root@localhost test]# ll
总用量 24
-rw-r--r--. 1 root test 0 8月 4 14:19 1.png
参考
https://blog.csdn.net/rong0913/article/details/79233956
https://blog.csdn.net/luxunlx123/article/details/104499677