LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1134|回复: 2

如果我系管理员,请问如何为某个用户指定对某个文件的权限

[复制链接]
发表于 2005-3-2 01:10:11 | 显示全部楼层 |阅读模式
如题,请大家指导下
发表于 2005-3-2 02:48:43 | 显示全部楼层
请搜索“权限”以获得更多的提示。
在linux下,一般而言一个文件的权限分为“属主用户”、“文件所在组”和“其他用户”三个方面。使用chmod命令来修改权限,使用chown来修改文件的属主和所在组。
回复 支持 反对

使用道具 举报

发表于 2005-3-2 09:40:25 | 显示全部楼层
东西并不是很容易,感觉越是基本的越是枯燥,没办法!要想学好,必须要先打好基础!努力 吧!

16、所有者和许可
在前面提过使用“cd /root”必须具有根用户的权限,这涉及到文件许可权的问题,Linux是一个多用户操作系统,使用文件许可是它防止恶意破坏的方法之一。
   所谓许可权,就是规定谁可以使用哪个文件或目录以及使用的权限。通常将它分为以下3种。
1、读许可权  表明充许阅读某个文件或目录,例如通过cat 或是文本编辑程序阅读具有读许可权的文件的内容,也可以拷贝这类文件,或列出具有读许可权的目录。
2.、写许可权  允许修改一个文件,需要注意的是可以修改一个文件的权限,并不意味着一定可以删除该文件或对该文件重新命名,只有对该文件所在的目录有写许可权时才行。当对一个目录有写许可权后,就可在该目录中建立一新的文件,或者删除,或者重新命名目录中的文件。
3、执行许可权  表明允许执行该文件,对文件而言,拥有此权者就可以执行该文件,一般地,该文件要么是二进制程序 ,要么是shell程序,如果该文件不是一个可执行的文件,执行许可权的授权实际上就没有意义的,以目录而言,拥有目录的执行许可权,即是允许打开该目录中的文件,并且可用cd命令进入目录。
许可权是与用户、组的概念联合使用的,所以有必要先了解用户的分类;
1、所有者  通常是指建立文件或目录的用户
2、小组  为便于管理,把若干相互有关系 的用户组成一个小组,对小组进行操作。
3、系统管理员 是整个系统的维护和组织者,它可对所有文件拥有全部权限
4、其它用户  凡不是本组内的用户均属于其它用户
假设在工作目录下已经创建了hello.txt文件。在提示符下输入:
#ls -l hello.txt
其输出结果类似于:
-rw-rw-r--    1 buptee buptee  150 Mar 17   2003  hello.txt
输出信息中,第一栏的r、w和x表示文件的许可权,仔细分析一下“-rw-rw-r-- ”.如果查看的是文件,则输出这行信息中的第一个字符是连字符“-”,如果是符号连接,则第一个字符是1。如果是目录,则第一个字符是d。在该例中,第一个字符是连字符,说明所列出者是一个文件,后续的9个字符表示 文件的许可权,分别为三部分,第一字rwx(2--4个字符)表示文件属主的访问权限,第二个rwx(第5--7个字符)表示文件同组用户的访问权限,第三个rwx(第8--10个字符)表示其他用户的访问权限,若某种许可权被 限制,则相应的字母换为“-”,如上例中,文件属主、同组用户的权限均为rw-,表示他们对文件有读和写的权限,而无可执行的权限,而其他用户权有读的权限。
许可权也可以用3位数字编码的形式来表示,有时称它们为绝对许可权限表示。第一位是所有者许可权,第二位是小组的许可权,第三位是其他用户的许可权,每位是0--7的数字
数字              二进制数的表示           对应的权限表示 形式             权限含义
0                   000                              ---                                  没有任何权限
1                   001                              --x                                  可执行
2                   010                              -w-                                 可写
3                   011                              -wx                                 可写和可执行
4                   100                              r--                                   可读
5                   101                              r-x                                   可读和可执行
6                   110                              rw-                                  可读和可写
为便于对表的理解,可以把每位表示许可权的数字看作是3位二进制数,110是用二进制数表示的6。因此,如果许可权是6,其二进制数为110,正好表示具有读和写,而没有执行的权限。
17、改变许可权限
一个文件的所有者或根用户可以用改变模式的chomd命令来重新设置文件的许可权。
在前面的例子中,hello.txt的许可权的分配情况是这样的。
-rw-rw-r--  1 buptee     buptee     150 Mar 17      2003 hello.txt
其它用户没有写权限,现在想赋予其他用户这种许可。使用如下命令行:
#chmod o+w hello.txt
1、修改对象  用u表示用户,即文件的所有者,用g表示小组,用o表示其他用户。
2、许可权充许表示  +表示增加该项文件许可,-表示去掉该项许可,=表示只赋予该项许可。
3、许可权的类型  r表示读,w表示写,x表示执行
所以上面输入的命令的意思就是给其他用户增加对文件hello.txt的写许可,又如,除所有者之外,要去掉任何人写hello.txt的权限,则相应的命令为:
#chmod og -w hello.txt
当然,chmod命令中也可以使用绝对许可权即二进制数的形式来表示。例如充许所有者和相关的小组具有读和修改文件权限时,输入命令
#chmod 660 hello.txt

由上述命令行可知,将所有者和小组的许可权分别设置成6,对应的二进制数据为110,即说明它们分别具有读和写的权限,而其他用户的许可权设置成0,对应二进制数据为000,即表明不能做任何事情。
可以用改变文件许可同样的方式来改变目录的许可权,例如输入命令:
#chmod go-w /home/guest
该命令表示guest目录中所有文件除所有者外其余用户都无写的权限。
18、改变文件或目录的所有者
可以用chown命令改变文件所有者(在BSD中,只有超级用户才能改变文件的所有者)。改变所有者时,必须告诉命令chown,文件的新所有者经及要改变的文件名,例如
#chown zhou file
上述命令将file文件所有者改变为zhou。改变文件所有者的另一种方式是建立文件的一个拷贝,如果你拷贝了一个文件,那么你就可以成为该文件的所有者。
改变目录的所有者的命令与改变文件的所有者的命令类似,如
#chown zhou /home/guest
上述命令将/home/guest目录所有者改变为zhou,当用户将文件或目录的所有者改成别人后,自己便再也不能将所有权改回来了,除非新的所有者愿意将所有权再改回给原来文件所有者。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表