linux学习笔记(一 文件权限控制)

 

将涉及以下命令:

  • chmod 修改文件访问权限
  • su 临时切换至超级用户帐号
  • chown 更改文件所有权
  • chqrp 更改文件的组权限
[ 编辑]

文件权限

Linux同Unix一样采用相同的权限方案。你系统上的目录和文件均对文件所有者、相关使用者所在组成员及其它用户分配了不同的访问权限。权限可被设置为读文件、写文件及执行文件(如将文件作为程序来运行)。

查看文件的权限设置,可以使用以下格式的ls命令:

  • [me@linuxbox me]$ ls -l some_file
  • -rw-rw-r-- 1 me me 1097374 Sep 26 18:48 some_file

从命令的执行结果,我们可以得出以下结论:

    • 文件some_file的所有者是用户“me"
    • 用户"me"有读写该文件的权力
    • 文件被用户组“me"所拥有
    • 用户组"me" 的成员有读写文件的权力
    • 其它用户有读取文件的权利

让我们来尝试一下另一个例子。我们来查看一下位于/bin目录中的bash程序:

  • [me@linuxbox me]$ ls -l /bin/bash
  • -rwxr-xr-x 1 root root 316848 Feb 27 2000 /bin/bash

以上我们看到:

    • 文件"/bin/bash"的所有者是用户“root“
    • 超级用户有权力来读写并执行该文件
    • 文件被”root"用户组拥有
    • "root"用户组成员同样可以读取和执行文件
    • 其它用户可以读取和执行该文件

在下面的图表中,我们可以看到列表的第一部分如何被解释。它由四部构成:介绍文件类型的字符,后续三组字符表示了文件所有者,组及其它用户的读写执行权限。

- rwxrw-r--
_ ___ __ ___
| |    | |____________其它用户的读写执行权限
| |    |______________文件拥有组的读写执行权限
| |_________________ 文件所有者的读写执行权限
|__________________文件类型"-"代表一个常规文件,“d"代表一个目录
[ 编辑]

chmod

chmod命令用于更改文件或目录的权限。通过这一命令,你可以将一个或多个你想更改的文件设置为你所期望的权限。有两种指定文件权限的方法,下面我将其中一种教给你:

我们很容易将权限设置想像成一系统二进制字节来处理(电脑也是通过这一方式来运作)。以下是运行原理:

  • rwx rwx rwx = 111 111 111
  • rw- rw- rw- = 110 110 110
  • rwx --- --- = 111 000 000

以此类推……

  • rwx = 111 对应十进制 7
  • rw- = 110 对应十进制 6
  • r-x = 101 对应十进制 5
  • r-- = 100 对应十进制 4

(注:二进制换算成十进制如110:2^0+1x2^1+1x2^2=7)

现在,如果你将三组权限(所有者,组及其它用户)分别视为一个单一的数字,你将能用一种非常便捷的方法表示每一种可能存在的权限设置。例如,如果你想将some_file文件分配给所有者读写权限,但同时将文件作为隐私同其它用户隔离开来,我们可以用以下命令:

  • [me@linuxbox me]$ chmod 600 some_file

以下是关于全部通用设置的数字列表。以7开头的用于表示程序(因为其能被执行),其余的用于其它类型的文件。

______________________________________________________________________
  数值                 含义
______________________________________________________________________
  777        (rwxrwxrwx) 权限上无限制。任何人能做任何事。通常不是所希望的设置
______________________________________________________________________
  755        (rwx------) 文件所有者能读写执行文件。其它人没有任何权力。
______________________________________________________________________
  755        (rwxr-xr-x) 文件所有者可以读写并执行文件。其它人可以读取和执行文件.
             这一设置通常被应用于所有用户均可使用的程序上.
__________________________________________________________________________
  700       (rwx------) 文件所有者可以读写并执行文件。其它人没有任何权限. 
             对于仅供文件所有者使用同时对其它人则为私人专用的程序,该设置很效.
_________________________________________________________________________
  666       (rw-rw-rw-) 所有用户均可读写的文件.
_________________________________________________________________________
  644       (rw-r--r--) 文件所有者可以读写文件,同时其它人仅能读取文件.
            通常用于文件所有者有权更改而其它人可读取的数据文件.
_________________________________________________________________________
  600       (rw-------) 文件所有者可以读写文件.其它人没有该权限.通常用于
              设置文件所有者想私人专用的数据文件.
[ 编辑]

目录权限

chmod命令也能够用于控制目录的访问权限. 在大多数情况下,目录的权限设置方案与文件的权限设置相同. 然而,在执行权限的使用上有差异.它支持对文件列表和其它数据的访问控制. 以下是对目录权限几个有用设置:

____________________________________________________________________
 数值       含义
 777      (rwxrwxrwx) 对权限无限制.任何人均可在目录中显示文件/创建文件
            和删除文件. 通常不是一个好设置.
____________________________________________________________________
755        (rwxr-xr-x) 文件所有者拥有所有权限.其它人可以列举目录内容,
           但不能创建或删除文件. 常用于你愿与他人共享的目录设置.
____________________________________________________________________
700        (rwx------) 文件所有者拥有所有权限.其它人没有任何权限.
            对于所有者想私人专用的目录,此设置很有用.
____________________________________________________________________
[ 编辑]

瞬间变身为超级用户

当你被警告不宜作为超级用户登录系统(不只我一个人这样提醒)时,能够瞬间变身为超级用户执行系统管理任务是非常的实用的. 幸运的是, 系统中有一程序能够付予你以超级用户特权进行临时操作的权利. 这一程序就是su (为superuser的缩写), 它能被用于当你想以超级用户身份操作少量任务的情况下.变身为超级用户,只需简单的输入su 命令. 你将被要求输入超级用户密码:

  • [me@linuxbox me]$ su
  • Password:
  • [root@linuxbox me]#

执行su 命令后, 你将以超级用户身份在shell中进行对话. 退出超级用户对话, 键入exit命令, 你将回归到以你原有身份进行的对话中.

更改文件所有者

你可以用chown命令来更改文件的所有者.下面是一个例子:假如我将some_file文件的所有者从"me"更改为"you". 可做如下处理:

  • [me@linuxbox me]$ su
  • Password:
  • [root@linuxbox me]# chown you some_file
  • [root@linuxbox me]# exit
  • [me@linuxbox me]$

注意一下,要改变文件的所有者,你必须以超级用户的身份操作. 因此, 我们在例子中调用了su 命令,然后执行chown命令, 最后键入exit命令退回到先前的对话中.

chown 命令对目录的操作采用同文件操作中相同的办法.

[ 编辑]

更改文件的所有组

文件或目录的所有组可以调用chgrp命令来更改.该命令用法如下:

  • [me@linuxbox me]$ chgrp new_group some_file

在以上例子中,我们将some_file的文件所有组更改为"new_group". 在执行chgrp命令时,你必须是该目录或文件的所有者. 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值