Linux/Unix学习笔记-文件及权限

本文详细介绍了在文件系统中如何管理和设置文件权限,包括读、写、执行等基本概念,并讲解了如何使用chmod和umask命令来调整文件的访问权限。
创建文件的用户和他(她)所属于的组拥有该文件。文件的属主可以设定谁具有读、写、执
行该文件的权限。当然,根用户或系统管理员可以改变任何普通用户的设置。一个文件一经
创建,就具有三种访问方式:
1) 读,可以显示该文件的内容。
2) 写,可以编辑或删除它。
3) 执行,如果该文件是一个s h e l l脚本或程序。
按照所针对的用户,文件的权限可分为三类:
1) 文件属主,创建该文件的用户。
2) 同组用户,拥有该文件的用户组中的任何用户。
3) 其他用户,即不属于拥有该文件的用户组的某一用户。

当你创建一个文件的时候,系统保存了有关该文件的全部信息,包括:
• 文件的位置。
• 文件类型。
• 文件长度。
• 哪位用户拥有该文件,哪些用户可以访问该文件。
• i节点。
• 文件的修改时间。
• 文件的权限位。
可用ls -l 命令查看
[code="java"]
# ls -l
总用量 40256
-rw-r--r-- 1 root root 12 5月 4 17:07 aaa
-rw-r--r-- 1 root root 1279 2009-09-24 anaconda-ks.cfg
-rwxr--r-- 1 root root 79 4月 23 13:00 boss_imp.sh
-rw-rw-r-- 1 app app 1880 4月 27 11:35 boss_test.sh
drwxrwxr-x 69 htt users 4096 2008-05-16 db-4.7.25
-rw-r--r-- 1 root root 13124129 2009-11-04 db-4.7.25.tar.tar
drwxrwxr-x 72 htt users 4096 2009-08-17 db-4.8.24
-rw-r--r-- 1 root root 22900528 2009-11-04 db-4.8.24.tar.tar
drwxr-xr-x 3 root root 4096 11月 11 12:02 db_data
drwxr-xr-x 2 root root 4096 2009-09-24 Desktop
……
[/code]
总用量 40256:这一行告诉我们该目录中所有文件所占的空间。
-rw-r--r--:这是该文件的权限位。如果除去最前面的横杠,这里一共是9个字符,他们
分别对应9个权限位。通过这些权限位,可以设定用户对文件的访问权限。这9个字符可以分
为三组:
rw-:文件属主权限这是前面三位
r--:同组用户权限这是中间三位
r--:其他用户权限这是最后三位
出现在r、w、x位置上的横杠表示相应的访问权限被禁止。
1 该文件硬链接的数目。
root 文件的属主。
root 文件的属主root所在的缺省组(也叫做root)。
12 用字节来表示的文件长度,记住,不是K字节!
5月 4 17:07 文件的更新时间。
aaa 文件名。

文件类型有七种,它可以从ls -l命令所列出的结果的第一位看出,这七种类型是:
d 目录。
l 符号链接(指向另一个文件)。
s 套接字文件。
b 块设备文件。
c 字符设备文件。
p 命名管道文件。
- 普通文件,或者更准确地说,不属于以上几种类型的文件。

权限分三种:
r 读(目录的读权限位意味着可以列出其中的内容)
w 写(目录的写权限位意味着可以在该目录中创建文件)
x 执行(目录的执行权限位则意味着搜索和访问该目录)

chmod命令修改权限
chmod命令的一般格式为:
chmod [who] operator [permission] filename
who的含义是:
u 文件属主权限。
g 同组用户权限。
o 其他用户权限。
a 所有用户(文件属主、同组用户及其他用户)。
operator的含义:
+ 增加权限。
- 取消权限。
= 设定权限。
permission的含义:
r 读权限。
w 写权限。
x 执行权限。
s 文件属主和组set-ID。
t 粘性位*。
l 给文件加锁,使其他用户无法访问。
u,g,o 针对文件属主、同组用户及其他用户的操作。
[quote]*在列文件或目录时,有时会遇到“ t”位。“t”代表了粘性位。如果在一个目录上出现
“t”位,这就意味着该目录中的文件只有其属主才可以删除,即使某个同组用户具有和属主
同等的权限。不过有的系统在这一规则上并不十分严格。
如果在文件列表时看到“ t”,那么这就意味着该脚本或程序在执行时会被放在交换区(虚
存)。不过由于当今的内存价格如此之低,大可不必理会文件的“ t”的使用。
[/quote]

chmod例子:
chmod a-x myfile rw- rw- rw- 收回所有用户的执行权限
chmod og-w myfile rw- r-- r- - 收回同组用户和其他用户的写权限
chmod g+w myfile rw- rw- r- - 赋予同组用户写权限
chmod u+x myfile rwx rw- r- - 赋予文件属主执行权限
chmod go+x myfile rwx rwx r- x 赋予同组用户和其他用户执行权限

chmod命令还有绝对模式
chmod [mode] file 其中mode是一个八进制数。
在绝对模式中,权限部分有着不同的含义。每一个权限位用一个八进制数来代表
0 4 0 0 文件属主可读 0 0 1 0 同组用户可执行
0 2 0 0 文件属主可写 0 0 0 4 其他用户可读
0 1 0 0 文件属主可执行 0 0 0 2 其他用户可写
0 0 4 0 同组用户可读 0 0 0 1 其他用户可执行
0 0 2 0 同组用户可写
1代表执行,2代表写,4代表读

命令 结果 含义
chmod 666 rw- rw- rw- 赋予所有用户读和写的权限
chmod 644 rw- r-- r-- 赋予所有文件属主读和写的权限,所有其他用户读权限
chmod 744 rwx r-- r-- 赋予文件属主读、写和执行的权限,所有其他用户读的权限
chmod 664 rw- rw- r-- 赋予文件属主和同组用户读和写的权限,其他用户读权限
chmod 700 rwx --- --- 赋予文件属主读、写和执行的权限
chmod 444 r-- r-- r-- 赋予所有用户读权限

可以通过使用- R选项连同子目录下的文件一起设置:
chmod -R 664 /home/app/test

[color=red][b]umask命令[/b][/color]
umask命令确定了你创建文件的缺省模式。这一命令实际上和chmod命令正好相反。你的系统管理员必须要为你设置一个合理的umask值,以确保你创建的文件具有所希望的缺省权限,防止其他非同组用户对你的文件具有写权限。在已经登录之后,可以按照个人的偏好使用umask命令来改变文件创建的缺省权限。相应的改变直到退出该shell或使用另外的umask命令之前一直有效。
umask命令允许你设定文件创建时的缺省模式,对应每一类用户(文件属主、同组用户、
其他用户)存在一个相应的umask值中的数字。对于文件来说,这一数字的最大值分别是6。系
统不允许你在创建一个文本文件时就赋予它执行权限,必须在创建后用chmod命令增加这一权限。目录则允许设置执行权限,这样针对目录来说, umask中各个数字最大可以到7。
命令格式:
umask nnn 其中nnn为umask置000-777

umask 文件 目录
0 6 7
1 6 6
2 4 5
3 4 4
4 2 3
5 2 2
6 0 1
7 0 0

一些常用的umask值及对应的权限:
umask值 目录 文件
022 755 644
027 750 640
002 775 664
006 771 660
007 770 660
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值