linux权限入门

[b]文件拥有者[/b]

每个文件(或者目录)从属于一个文件拥有者(一般是一个用户名)和一个用户组。文件拥有者一般来说就是生成(或者拷贝)这个文件的用户。用户组经常包含一个用户---文件拥有者。用户组通过常有一个名字来标识该用户,但是也不是必须的。一个文件只能被文件拥有者删除,或者是文件所属的用户组里的其他用户,或者是root用户。对于其他用户,如果被赋于适当的权限,也有可能修改或者删除该文件。文件所属的用户组可以通过命令ls -l (长文件名显示格式)来显示:

ls -l 1.txt
屏幕显示如下:
-rwxr--r-- 1 hero hero 240 08-12 01:28 1.txt
该文件属于拥有者hero 和 用户组 hero

文件的从属可以通过命令chown (修改文件拥有者)和 chgrp (修改用户组 ),一般来说需要 root 用户:

chown zhang3 1.txt
chgrp zhang3 1.txt
ls -l 1.txt

(注:用户zhang3与用户组zhang3 为系统真实存在的,否则执行以上三条命令会显示无效的用户或无效的用户组等信息。以普通用户登陆的时候,命令前加上sudo 让他拥有root 的权限。)
附:让普通用户有sudo权限:
修改/etc/sudoers 文件配置 ----> vi /etc/sudoers
找到root那一行,然后copy一份
就是这:root ALL=(ALL) ALL -->
(o)另起一行, ( p) username ALL =(ALL) ALL
:wq 保存退出。

执行以上三条命令后,命令ls -l 1.txt 输出以下内容:
-rwxr--r-- 1 zhang3 zhang3 240 08-12 01:28 1.txt

当你以root 用户身份为其他用户删除或者拷贝文件时,修改文件的从属可能是经常要做的事情,在做完文件的整理工作后,把文件的拥有者改成对应的用户。

[b]文件的权限[/b]

文件的拥有者可以把文件的访问属性设成三种不同的模式:读(r),写(w)和运行(x)及三个不同的用户级:文件拥有者(u),所属的用户组(g),系统里的其他用户(o)。你可以检查当前的文件访问权限:

ls -l filename

如果文件对于三种不同的用户都提供三种文件访问模式,输出结果看起来应该是:

-rwxrwxrwx

跳过第一个字符“-” 第一个三位字符组表示对于文件拥有者对该文件的权限,第二个三位字符组表示文件用户组对该文件的权限,第三个三位字符组表示系统其他用户对该文件的权限。如果没有权限,一般显示“-” 字符。

对于第一个字符“-”表示普通文件,“d” 表示目录文件,“l” 表示链接文件,“c” 表示字符设备,“b” 表示块设备," p" 表示命名管道比如FIFO文件(First In First Out ,先进选出),“ f " 表示堆栈文件比如LIFO (Last In Fist Out ,后进先出)。

您可以用chmod 命令来修改属于您的文件的访问权限。

例一,想把文件1.txt 给所有用户增加”只读权限“,可以这样:

chmod a+r 1.txt

上面这条命令,除了用”a“表示所有用户(all),我们还可以用”u“表示用户(user),”g“表示用户组(group),”o“表示其他用户(other users)。除了加号”+“ 增加权限,我们还可以使用头号”-“删除权限,等于号”=“设置权限。除了”r“ 表示只读权限(read),我们还可以用”w“表示写权限(write ),”x"表示执行权限(execute)。

例二:删除其他用户对1.txt 文件的执行权限。

chmod o-x 1.txt

除了字符(rwx),也可以使用数字来设置权限。

execute = 1 write = 2 read = 4
拥有相应的权限就是把这三个数字相加,如,让文件能读能写能执行的权限对应的数字就是4+2+1=7

下面对于指定的三种不同用户级别总结如下:

0 = 没有任何权限 (不能读,不能写,不能执行) (常见)
1 = 只能执行 (看起来不太正常)
2 = 只能写 (看起来不太正常)
3 = 只能写和执行 (看起来不太正常)
4 = 只读 (常见)
6 = 只读和执行 (常见)
7 = 读,写和执行 (常见)


例 : chmod 770 1.txt
将给文件拥有者和所属用户组所有权限(读,写和执行),而对于其他用户没用任何权限。

chmod 666 1.txt
将给所有用户(文件拥有者,所属用户组,其他用户)读写权限,但是没有执行权限。请注意这个666权限设置会经常用到,有人认为这是整个Linux (或其他Unix里)的精髓所在。

chmod 411 1.txt
将给文件拥有者以只读权限,对于所属用户组和其他用户只有执行权限。这个看起来好像没什么实际用处……

文件访问权限的数字表示法叫做“八位组” 因为是基于八进制的(我们日常计数系统是基于十进制)。八进制有八个数值从0到7,最大数字是7。对应的,十进制有十个数字,从0到9,最大数字是9。八进制表示法对于二进制的文件权限表示法的确非常方便,每一个标志都可以通过设置成0或者1来表示“允许”或者“不允许”,如下面的例子:

用户级别 文件拥有者 用户组 其他用户
权限设置例子 rwx rw- r--
缺省权限 --- --x -wx
权限的二进制表示法 111 110 100
权限的八进制表示法 7 6 4


目录权限

目录的访问权限和一般文件的访问权限是不同的。
对于一般文件:

r = 允许读文件内容
w = 允许修改文件内容
x = 允许执行该文件

对于目录而言:

r = 允许列出该目录下的文件和子目录
w = 允许生成和删除该目录下的文件
x = 允许访问该目录

至此,再碰上权限不够的信息,应该能理解与应对了 :)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值