您的位置:首页 > 运维架构 > Linux

Linux文件基本属性和操作

2016-12-03 21:10 183 查看
前言

Linux系统是一个典型的多用户系统,不同的用户处于不同的地位。而为了保护系统的安全性,Linux系统对访问同一文件(夹)的不同用户的权限做了不同的规定。

查看文件属性以及所属用户、组

在linux中我们’ll’或者’ls -l’命令来显示文件的相关属性,例如以下实例:

[root@www /]# ls -l
total 64
dr-xr-xr-x   2 root root 4096 Dec 14  2012 bin
dr-xr-xr-x   4 root root 4096 Apr 19  2012 boot

//用 ll a.txt 可查看a.txt的文件属性


实例中,bin文件夹(当然,也可以是单个的文件)的属性为’dr-xr-xr-x‘,长度为10,第一个属性为‘d’,表示该文件的种类是文件夹,在linux中,文件属性第一个字符表示种类如下:

‘d’ 表示目录

‘-’ 表示文件

‘/’ 表示链接文档(link file)

‘b’表示可随机存储装置

‘c’表示串行端口设备如鼠标

接下来的9个字符,3个一组分为3组,分别表示该文件的属主(该文件的拥有着)、属组(属主的同组用户)以及其他用户所拥有的对该文件(夹)的权限。

每组3个代表不同权限的字符序列均为【r,w,x】三个参数的组合,其中r代表可读权限(read),w代表可写权限(write),x代表可执行权限(execute)。需要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号’-‘代表没有该项权限。



从左至右用0-9这些数字来表示。

第0位确定文件类型,第1-3位确定属主(该文件的所有者)拥有该文件的权限。

第4-6位确定属组(所有者的同组用户)拥有该文件的权限,第7-9位确定其他用户拥有该文件的权限。

其中,第1、4、7位表示读权限,如果用”r”字符表示,则有读权限,如果用”-“字符表示,则没有读权限。

第2、5、8位表示写权限,如果用”w”字符表示,则有写权限,如果用”-“字符表示没有写权限;第3、6、9位表示可执行权限,如果用”x”字符表示,则有执行权限,如果用”-“字符表示,则没有执行权限。

Linux文件属主和属组

1.chgrp 更改文件属组

语法:

chgrp [-R] 属组名 文件名


参数选项:

-R:递归更改文件属组,就是在更改某个目录文件的属组时,如果加上该参数,那么该目录下的所有文件的属组都会更改。

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

语法:

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


参数选项:

-R:递归,同上。

实例:进入/root目录将install.log文件的拥有者改为bin这个账号:

[root@www ~] cd ~
[root@www ~]# chown bin install.log
[root@www ~]# ls -l
-rw-r--r--  1 bin  users 68495 Jun 25 08:53 install.log


将install.log的属主和属组改回root:

[root@www ~]# chown root:root install.log
[root@www ~]# ls -l
-rw-r--r--  1 root root 68495 Jun 25 08:53 install.log


3.chmod更改文件的9个属性

Linux的文件属性有两种设置方法,一种是数字,一种是符号。

Linux的文件的基本属性有9个(前文所说的第一个代表种类的属性只要文件一旦创建就不再更改),分别是owner/group/otehers三种身份的用户所各自永拥有的read/write/excute权限。

上面说到,文件的权限字符序列为’-rwxrwxrwx’,未拥有的权限用’-‘表示,这9个权限是3个为一组的,我们用不同的数字(权)来标记三种权限:

r :数字4

w:数字2

x :数字1

每种身份(owner/group/others)的权限就可以用其三个权限的数字和来表示,例如某文件的权限属性为’-rwxr-xr–’,则每种身份的权限用数字表示为

owner:rwx=4+2+1=7

group : r-x=4+0+1=5

others : r–=4+0+0=4

所以该文件权限的数字表示为754.

语法 1:

chmod [-R] xyz 文件或目录名


选项及参数:

xyz : 分别是三种身份的权限值,例如 754;

[-R] : 递归,同上

实例:将所有身份下.bashrc文件的权限都设置为可读可写可执行

//chmod改变权限
[root@www ~]# chmod 777 .bashrc

//查看改变之后的权限
[root@www ~]# ls -al .bashrc
-rwxrwxrwx  1 root root 395 Jul  4 11:45 .bashrc


上面是用数字改变权限的方法,比较方便,接下来看一下用符号改变权限的方法.

我们用u,g,o三个字符代表owner,group,others三种身份,用a代表所有身份,可用chmod加上以上参数(多个参数之间用等号隔开)来操作某种身份或所有身份的权限。

语法2



例如,将文件a.txt的权限设置为’-rwxr-xr–’ 的命令为:

chmod u=rwx,g=rx,o=r a.txt


给文件b.txt的所有身份去除r权限:

chmod a-r b.txt


给文件c.txt的所有身份加上w权限:

chmod a+w c.txt


给文件d.txt的owner用户设置rwx权限,group用户加上写权限,others用户去除可执行权限:

chmod u=rwx,g+w,o-x d.txt


给文件e.txt的所有用户加上可执行权限:

chmod a+x e.txt


PS: 文章写的有问题的地方,欢迎指出。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux