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

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

2012-03-20 00:00 447 查看
转载请注明来自“柳大的CSDN博客”,原文链接:http://blog.csdn.net/poechant/article/details/7215038

1、Linux的权限管理
在Linux中,每个文件都有一个拥有者(owner),而由于每个用户都有一个所属的用户组,所以连带着让每个文件都有一个拥有组。所以在Linux的权限管理中,首先有对于一个文件的拥有者权限,一个文件的用户组权限,另外还有一个对于其他所有用户的权限。
drwxrwxrwx中的d表示文件夹,第一组rwx表示拥有者的权限,第二组rwx表示拥有组的权限,第三组rwx表示其他用户的权限。
如果我们从左到右分别编号为0、1、2……9,则0位上可以是“-”表示普通文件(file),“d”表示目录(directory),“l”表示链接(link)、“b”表示区块设备文件(block,比如磁盘)、“c”表示字符设备文件(character,表示一些串行数据接口设备,比如USB设备)、“s”网络接口文件(socket)、“p”表示数据传输文件(pipe,FIFO)。
对于文件,“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)掉哪些权限。所以如果umask是022,那么创建一个新文件时,初始权限就是666-022=644了,而目录则是755.

3、链接
(1)软链接和硬链接
链接分为软连接(符号链接)和硬链接。
根据上一篇文章《柳大的Linux游记·基础篇(2)Linux文件系统的inode》,我们已经知道了一个目录或文件在Linux文件系统中的inode和block存储方式。下面以例子说明。
假设目标文件名为target,其inode是i0,第一个block是b0。而其所在的目录dir的inode为i1,相应的第一个block为b1。

(2)创建和删除链接的本质
硬链接
-创建:为一个目标文件target(设其inode是i0,第一个block是b0。而其所在的目录dir的inode为i1,相应的第一个block为b1)创建一个硬连接h-link时,实际上发生的操作是,在dir的b1中创建一个文件条目,该条目中指示i0这个inode。
-删除:删除一个硬链接,就是修改dir的b1内容,去掉该硬链接条目。
符号连接
-创建:创建一个实在的文件,为其分配一个inode,记作i2,但不分配block。inode中指示的block为目标文件的b0.
- 删除:回收该inode,修改inode bitmap。

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

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

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

4、权限操作
(1)chown(change owner)
作用:改变文件或目录的所有者,语法:
chown [-R] <user_name> <file_name>
chown [-R] <user_name> <directory_name>
例:
chown michael example_file
chown -R michael example_directory

(2)chirp(change group)
作用:改变文件或目录的所有组,语法:
chgrp [-R] <group_name> <file_name>
chgrp [-R] <group_name> <directory_name>
例:
chgrp admin example_file
chirp -R admin example_directory

(3)chmod(change 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
-

$(document).ready(function(){dp.SyntaxHighlighter.HighlightAll('code');});

原文链接:
http://blog.csdn.net/poechant/article/details/7215038
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: