我的日常

登录/注册
您现在的位置:论坛 盖世程序员(我猜到了开头 却没有猜到结局) 盖世程序员 > 教你如何在Linux中管理文件和文件夹的权限
总共48086条微博

动态微博

查看: 2039|回复: 0

教你如何在Linux中管理文件和文件夹的权限

[复制链接]

279

主题

41

听众

689

金钱

版主

该用户从未签到

跳转到指定楼层
楼主
发表于 2014-02-20 08:41:54 |只看该作者 |倒序浏览
对许多Linux用户来说,习惯于文件的权限和所有权可能有点难度。人们通常认为,想进入到这种使用级别,必须使用命令行。虽然总是可以获得强大得多的功能和灵活性,但是运行貌似复杂的命令并非总是必不可少。借助现有的一些用起来极其方便的桌面界面,你几乎不需要使用什么命令行,就能如愿以偿,哪怕是在管理文件权限和所有权方面。确实如此,这可能让许多新用户大吃一惊;你可以从文件管理器里面来管理文件和文件夹。但是在我们探讨图形用户界面(GUI)之前,最好对其工作机理有一个深入的了解。所以,我们先从命令行开始入手。命令行:文件权限改动文件权限和所有权的两个命令如下:
9 o9 X% ^' d$ zchmod - 更改权限( g7 b! q9 Y) i2 D! j. Q& L0 {
chown - 更改所有权' u: Q) @8 U6 a& D
上面两个命令用起来都不难。不过你要明白,只有用户是当前所有者或根用户,才能够实际更改文件的权限或所有权,这一点很重要。所以,如果你是用户Bethany,要是不借助根权限(或sudo),就无法对用户Jacob拥有的文件和文件夹进行更改。比如说:数据分区上创建了一个新的文件夹,名为/DATA/SHARE。Bethany和Jacob这两个用户都需要拥有读取和写入该文件夹的访问权限。有许多方法可以实现这一点(其中一个方法是,把两个用户加入到一个特殊的用户组――我们会在另一篇文章中探讨如何管理用户组)。如果Bethany和Jacob是系统上的唯一两个用户(而且你知道自己的网络很安全――这很重要),就可以更改该文件夹的权限,为他们授予访问权。为此,一个方法就是执行该命令。. }, }* b, j0 t- S& S( I1 s4 |
sudo chmod -R ugo+rw /DATA/SHARE ) h" t, v- j0 O" n9 y4 c6 D5 d
上面这个命令的详细分解如下:
. D. W2 }4 Z9 }& xsudo - 这用于为使用sudo的任何系统上的命令获得管理员权限(不然你就得使用'su'以获得根权限,运行不带'sudo'的上面这个命令)8 n7 t# J; x0 D# A- D
chmod - 改动权限的命令' _0 X! S  O& Z0 A% o! v. O
-R - 这改动父文件夹及其里面子对象的权限
8 B: H( C: a  m8 Z& |ugo+rw - 这为User(用户)、Group(用户组)及Other(其他对象)授予读取和写入访问权限。3 c- J7 c) p* a$ ], a
你可能也猜测到了,这个命令完全开放了SHARE文件夹的权限,那样系统上的任何人都能访问该文件夹。正如我在前面提到的那样,一种更安全的方法就是使用用户组。但我们使用这种方法仅仅是为了演示。权限的详细分解如下:( j* S. O; T- u6 _3 r- F# `& g
u - 用户
5 i& ]3 F! `0 @9 `* S2 B% q7 lg - 用户组5 }6 |  `" L( H% t% `
o - 其他对象
! c6 W& @7 }+ J, q"其他对象"这个条目是个危险的条目,因为它实际上为每个人赋予了文件夹/文件的权限。你为某文件或文件夹所能赋予的权限如下:  U+ @6 z  w! S/ W. b# V% @
r - 读取; u/ W1 X5 U/ N
w- 写入$ X7 k; A" F# _
x - 执行
$ J$ x( @& f& C  f- o使用-R这个参数选项符很重要。如果你在SHARE目录里面有许多子文件夹和文件,又希望权限从父对象(包含文件夹)应用到子对象(子文件夹和文件),就必须使用-R(递归)这个参数选项符,那样同样的权限就可以一路应用到父文件夹里面包含的最深层文件夹。命令行:文件所有权更改文件或文件夹的所有权同样很简单。假设Jacob为Bethany把一个文件夹移入到SHARE目录里面,但是Jacob仍拥有所有权。只要借助一个简单的命令,就可以更改这个所有权:
  |3 `0 Z) E* m3 ?1 L1 Isudo chown -R bethany /DATA/SHARE * g0 i1 u% O! l( t9 `- [* e
让我们详细分解这个命令。
# T2 }' k7 L( ?- Zsudo - 必须用到管理员权限,因为我们所处理的是属于另一个用户的文件夹9 ~0 o& O, h% |+ B" _
chown - 更改所有权的命令·-R - 这个递归参数选项符确保所有子对象都获得同样的所有权变更。
8 {0 }3 Q9 O3 {2 f" M4 ?bethany - 文件夹的新所有者
9 s. Z% _9 Y. N. g- P% q! I5 A/DATA/SHARE - 所要修改的目录0 l$ r' P. v7 j2 i) D
要是Bethany将文件夹发回给Jacob,就需要再次更改所有权(如果使用用户组,同样可以简化这一步)。GUI:用户权限我准备在Ubuntu 13.10系统上,使用Nautilus文件管理器,演示如何更改文件权限。假设你需要允许每个人都获得读取/写入文件夹TEST的权限。为此,在Nautilus文件管理器里面,采取下面这些步骤:1.打开Nautilus2.浏览至目标文件或目标文件夹3.鼠标右击该文件或文件夹4.选择Properties(属性)5.点击Permissions(权限)选项卡6.点击Others(其他)部分中的Access files(访问文件)7.选择"Create and delete files"(创建并删除文件)8.点击Change Permissions for Enclosed Files(更改所附文件的权限)9.在随后弹出的窗口中,选择Files(文件)下的Read and Write(读取和写入),选择Folders(文件夹)下的Create and delete files(创建并删除文件),见图A。10.点击Change(更改)。11.点击Close(关闭)。file:///http://s1.51cto.com/wyfs02/m00/12/24/wkiom1l65p2bxjfcaacc1hqgt7i279.jpg如果你需要更改不属于你的文件夹的权限,戏法就会出现。可以实现这一幕,但必须在拥有管理员访问权的前提下启动Nautilus。为此,采取下面这些步骤:1.打开终端窗口2.执行命令sudo -i3.执行命令nautilussudo -i命令为你赋予了持久访问sudo的权限,直到你输入exit命令,清除该访问权。一旦Nautilus打开,你可以更改文件夹或文件的权限,如上所述――即便你不是该文件夹或文件的所有者。注意:如果你所使用的发行版并不使用sudo,就要把上述指令改成如下:1.打开终端窗口2.执行命令su3.键入你的根密码,按回车键4.执行命令nautilus。在你完成这项任务之后,关闭Nautilus窗口,然后关闭终端窗口。GUI:更改所有权更改文件或文件夹的所有权常常需要使用管理员权限。所以为此,你需要采用上面介绍的方法来启动Nautilus。想借助Nautilus更改文件夹或文件的所有权,请采取下面这些步骤:1.在借助管理员权限打开的Nautilus窗口中,找到相应的文件夹或文件2.鼠标右击该文件夹(或文件)3.点击Permissions(权限)选项卡4.从Owner(所有者)下拉框中选择新的所有者(见下图)5.点击Close(关闭)。file:///http://s6.51cto.com/wyfs02/m00/12/24/wkiom1l65t-ipjkkaacmqukfj8o895.jpg就是这样。现在,你借助命令行或GUI,更改文件或文件夹的权限或所有权时应该不会有任何问题了。使用用户组让你可以更改权限和所有权,却拥有更强大的功能和更高的安全性――我们以后会介绍这方面。现在,请享受更改文件和文件夹的便利吧!
: W  _5 u6 }5 R& D& m) z

我的日常 1、本主题所有言论和图片纯属会员个人意见,与本社区立场无关
2、本站所有主题由该帖子作者发表,该帖子作者与我的日常享有帖子相关版权
3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和我的日常的同意
4、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
7、我的日常管理员和版主有权不事先通知发贴者而删除本文


JAVA爱好者①群:JAVA爱好者① JAVA爱好者②群:JAVA爱好者② JAVA爱好者③ : JAVA爱好者③

快速回复
您需要登录后才可以回帖 登录 | 立即注册

   

关闭

站长推荐上一条 /1 下一条

发布主题 快速回复 返回列表 联系我们 官方QQ群 科帮网手机客户端
快速回复 返回顶部 返回列表