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

【Linux学习笔记十一】linux文件和目录属性管理

2013-04-27 11:13 627 查看
与windows不同,linux不通过扩展名来确定文件类型,可通过文件名颜色或者文件属性来查看文件类型。文件名颜色,属性对应位与类型对应表:

文件名颜色文件属性对应位文件类型
黑色-普通文件
蓝色d目录
浅蓝色l链接
绿色-脚本
红色-压缩文件
黄色(黑底)c字符设备文件
黄色(黑底)b块设备文件
浅黄色(黑底)p管道文件
粉色s套接字文件
Linux的目录结构呈树状,使用tree命令可以直观显示出当前目录结构。
[stone@localhost ~]$ tree file1/file1/|-- f1`-- f20 directories, 2 files
#file1目录下面有2个文件,没有目录。
使用file命令查看文件类型[root@localhost ~]# file f1 f1_s hello man.ls.gz oggf1:ASCII textf1_s:symbolic link to `f1'hello:ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), for GNU/Linux 2.6.9, not strippedman.ls.gz: gzip compressed data, was "man.ls", from Unix, last modified: Thu Nov 29 19:59:36 2012ogg:directory

在Linux系统中,为系统中的每一个文件或目录都赋予了两种属性:访问权限和文件所有者,简称为“权限”和“归属”,Linux系统根据文件或目录的归属、访问权限来对用户访问数据的过程进行控制。root用户是系统的超级用户,拥有完全的管理权限,因此文件、目录的权限限制对root用户将不起作用。

访问权限: 读取:允许查看文件内容、显示目录列表
写入:允许修改文件内容,允许在目录中新建、移动、删除文件或者子目录
可执行:允许运行程序、切换目录
归属(所有权): 属主(拥有该文件的用户账号):拥有该文件或目录的用户帐号 属组(拥有该文件的组账号):拥有该文件或目录的组帐号一、 查看文件/目录的权限和归属

第一部分-:文件类别,“-”代表普通文件,“d”代表目录,“l”代表符号链接,“c”代表字符设备,“b”代表块设备第一部分rw-:文件的属主(user)对该文件的访问权限第一部分r--:表示该文件的属组内各成员用户(group)对该文件的访问权限第一部分r--:表示其他任何用户(other)对该文件的访问权限第二部分1:该文件的链接数或子目录个数第三部分root:文件所有者第四部分root:文件所属组第五部分34298:文件大小(单位为字节B)第六、七部分(04-02 00:23):文件创建或修改时间第八部分install.log:文件名二、 设置文件/目录的权限在表示访问权限时,主要使用了三种不同的权限字符:r、w、x,分别表示可读、可写、可执行。若用户在访问文件或目录时不具备相应的权限,系统将会拒绝执行。

例如:
[root@localhost ~]# ls -l /etc/shadow
----------. 1 root root 1320 11月 5 00:11 /etc/shadow
这个文件除了root用户之外,任何其他用户都没有权限(虽然看起来root用户也没有任何权限,但root用户 不受权限制约)。
[root@localhost ~]# su – super #切换到普通用户super
[super@localhost ~]$ cat /etc/shadow #查看shadow文件内容
cat: /etc/shadow: 权限不够 #提示没有权限三种权限之间等级关系:
属主权限>=属组权限>=其他用户权限例:用户user将只具有读取权限,而不是sales组的读写权限。
-r--rw-r-x 1 user sales 2887 Sep 7 12:06 TEST
文件的默认权限:
若用户建立文件时,默认没有可执行(x)的权限,即只有rw这两个权限(-rw-rw-r-- 664)
若用户建立的“目录”,由于x与是否可以进入此目录有关,因此默认为所有权限都开放,即777(drwxrwxrwx)权限设置命令1:chmod命令格式:chmod [ugoa] [+-=] [rwx] 文件或者目录说明: u :表示该档案的拥有者
g: 表示与该档案的拥有者属于同一个群体(group)者
o: 表示其他以外的人
a: 表示这三者皆是。
+: 表示增加权限
-: 表示取消权限
=: 表示唯一设定权限。
r: 表示可读取,数字表示为4
w: 表示可写入,数字表示为2
x: 表示可执行,数字表示为1
X: 表示只有当该档案是个子目录或者该档案已经被设定过为可执行范例: 将档案 file1.txt 与 file2.txt 设为该档案拥有者,与其所属同一个群体者可读取、写入、执行,但其他以外的人则只能读取、执行
chmod ug=rwx,o=r file1.txt file2.txtchmod 774 file1.txt file2.txt
chmod a+r,u+w,u+x,g+w,g+x file3.txt
权限设置命令2:Setfacl getfacl功能:
Setfacl:设置某个文件/目录的ACL设置项目 getfacl:取得某个文件/目录的ACL设置项目参数: -m:设置后续acl参数 -x:删除后续acl参数 -b:删除全部的acl参数 -k:删除默认的acl参数 -R:递归设置acl,包括子目录 -d:设置默认acl范例: 文件file1的权限为rwxr-x---,test用户不属于root组,现在欲使test用户对file1有rw权限 [root@localhost test]# ls –l
-rwxr-x---. 1 root root 49384 11月 5 04:46 file1 [root@localhost test]#setfacl -m u:test:rw file1 #设置test对file1的rw权限 [root@localhost test]#getfacl /file1 #查看file1的ACL权限 getfacl: Removing leading '/' from absolute path names
# file: file1
# owner: root
# group: root
user::rwx
user:test:rw- #可以看到test单独的权限为r--
group::r-x
mask::rwx
other::--- [root@localhost test]#setfacl -x u:test:rw file1 #取消test对file1的rw权限 三、 设置文件/目录的归属命令:chown功能:修改文件或目录的属主、属组格式: chown 属主 文件或者目录
chown :属组 文件或者目录
chown 属主:属组 文件或者目录参数:-v : 显示拥有者变更的详细资料
-R : 对目前目录下的所有档案与子目录进行相同的拥有者变更(即以递回的方式逐个变更)范例: 将mymkdir文件的属主更改为mike用户,更改后,mike将具有rwx的权限。
[root@localhost test]# chown mike mymkdir
[root@localhost test]# ll
-rwxr-xr-x. 1 mike root 49384 11月 5 04:46 mymkdir
将mymkdir文件的属组更改为wheel组,更改后,wheel组的成员用户将具有r-x权限。
[root@localhost test]# chown :wheel mymkdir
[root@localhost test]# ll
-rwxr-xr-x. 1 mike wheel 49384 11月 5 04:46 mymkdir
同时将mymkdir文件的属主更改为root用户,属组更改为daemon组。
[root@localhost test]# chown root:daemon mymkdir
[root@localhost test]# ll
-rwxr-xr-x. 1 root daemon 49384 11月 5 04:46 mymkdir
将“/var/www”目录中的所有子目录、文件的属主更改为root用户。
[root@localhost ~]# chown -R root /var/www

本文出自 “水滴石穿” 博客,请务必保留此出处http://pengyl.blog.51cto.com/5591604/1188139
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: