美文网首页
Liunx:文件属性

Liunx:文件属性

作者: 程序员小杰 | 来源:发表于2020-06-13 17:37 被阅读0次

Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。

在Linux中我们可以使用ll或者ls –l命令来显示一个文件的属性以及文件所属的用户和组,如:

[root@root home]# ls -lhi
total 12K
1580812 drwxr-xr-x 2 root root 4.0K Jun 13 15:46 dev
1317928 drwxr-xr-x 2 root root 4.0K Mar  7 13:36 docker
1580987 drwxr-xr-x 2 root root 4.0K Jun 13 14:48 test1
无标题.png
1、inode(index node)是inode索引节点;

2、第一个字符:代表文件类型,-代表普通文件,d代表目录

第2-10个字符,代表文件或者目录的权限,


3、文件的硬连接数,具有相同inode节点号的多个文件是互为硬链接文件;

4和5、属主和属组

6、文件或目录的大小

7、8、9、最近修改时间

10、文件或目录名

我们重点介绍2:

第一个字符代表文件类型

d(directory)表示目录
-(regular file) 普通文件
l (link)链接文件
b(block)块设备和其它外围设备,是特殊类型的文件
c(character)字符设备文件
s(socket)套接字文件
p(named pipe)管道文件

接下来的字符中,以三个为一组,且均为『rwx』 的三个参数的组合。

其中,[ r ]代表可读(read)、[ w ]代表可写(write)、[ x ]代表可执行(execute)。

要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号[ - ]而已。

image.png

属主就是代表这个文件是该用户创建的,属组代表该组下的用户对文件有无相应权限。
修改文件属性:

[root@root home]# useradd gongj
[root@root home]# ll
total 16
drwxr-xr-x 2 root  root  4096 Jun 13 15:46 dev
drwxr-xr-x 2 root  root  4096 Mar  7 13:36 docker
-rw-r--r-- 1 root  root     0 Jun 13 16:24 gj.txt
drwx------ 2 gongj gongj 4096 Jun 13 16:34 gongj
drwxr-xr-x 2 root  root  4096 Jun 13 14:48 test1
[root@root home]# su gongj  #切换到gongj账户
[root@root gongj]# touch gj123.txt
[gongj@root ~]$ ll
total 0
-rw-rw-r-- 1 gongj gongj 0 Jun 13 16:39 gj123.txt

现在我们能看到gongj以及gj123.txt的属主和属组都是gongj

1、chgrp:更改文件属组

chgrp [-R] 属组名 文件名
-R:递归更改文件属组,就是在更改某个目录文件的属组时,如果加上-R的参数,那么该目录下的所有文件的属组都会更改。
这命令需要在root账户下执行

[root@root home]# chgrp -R root gongj/
[root@root home]# ll
total 16
drwxr-xr-x 2 root  root 4096 Jun 13 15:46 dev
drwxr-xr-x 2 root  root 4096 Mar  7 13:36 docker
-rw-r--r-- 1 root  root    0 Jun 13 16:24 gj.txt
drwx------ 2 gongj root 4096 Jun 13 16:41 gongj
drwxr-xr-x 2 root  root 4096 Jun 13 14:48 test1
[root@root home]# cd gongj/
[root@root gongj]# ll
total 0
-rw-rw-r-- 1 gongj root 0 Jun 13 16:39 gj123.txt

可能看到gongj的属组和gj123.txt的属组已经改为了root。

2、chown:更改文件属主,也可以同时更改文件属组

chown [–R] 属主名 文件名
chown [-R] 属主名:属组名 文件名

[root@root home]# chown -R root gongj/
[root@root home]# ll
total 16
drwxr-xr-x 2 root root 4096 Jun 13 15:46 dev
drwxr-xr-x 2 root root 4096 Mar  7 13:36 docker
-rw-r--r-- 1 root root    0 Jun 13 16:24 gj.txt
drwx------ 2 root root 4096 Jun 13 16:41 gongj
drwxr-xr-x 2 root root 4096 Jun 13 14:48 test1
[root@root home]# cd gongj/
[root@root gongj]# ll
total 0
-rw-rw-r-- 1 root root 0 Jun 13 16:39 gj123.txt

可能看到gongj的属主和gj123.txt的属主已经改为了root。
再次将gongj的属主和属组修改为gongj

[root@root home]# chown -R gongj:gongj gongj
[root@root home]# ll
total 16
drwxr-xr-x 2 root  root  4096 Jun 13 15:46 dev
drwxr-xr-x 2 root  root  4096 Mar  7 13:36 docker
-rw-r--r-- 1 root  root     0 Jun 13 16:24 gj.txt
drwx------ 2 gongj gongj 4096 Jun 13 16:41 gongj
drwxr-xr-x 2 root  root  4096 Jun 13 14:48 test1

在创建一个用户yuanj

useradd yuanj
[root@root home]# ll
total 20
drwxr-xr-x 2 root  root  4096 Jun 13 15:46 dev
drwxr-xr-x 2 root  root  4096 Mar  7 13:36 docker
-rw-r--r-- 1 root  root     0 Jun 13 16:24 gj.txt
drwx------ 2 gongj gongj 4096 Jun 13 16:41 gongj
drwxr-xr-x 2 root  root  4096 Jun 13 14:48 test1
drwx------ 2 yuanj yuanj 4096 Jun 13 17:23 yuanj
#登录yuanj用户
[yuanj@root home]$ cd gongj/
-bash: cd: gongj/: Permission denied  # -bash:cd:gongj/:权限被拒绝

可以看到yuanj账户进入不了gongj目录,因为gongj的目录权限为
rwx------,属组和其他用户权限都没有,那我们将其他用户权限放开

chmod:更改文件9个属性

chmod [-R] xyz 文件或目录
inux文件属性有两种设置方法,一种是数字,一种是符号。
Linux文件的基本权限就有九个,分别是owner/group/others三种身份各有自己的read/write/execute权限。
各权限的分数对照表如下:

r:4 w:2 x:1
owner = rwx = 4+2+1 = 7
group = rwx = 4+2+1 = 7
others= --- = 0+0+0 = 0
再次回到我们这个案例,我们需要将其他用户权限打开
切换到root用户

[root@root home]# chmod -R 707 gongj
[root@root home]# ll
total 20
drwxr-xr-x 2 root  root  4096 Jun 13 15:46 dev
drwxr-xr-x 2 root  root  4096 Mar  7 13:36 docker
-rw-r--r-- 1 root  root     0 Jun 13 16:24 gj.txt
drwx---rwx 2 gongj gongj 4096 Jun 13 16:41 gongj
drwxr-xr-x 2 root  root  4096 Jun 13 14:48 test1
drwx------ 2 yuanj yuanj 4096 Jun 13 17:23 yuanj

切换到yaunj用户

[yuanj@root home]$ cd gongj/
[yuanj@root gongj]$ ll
total 0
-rw-rw-r-- 1 gongj gongj 0 Jun 13 16:39 gj123.txt
[yuanj@root gongj]$ vim gj123.txt 

gongj账户下的目录和文件yaunj账户都能进行操作了。
至于去切换属主和属组这种还是用的少的。

相关文章

  • Liunx:文件属性

    Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux系...

  • 2019-07-18

    day15 系统文件属性 课程介绍 1.文件属性中有什么2.文件属性文件类型 解锁很多命令3. 文件属性文件权限...

  • linux 查漏补缺 2

    Linux 下软件安装相关 2.1 文件属性和可执行属性 2.1.1 文件属性 文件属性 rwx 中 r 表示 r...

  • ImportError: libSM.so.6: cannot

    Liunx终端

  • 文件的属性、软硬链接、命令执行流程

    一 、 文件属性 ll -h 查看文件属性 ls -l [root@ZhaoJianHao-1 ~]# llto...

  • 【一俢哥的 Liunx 学习笔记】内功心法 Shell

    Shell 可谓是 Liunx 的内功心法,掌握好 Shell 脚本,你可以在 Liunx 的世界中呼风唤雨,它能...

  • Linx--常用命令第三篇

    一.常用命令 - find 根据文件属性进行搜索 语法: find 路径 文件属性 例如: find ....

  • Oracle启动过程及常见错误

    Liunx下oracle安装完成后,就开始配置oracle环境。 1、配置oracle环境变量 Liunx环境...

  • 2019-07-19

    day16 文件属性相关知识 A.昨日回顾: 1.文件属性组成部分:8个部分 文件类型2.文件属性类型:(文本文件...

  • Linux-03

    一、常用命令 - find 根据文件属性进行搜索 语法: find 路径 文件属性 例如: find . -nam...

网友评论

      本文标题:Liunx:文件属性

      本文链接:https://www.haomeiwen.com/subject/pmaatktx.html