一、文件权限与归属
1、在 Linux 系统中一切都是文件,但是每个文件的类型不尽相同,因此 Linux 系统使用了不同的字符来加以区分。
- -:普通文件。
- d:目录文件。
- l:链接文件。
- b:块设备文件。 (鼠标、键盘、硬盘等)
- c:字符设备文件。
- p:管道文件。
2、每个文件都有所属的所有者和所有组组,并且规定了文件的所有者、 所有组以及其他人对文件所拥有的可读(r)、可写(w)、可执行(x)等权限。
- r(read,读取权限):能够读取文件的实际内容。
- w(write,写入权限):能够编辑、新增、修改、删除文件的实际内容。
- x(execute,执行权限):能够运行一个脚本程序
- -:表示不具有该项权限
- 文件的读、写、执行权限可以简写为 rwx,亦可分别用数字 4、2、1 来表示
3、权限的数字法表示基于字符(rwx)的权限计算而来,目的是简化权限的表示。
- 权限为7:可读、可写、可执行(4+2+1)
- 权限为6:可读、可写(4+2)
- 权限为5:可读、可执行(4+1)
- Linux系统的权限数字表示法,三者之间没有互通的关系
例如:
有一个文件,其所有者拥有可读、可写、可执 行的权限,其文件所属组拥有可读、可写的权限;而且其他人只有可读的权限。
- 所有者:7(4+2+1,可读可写可执行权限)
- 所属组:6(4+2,可读可写权限)
- 其他人:4(4,可读权限)
- 文件权限:rwxrw-r-- ,数字法表示764
4、chmod命令 ——设置文件或目录的权限
- chmod [参数] 权限 文件或目录名称
- 只有文件的属主和超级用户root才能执行这个命令
- 上大写参数-R 来表示递归操作,即对目录内所有的文件 进行整体操作
-c | 若该文件权限确实已经更改,才显示其更改动作 |
-f | 若该文件权限无法被更改也不显示错误讯息 |
-v | 显示权限变更的详细资料 |
-R | 对目前目录下的所有文件与子目录进行相同的权限变更(即以递回的方式逐个变更) |
例如:
把一个文件的权限设置成其所有者可读可写可执行、 所属组可读可写、其他人没有任何权限。
①、相应的字符法表示为 rwxrw----
- u:user,表示所有者
- g:group,表示所属组
- o:others,表示其他用户
- a:all,表示以上3用户
- r:read,可读
- w:write,可写
- x:execute,可执行
- +:添加某种权限
- -:减去某种权限
- =:赋予给定权限并取消原来的权限
②、对应的数字法表示为 760
5、chown命令——设置文件或目录的所有者和所属组
- chown [参数] 所有者:所属组 文件或目录名称
- 将指定文件的拥有者改为指定的用户或组
- 用户可以是用户名或者用户ID
- 组可以是组名或者组ID
- 文件是以空格分开的要改变权限的文件列表,支持通配符
- 这个指令仅限系统管理者(root)所使用,普通用户没有权限改变文件所属者及所属组
- 上大写参数-R 来表示递归操作,即对目录内所有的文件 进行整体操作
-R | 对目前目录下的所有文件与子目录进行相同的拥有者变更 |
-c | 若该文件拥有者确实已经更改,才显示其更改动作 |
-f | 若该文件拥有者无法被更改也不要显示错误讯息 |
-h | 只对于连结(link)进行变更,而非该 link 真正指向的文件 |
-v | 显示拥有者变更的详细资料 |
例如:
将test文件用户组与用户都改为bin:
6、使用“ ls -l ”或者“ ll ”显示文件的详细信息
- 该文件的类型为普通文件(-)
- 文件所有者的权限为可读、可写(rw-)
- 文件所属组没有权限(—)
- 除此以外的其他人也没有权限(—)
- 文件的磁盘占用大小为1208
- 文件最后一次的修改时间为12月27日凌晨3:32
- 文件的名称为anaconda-ks.cfg