`
Poechant
  • 浏览: 210295 次
博客专栏
Bebe66e7-3a30-3fc9-aeea-cfa3b474b591
Nginx高性能Web服务...
浏览量:23421
5738817b-23a1-3a32-86de-632d7da73b1e
Cumulus实时媒体服务...
浏览量:21352
社区版块
存档分类
最新评论

柳大的Linux讲义·基础篇(3)权限、链接与权限管理

 
阅读更多

转载请注明来自柳大的CSDN博客,原文链接:http://blog.csdn.net/poechant/article/details/7215038


1Linux的权限管理

Linux中,每个文件都有一个拥有者(owner),而由于每个用户都有一个所属的用户组,所以连带着让每个文件都有一个拥有组。所以在Linux的权限管理中,首先有对于一个文件的拥有者权限,一个文件的用户组权限,另外还有一个对于其他所有用户的权限。

drwxrwxrwx中的d表示文件夹,第一组rwx表示拥有者的权限,第二组rwx表示拥有组的权限,第三组rwx表示其他用户的权限。

如果我们从左到右分别编号为012……9,则0位上可以是“-”表示普通文件(file),“d”表示目录(directory),“l”表示链接(link)、“b”表示区块设备文件(block,比如磁盘)、“c”表示字符设备文件(character,表示一些串行数据接口设备,比如USB设备)、“s”网络接口文件(socket)、“p”表示数据传输文件(pipeFIFO)。

对于文件,“r”表示可以读取文件的内容,“w”表示可以修改文件的内容,“x”表示可以执行文件。

对于目录,“r”表示可以查看目录的内容(比如用“ls”命令查看目录内的文件),“w”表示可以修改目录的内容(比如创建、删除、更新目录内的文件),“x”表示可以进入目录。

Linux系统中,一个文件或目录是否可以被执行,与其名称是没有关系的,而取决于rwx属性,这是与Windows的区别。

另外注意通过网络(包括互联网和局域网等)传输后,文件的属性是会被改变的,这与网络传输时数据的格式转换和接口设备有关。


2、新建文件或目录的权限

1)默认权限

当在Linux系统中创建一个文件时,默认其不具有可执行权限的,而默认具有读写权限。所以文件的默认权限是666,即rw-rw-rw-

当在Linux系统中创建一个目录时,默认其是具有可执行权限的(即访问目录的权限)。所以文件的默认权限是777,即rwxrwxrwx

但是这还没完,看下面的(2)。

2)初始权限

上面说的是Linux系统对文件或目录的权限默认值,而在Linux系统中还有umask,它标示着文件或目录在创建之初时被掩盖(mask)掉哪些权限。所以如果umask022,那么创建一个新文件时,初始权限就是666-022=644了,而目录则是755.


3、链接

1)软链接和硬链接

链接分为软连接(符号链接)和硬链接。

根据上一篇文章《柳大的Linux游记·基础篇(2Linux文件系统的inode》,我们已经知道了一个目录或文件在Linux文件系统中的inodeblock存储方式。下面以例子说明。

假设目标文件名为target,其inodei0,第一个blockb0。而其所在的目录dirinodei1,相应的第一个blockb1


2)创建和删除链接的本质

硬链接

-创建:为一个目标文件target(设其inodei0,第一个blockb0。而其所在的目录dirinodei1,相应的第一个blockb1)创建一个硬连接h-link时,实际上发生的操作是,在dirb1中创建一个文件条目,该条目中指示i0这个inode

-删除:删除一个硬链接,就是修改dirb1内容,去掉该硬链接条目。

符号连接

-创建:创建一个实在的文件,为其分配一个inode,记作i2,但不分配blockinode中指示的block为目标文件的b0.

- 删除:回收该inode,修改inode bitmap


3)创建和删除链接的命令

创建:ln -s <target> <link>,其中参数s表示symbolic,这种方式产生的是软连接,又称为符号链接,相当于Windows中的快捷方式。ln <target> <link>,这种方式产生的是硬链接。两者都是与源文件保持同步的。

删除:与删除普通的文件的命令一样。


4)软连接和硬链接的区别

范围:硬链接必须与目标文件在同一个文件系统中,而软连接文件可以跨越文件系统。


5)链接文件的权限

链接文件的权限,与目标文件保持一致。



4、权限操作

1chownchange owner

作用:改变文件或目录的所有者,语法:

chown [-R] <user_name> <file_name>

chown [-R] <user_name> <directory_name>

例:

chown michael example_file

chown -R michael example_directory


2chirpchange group

作用:改变文件或目录的所有组,语法:

chgrp [-R] <group_name> <file_name>

chgrp [-R] <group_name> <directory_name>

例:

chgrp admin example_file

chirp -R admin example_directory


3chmodchange mode

作用:改变文件或目录的权限,语法:

chmod [-R] <XYZ> <file_name>

chmod [-R] <XYZ> <directory_name>

chmod [-R] <u|g|o|a><+|-|=><r|w|x>

例:

chmod 755 example_file

chmod -R 755 example_directory

chmod u=rwx,g=rx,o=r example_file

chmod u+x,g-w example_directory

chmod a-w example_file


转载请注明来自柳大的CSDN博客,原文链接:http://blog.csdn.net/poechant/article/details/7215038

-

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics