Linux文件基本属性
在Linux中我们可以使用ll或者ls –l命令来显示一个文件的属性以及文件所属的用户和组:[root@www ~]# ls -l
total 60
lrwxrwxrwx. 1 root root 7 May 11 2019 bin -> usr/bin
dr-xr-xr-x. 5 root root 4096 Jun 15 18:27 boot
drwxr-xr-x. 19 root root 2980 Jun 27 00:35 dev
drwxr-xr-x. 97 root root 4096 Jun 27 00:35 etc
drwxr-xr-x. 2 root root 4096 May 11 2019 home
lrwxrwxrwx. 1 root root 7 May 11 2019 lib -> usr/lib
lrwxrwxrwx. 1 root root 9 May 11 2019 lib64 -> usr/lib64
drwx------. 2 root root 16384 Jun 15 18:19 lost+found
drwxr-xr-x. 2 root root 4096 May 11 2019 media
drwxr-xr-x. 2 root root 4096 May 11 2019 mnt
drwxr-xr-x. 3 root root 4096 Jun 27 00:35 opt
dr-xr-xr-x. 98 root root 0 Jun 27 00:34 proc
dr-xr-x---. 2 root root 4096 Jun 15 18:28 root
drwxr-xr-x. 33 root root 960 Jun 27 00:35 run
lrwxrwxrwx. 1 root root 8 May 11 2019 sbin -> usr/sbin
drwxr-xr-x. 2 root root 4096 May 11 2019 srv
dr-xr-xr-x. 13 root root 0 Jun 27 00:34 sys
drwxrwxrwt. 3 root root 4096 Jun 27 01:45 tmp
drwxr-xr-x. 12 root root 4096 Jun 15 18:20 usr
drwxr-xr-x. 21 root root 4096 Jun 15 18:27 var
bin文件的第一个属性用d表示。d在Linux中代表该文件是一个目录文件。在Linux中第一个字符代表这个文件是目录、文件或链接文件:
- 【d】:目录
- 【-】:文件
- 【l】:链接文档(link file)
- 【b】:装置文件里面的可供存储的接口设备(可随机存取装置)
- 【c】:装置文件里面的单行端口设备,列如键盘、鼠标(一次性读取装置)
接下来的字符中,三个为一组,且均为【rwx】三个参数的组合。其中,【r】代表可读(read)、【w】代表可行(write)、【x】代表可执行(execute)。三个权限的位置不会改变,如果没有权限,就会出现减号【-】。每个文件的属性由左边第一部分的10个字符确定:

从左到右用0-9的数字表示:
- 第0位:文件类型
- 第1-3位:属主(该文件的所有者)拥有该文件的权限
- 第4-6位:属组(所有者的同组用户)拥有该文件的权限
- 第7-9位:其他用户拥有该文件的权限
Linux文件属主和属组
对于文件来说,它都有一个特定的所有者,也就是对该文件具有所有权的用户。在Linux系统中,用户是按组分类的,一个用户属于一个或多个组。文件者以外的用户又可以分为文件所有者的同组用户和其他用户。因此,Linux系统按文件所有者、文件所有者同组用户和其他用户来规定了不同的文件访问权限。
ls -l
total 64
drwxr-xr-x 2 root root 4096 Feb 15 14:46 cron
drwxr-xr-x 3 mysql mysql 4096 Apr 21 2014 mysql
上面的代码中,mysql 文件是一个目录文件,属主和属组都为 mysql,属主有可读、可写、可执行的权限;与属主同组的其他用户有可读和可执行的权限;其他用户也有可读和可执行的权限。
对于 root 用户来说,一般情况下,文件的权限对其不起作用。、更改文件属性
1、chgrp:更改文件属组chgrp [-R] 属组名 文件名
-R:递归更改文件属组,就是在更改某个目录文件的属组时,如果加上-R的参数,那么该目录下的所有文件的属组都会更改
2、chown:更改文件属主,也可以同时更改文件属组chown [–R] 属主名 文件名
chown [-R] 属主名:属组名 文件名
3、chmod:更改文件9个属性Linux文件属性有两种设置方法,一种是数字,一种是符号。Linux文件的基本权限就有九个,分别是owner/group/others三种身份各有自己的read/write/execute权限。
文件的权限字符为:『-rwxrwxrwx』, 这九个权限是三个三个一组的!其中,我们可以使用数字来代表各个权限,各权限的分数对照表如下:r:4
w:2
x:1
每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的,例如当权限为: [-rwxrwx—] 分数则是:
owner = rwx = 4+2+1 = 7
group = rwx = 4+2+1 = 7
others= --- = 0+0+0 = 0
我们设定权限的变更时,该文件的权限数字就是770啦!变更权限的指令chmod的语法是这样的:
chmod [-R] xyz 文件或目录
xyz : 就是刚刚提到的数字类型的权限属性,为 rwx 属性数值的相加。
-R : 进行递归(recursive)的持续变更,亦即连同次目录下的所有文件都会变更
如果要将.bashrc这个文件所有的权限都设定启用,那么命令如下:
[root@www ~]# ls -al #不忽视.开头的
total 16
drwxr-xr-x 3 www www 4096 Jun 27 13:25 .
drwxr-xr-x 4 www www 4096 Jun 27 10:51 ..
-rw-r--r-- 1 root root 51 Jun 27 10:52 .user.ini
drwxrwxr-x 12 www www 4096 Jun 27 13:40 仿B站
[root@www ~]# chomd 777 仿B站
[root@www ~]# ls -al
drwxrwxrwx 12 www www 4096 Jun 27 13:40 仿B站
如果要将权限变成 drwxr-xr– 呢?那么权限的分数就成为 [4+2+1][4+0+1][4+0+0]=754。可以自行修改符号类型改变文件权限
还有一个改变权限的方法,从之前的介绍中我们可以发现,基本上就九个权限分别是:- user
- group
- others
chmod | u g o a | +(加入) -(除去) =(设定) | r w x | 文件或目录 |
[root@www ~]# touch test1 // 创建 test1 文件
[root@www ~]# ls -al test1 // 查看 test1 默认权限
-rw-r--r-- 1 root root 0 Nov 15 10:32 test1
[root@www ~]# chmod u=rwx,g=rx,o=r test1 // 修改 test1 权限
[root@www ~]# ls -al test1
-rwxr-xr-- 1 root root 0 Nov 15 10:32 test1
而如果是要将权限去掉而不改变其他已存在的权限呢?例如要拿掉全部人的可执行权限,则:[root@www ~]# chmod a-x test1
[root@www ~]# ls -al test1
-rw-r--r-- 1 root root 0 Nov 15 10:32 test1
声明:1. 本站所有资源来源于用户上传和网络,因此不包含技术服务请大家谅解!如有侵权请邮件联系客服!
2. 本站不保证所提供下载的资源的准确性、安全性和完整性,资源仅供下载学习之用!如有链接无法下载、失效或广告,请联系客服处理!
3. 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!如用于商业或者非法用途,与本站无关,一切后果请用户自负!
2. 本站不保证所提供下载的资源的准确性、安全性和完整性,资源仅供下载学习之用!如有链接无法下载、失效或广告,请联系客服处理!
3. 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!如用于商业或者非法用途,与本站无关,一切后果请用户自负!
评论(1)
过来支持一下!