Linux目录和文件权限问题,linux文件及目录权限问题(试验)

linux文件及目录权限问题(试验)

发布时间:2010-01-08 13:27:03来源:红联作者:xiadao_81

[i=s] 本帖最后由 xiadao_81 于 2010-1-8 13:28 编辑 [/i]

学linux文件及目录权限问题是很重要的一课,今天在看一个贴子:

http://www.linuxdiyf.com/bbs/viewthread.php?tid=121577&highlight=%CE%C4%BC%FE%C8%A8%CF%DE

看完后,引申并试验了下!把步骤和心得详细写了下来,若有错误,欢迎大家批评指正!共同学习!

原文:

如有个exmple.txt文件,此文件的拥有者music,组是music,位置在music/contrib/exmple.txt下,此文件的权限是-rw-rw-r--, /music目录权限drwxr-xr-x,music/contrib/目录权限是drwxrwxrwx,请问是所有用户都能删除exmple.txt文件吗?还是只有musiic用户和music组成员才能删除exmple.txt文件呢?请指教!谢谢各位

首先,我觉得这原文有些不严谨,exmple.txt到底是在(1)/home/music/contrib/下,还是在(2)/music/contrib下?还有目录归属等问题。所以说linux的权限真的很严谨!我们分两种看:

第一种:

先按(1)来看:exmple.txt文件的拥有者music,组是music,那么music就是一个用户了。如果用户music创建此文件,一般情况下是在自己的家目录下。即/home/music/contrib/exmaple.txt,而此情况下/home目录是755权限,/home/music则是600权限,/home/music/contrib是775权限,/home/music/contrib/exmaple.txt是664权限。正常默认下:自己的家目录除了自己、root或者给了权限的用户才能访问。

即:

drwxr-xr-x 7 root root 4096 01-07 13:33 home /home

drwx------ 3 music music 4096 01-07 13:33 music /home/music

drwxrwxr-x 2 music music 4096 01-07 13:48 contrib /home/music/contrib

-rw-rw-r-- 1 music music 11 01-07 13:48 exmple.txt /home/music/contrib/exmple.txt

按楼主的意思,是作了权限修改的。于是修改如下:/home/music目录权限是drwxr-xr-x(755),music/contrib/目录权限是drwxrwxrwx(777),文件权限不变,仍然是664。

即:

drwxr-xr-x 7 root root 4096 01-07 13:33 home /home

drwxr-xr-x 4 music music 4096 01-07 13:48 music /home/music

drwxrwxrwx 2 music music 4096 01-07 13:48 contrib /home/music/contrib

-rw-rw-r-- 1 music music 11 01-07 13:48 exmple.txt /home/music/contrib/exmple.txt

OK,现在我们确认权限没错后,按楼主要求进行测试:问题1:请问是所有用户都能删除exmple.txt文件吗?问题2:还是只有musiic用户和music组成员才能删除exmple.txt文件呢?

问题1:

1.测试前,我们先作一分文件的备份:

-rw-rw-r-- 1 music music 11 01-08 10:43 exmple.bak (备份)

-rw-rw-r-- 1 music music 11 01-07 13:48 exmple.txt (原文件)

2.我们换个用户us1,进入该目录。

[us1@localhost contrib]$ ll

总计 16

-rw-rw-r-- 1 music music 11 01-08 10:43 exmple.bak

-rw-rw-r-- 1 music music 11 01-07 13:48 exmple.txt

先看看可不可以读:

[us1@localhost contrib]$ cat exmple.txt

exmple.txt

OK,可以看到内容,文件内容就是exmple.txt

3.再看看可不可以编辑:

[us1@localhost contrib]$ vi exmple.txt

当我切换到插入状态时,提示:

-- 插入 -- W10: 警告: 正在修改一个只读文件

我没理它,继续写操作,增加了两行文件,而且最后:wq!保存退出,OK。

再看一下文件:

[us1@localhost contrib]$ ll

总计 16

-rw-rw-r-- 1 music music 11 01-08 10:43 exmple.bak

-rw-rw-r-- 1 us1 us1 29 01-08 10:52 exmple.txt

注意到了没有,文件exmple.txt的所有者变了,变成了us1。

4.再看一下内容保存到了没有:

[us1@localhost contrib]$ cat exmple.txt

exmple.txt

aaaaaaaa

bbbbbbbb

注意到了没有,我增加的两行保存成功了。其实上两步中文件保存、文件的所有者变了,已证明文件是添加成功的。也就是说在这种权限下,任何用户都可以无视文件是否谁所有,是否是只读,修改当然可以。很恐怖吧。

再试一下删除吧!我想应该100%可以

[us1@localhost contrib]$ rm exmple.txt

[us1@localhost contrib]$ ll

总计 8

-rw-rw-r-- 1 music music 11 01-08 10:43 exmple.bak

看到了吧,没有任何提示就删除了!按道理我这里没加参数-f 是会提示的,不知为什么没有提示?

问题2:

1.此问有两点,1是说文件所有者能否删除,那是毋庸至疑的。2是说文件所有者的组成员。于是我又新建了用户us2,并加入了music组。

2.查看us2是不是加入了music组

[root@localhost home]# usermod -G music us2

[root@localhost home]# groups us2

us2 : us2 music

[root@localhost home]# groups us1

us1 : us1

[root@localhost home]#

3.我们再重复问题1中的几步,注意,由于问题1中我们删除了原文件,我们必须用原music用户把备份的那个文件再生成一个,这样文件的所有者才不会变。当然也可以直接操作备份文件。

我是直接操作的备份文件。就不一一例举了。结果是:

文件可以查看,也可以修改,修改时不再提示文件是只读问题了。而且保存后,文件所有者也未变。

结论一:

情况:exmple.txt是在(1)/home/music/contrib/下,/home/music目录权限是drwxr-xr-x(755),/home/music/contrib/目录权限是drwxrwxrwx(777),文件exmple.txt权限是664。

结论:此情况下,任何用户(当然包括文件所有者和组成员)都可以查看文件内容、无视文件所有者权限、可以修改文件内容并保存,保存后直接更改文件所有者,可以随意删除文件无任何提示!组成员作修改时不会改变文件所有者!

第二种:

再来看(2)exmple.txt是在/music/contrib下!也就是说exmple.txt文件的拥有者music,组是music,music仍是一个用户。但是文件exmple.txt不是在/home/music/contrib下,而是直接在/music/contrib下。这种情况下,普通用户music是不能直接在/下用命令建目录创文件等,必须由root授权。或者由root建再chown -R music.music music,注意参数-R就是使其子目录及子目录下的文件所有者和组都一起改变。我就不详细记录了。大家以为呢?可以试试看:

结论二:

情况:exmple.txt是在(1)/music/contrib/下,/music目录权限是drwxr-xr-x(755),/music/contrib/目录权限是drwxrwxrwx(777),文件exmple.txt权限是664。

结论:留着大家跟贴讨论吧!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值