`
maosheng
  • 浏览: 550504 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Linux 使用归纳 2

阅读更多
Linux最优秀的地方之一,就在于他的多人多任务环境。而为了让各个使用者具有较保密的档案数据,因此档案的权限管理就变的很重要了。 Linux一般将档案可存取的身份分为三个类别,分别是 owner/group/others,且三种身份各有 read/write/execute 等权限。

命令ls是【list】的意思,重点在显示档案的文件名不相关属性。

drwxr-xr-x.  6 root root   4096 Feb 17 05:50 security
lrwxrwxrwx.  1 root root     11 Feb 17 05:49 init.d -> rc.d/init.d
-rw-r--r--.  1 root root  12288 Feb 17 05:58 aliases.db

-rw-r--r--  这一栏共有十个字符,代表这个档案的类型及权限(permission):
第一个字符代表这个档案是【目录、档案或链接文件等等】:
o 当为[ d ]则是目录,例如上表档名为『security』的那一行;
o 当为[ - ]则是档案,例如上表档名为『aliases.db』那一行;
o 若是[ l ]则表示为连结档(link file);例如上表档名为『init.d -> rc.d/init.d』那一行;
o 若是[ b ]则表示为装置文件里面的可供储存的接口设备(可随机存取装置);
o 若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次怅读取装置)。

接下来的字符中,以三个为一组,且均为『rwx』 的三个参数的组合。其中,[ r ]代表可读(read)、[ w ]代表可写(write)、[ x ]代表可执行(execute)。 要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号[ - ]而已。
o 第一组为『档案拥有者的权限』;
o 第二组为『同群组的权限』;
o 第三组为『其他非本群组的权限』。

第二栏表示有多少档名连结到此节点(i-node)

第三栏表示这个档案(或目录)的『拥有者账号』

第四栏表示这个档案的所属群组

第五栏为这个档案的容量大小,默认单位为bytes

第六栏为这个档案的建档日期或者是最近的修改日期

第七栏为这个档案的档名,比较特殊的是:如果档名之前多一个『 . 』,则代表这个档案为『隐藏档案』

chgrp(change group) :改变档案所属群组
要被改变的组名必项要在/etc/group档案内存在才行,否则就会显示错误!

chown (change owner):改变档案拥有者
用户必项是已经存在系统中的账号,也就是在/etc/passwd 这个档案中有纪彔的用户名称才能改变。

chmod :改变档案的权限
权限的设定方法有两种, 分别可以使用数字或者是符号来进行权限的变更。

1)数字类型改变档案权限
Linux档案的基本权限就有九个,分别是owner/group/others三种身份各有自己的read/write/execute权限,这九个权限是三个三个一组的!其中,我们可以使用数字来代表各个权限,各权限的分数对照表如下:
r:4
w:2
x:1
每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的,例如当权限为: [-rwxrwx---] 分数则是: owner = rwx = 4+2+1 = 7 group = rwx = 4+2+1 = 7 others= --- = 0+0+0 = 0 所以我们设定权限的变更时,该档案的权限数字就是770啦!变更权限的指令chmod的语法是这样的:
chmod 770 档案或目录名

2)符号类型改变档案权限
九个权限分别是(1)user (2)group (3)others三种身份啦!那么我们就可以藉由u, g, o来代表三种身份的权限!此外, a 则代表 all 亦即全部的身份!那么读写的权限就可以写成r, w, x 啦!也就是可以使用底下的方式:
chmod  u/g/o/a  +(加入)/-(除去)/=(设定) r/w/x 档案或目录

目录与档案之权限意义:
我们知道Linux系统内档案的三种身份(拥有者、群组与其他人),知道每种身份都有三种权限(rwx), 已知道能够使用chown, chgrp, chmod去修改这些权限与属性。

权限对档案的意义:
档案是实际含有数据的地方,包括一般文本文件、数据库内容文件、二进制可执行文件(binary program)等等。 因此,权限对二档案来说,他的意义是这样的:
r (read):可读取此一档案的实际内容,如读取文本文件的文字内容等;
w (write):可以编辑、新增或者是修改该档案的内容(但不含删除该档案);
x (execute):该档案具有可以被系统执行的权限。
对于档案的rwx来说, 主要都是针对档案的内容而言,因为档案记彔的是实际的数据!

权限对目录的意义:
目录主要的内容在记彔文件名列表,所以,如果是针对目录时,那个 r, w, x 对目录的意义是:
r (read contents in directory): 表示具有读取目录结构列表的权限,所以当你具有读取(r)一个目录的权限时,表示你可以查询该目录下的文件名数据。 所以你就可以利用 ls 这个指令将该目录的内容列表显示出来!
w (modify contents of directory): 这个可写入的权限对目录来说,他表示你具有异动该目录结构列表的权限,也就是底下这些权限:
    1,建立新的档案与目录;
    2,删除已经存在的档案与目录(不论该档案的权限为何)
    3,将已存在的档案或目录进行更名
    4,搬移该目录内的档案、目录位置。
总之,目录的 w 权限就与该目录底下的文件名异动有关就对啦!
x (access directory): 目录的执行权限有啥用途啊?目录只是记彔文件名而已,总不能拿来执行吧?没错!目录不可以被执行,目录的x代表的是用户能否进入该目录成为工作目录的用途! 所谓的工作目录(work directory)就是你目前所在的目录啦!而变换目录的指令是【cd】(change directory)啰!

如果用户对此目录仅具有 r 的权限,因此,用户可以查询此目录下的文件名列表。因为用户不具有 x 的权限, 因此用户并不能切换到此目录内!

只有 r 确实可以让用户读取目录的文件名列表,不过详细的信息却还是读不到的, 同时也不能将该目录变成工作目录(用 cd 进入该目录之意)。

能不能进入某一个目录,只与该目录的 x 权限有关啦!此外, 工作目录对于指令的执行是非常重要的,如果你在某目录下不具有 x 的权限, 那么你就无法切换到该目录下,也就无法执行该目录下的任何指令,即使你具有该目录的 r 的权限。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics