分享
 
 
 

Linux档案属性与目录配置问题

王朝system·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

Linux 档案属性:

认识档案属性:

网路上有相当多的朋友很有趣,他们对于 Linux 的问题在于无法了解『安装完 Linux 之后要干嘛?!开机跟关机?!』,嗯!这是个很严重的问题,因为这些朋友可能并不了解他们学 Linux 要作何用途?!好了,既然已经安装了 linux 了,那也知道如何启动与关闭 Linux 主机了,不要再埋怨啦!学一学了解一下 Linux 的档案权限观念与他的目录分布的情况吧!等你了解了 Linux 的档案权限概念之后,对于以后修改档案属性与修改系统的一些重要参数档案,是很有用的呦!此外,在开始认识档案之前,要先跟大家说明的是,在 Linux 里面,『英文字母大小写是不一样的』,例如档名 VBird 与 vbird 是两个不一样的两个档案!这点请千万要搞清楚喔(与 Windows 最大的不同点啦!)。

嗯!既然要让你了解 Linux 的档案属性,那么第一个进入 Linux 要学的指令就必须要先跟你说?!那一个?!就是『 ls 』这一个 list 档案的指令?!在你以 root 的身份登入 Linux 之后,下达『ls -al 』看看,会看到底下的几个咚咚:

ls 是『list』的意思,而参数『-al』则表示列出所有的档案(包含隐藏档,就是档名前面第一个字元为 . 的那种档案)。如上所示,在你第一次以 root 身份登入 Linux 时,如果你输入指令后,应该有上列的几个东西,先解释一下上面七个栏位个别的意思:

1.第一栏代表这个档案的属性:这个地方最需要注意了!仔细看的话,你应该可以发现这一栏其实共有十个属性:

o第一个属性代表这个档案是『目录、档案或连结档』:

§当为[ d ]则是目录,例如上表的第 11 行;

§为[ - ]则是档案,例如上表的第

5 行;

§若是[ l ]则表示为连结档(link file);

§若是[ b ]则表示为装置档里面的可供储存的周边设备;

§若是[ c ]则表示为装置档里面的序列埠设备,例如键盘、滑鼠。

o接下来的属性中,三个为一组,且均为『rwx』的三个参数的组合。其中,[ r ]代表可读、[ w ]代表可写、[ x ]代表可执行:

§第一组为『所有人的权限』,以第五行为例,该档案的所有人可以读写,但不可执行;

§第二组为『同群组的权限』;

§第三组为『其他非本群组的权限』。

范例:若有一个档案的属性为『-rwxr-xr--』,简单的可由下面说明之:

[-][rwx][r-x][r--]

1

234

567

890

1 为:代表这个档名为目录或档案(上面为档案)

234为:拥有人的权限(上面为可读、可写、可执行)

567为:同群组使用者权限(上面为可读可执行)

890为:其他使用者权限(上面为仅可读)

上面的属性情况代表一个档案、这个档案的拥有人可读可写可执行、但同群组的人仅可读与执行,非同群组的使用者仅可读的意思!

2.第二栏表示为连结占用的 link 节点 ( 若为目录时,通常与该目录底下还有多少目录有关 )这部分将在介绍 link 档案时 (下一节) 再深入的介绍!;

3.第三栏表示这个档案(或目录)的『拥有人』;

4.第四栏表示拥有人的群组;

这里解释一下,在 Linux 中,你的 ID (如 root 或 vbird 等帐号均是 ID)即是你的身份,而且你还有附属在一个群组之下,例如你有一个团体(即群组)代号为 bird,且这个群体里有四个人,其代号分别是 bird1, bird2, bird3, bird4,则这四个人为同一群组即 bird!若看上面的情况,则代表所有人为 root 且群组为 root (群组与所有人名称可以相同)

5.第五栏为这个档案的大小;

6.第六栏为这个档案的建档日期或者是最近的修改日期,分别为月份、日期及时间;

7.第七栏为这个档案的档名,如果档名之前多一个『 . 』,则代表这个档案为『隐藏档』,例如上表第 6 行的『.bashrc_history』档名即是隐藏档,由于我们有下一个参数为 ls -al,所以连隐藏档都列出来,如果你只输入 ls 则档名有加『 . 』的档案就不会被显示出来!

举个例子来说,如果有下面的两个档案:

则档案『 test.txt 』只有 root 可以读写,其他人仅可以读;而另一个档案『 ping_tsai 』所有人 bird1 可读可写可执行,而 bird2, bird3, bird4 这三个与 bird1 同样是 bird 群组的仅可读可执行但不能写(亦即不能修改),至于非 bird 这一个群组的人则仅可以读,不能写也不能执行!

Linux 档案属性的重要性:

与 Windows 系统不一样的是,在 Linux 系统(或者说 Unix 系统)当中,每一个档案都多加了很多的属性进来,尤其是群组的概念,这样有什么用途呢?基本上,最大的用途是在『安全性』上面的。举个简单的例子,在你的系统中,关于系统服务的档案通常只有 root 才能读写,或者是执行,例如 /etc/shadow 这一个帐号管理的档案,由于该档案记录了你的系统中的所有帐号的资料,因此是很重要的一个资讯档,当然不能让任何人读取,只有 root 才能够来读取?!所以该档案的属性就会成为 [ -rw------- ]?!

那么,如果你有一个开发团队,在你的团对中,你希望每个人都可以使用某一些目录下的档案,而非你的团队的其他人则不予以开放呢?以上面的例子来说,我的团队共有四个人,分别是 bird1~bird4 ,且隶属于 bird 这一个群组!那么我就可以将我的档案属性订为 [ -rwxrwx--- ]来提供给我的工作团队使用?!这可是相当重要的。

再举个例子来说,如果你的目录权限没有作好的话,可能造成其他人都可以在你的系统上面乱搞?!例如本来只有 root 才能做的开关机、ADSL 的拨接程式、新增或删除使用者等等的指令,若被你改成任何人都可以执行的话,那么如果使用者不小心给你重新开机啦!重新拨接啦!等等的!那么你的系统不就会常常莫名其妙的挂掉?!而且万一你的使用者的密码被其他不明人士取得的话,只要他登入你的系统就可以轻而易举的执行一些 root 的工作!可怕吧!因此,在你修改你的 linux 档案与目录的属性之前,一定要先搞清楚,什么是可变的,什么是不可变的!千万注意?!

SetUID, SetGID, Sticky bit

SUID 与 SGID:

其实,说到这里之前,应该先说明一下 UID (user ID)与 GID (Groupt ID)的!基本上, Linux 认得的帐号只是一堆数字而已!而由于我们每个档案中同时含有『使用者』与『使用者群组』的属性,因此,就有所谓的 UID 与 GID ?! UID 代表我们的使用者『代号』而 GID 则是群组的『代号』。你可以使用『 more /etc/passwd 』这个指令来看一下你的系统当中的所有帐号,然后你会注意到每行的第三、四个栏位(以 : 分隔)为数字,那个就是 UID 与 GID 了,您更会注意到的是, root 的 UID 与 GID 都是 0 !!因此,当你建立了一个帐号,而你将该帐号的 UID 与 GID 都改为零,呵呵!那个帐号的使用者就具有 root 的身份?!

那么什么是 SUID 与 SGID 呢?!在说明之前我们先来看一个档案的内容:

看到了 /usr/bin/passwd 档案的前面属性了吗?怎么会有 s 的属性在原本的 x 呀!?那个就是所谓的 SUID 了!如果是『 -r-xr-s--x 』时,那么 s 就成为所谓的 SGID 了!『当一个档案具有 SUID 的时候,同时 other 的群组具有可执行的权限,那么当 others 群组执行该程式的时候, other 将拥有该 user 的权限了!』。

我们以帐号的密码档来说明好了!注意上面的范例?!可以看到的是, /etc/shadow 的权限是『只有 root 才能存取』呦!那么你会不会觉得很奇怪?明明我的一般使用者可以自己修改密码呀!对不对?那么修改密码一定跟 /etc/shadow 这个档案有关,那么怎么回事呀!?使用者是如何修改 /etc/shadow 这个档案的呢?嗯!没错!就是使用 SUID 的功能啦!上面的例子说明了, /usr/bin/passwd 这个档案具有 SUID 的属性,那么当使用者使用 /usr/bin/passwd 这个执行档时,在执行 pass word 修改的其间就具有 /usr/bin/passwd 这个档案的拥有者 root 的所属权限?!所以,所以当一般使用者执行 passwd 的时候,将具有 root 的权限,所以他们也可以更改 /etc/shadow 的内容?!那么由此也可以知道,由于这个 Set UID ( SUID ) 的主要功能是在『某个档案执行的其间具有档案拥有者的权限』,因此, s 就是替代上面提到的 x 这个可执行的位置?!那万一该档案并没有 x 的属性呢?哈哈!问的好!那么该档案的属性就会将小写的 s 变成大写的 S 啦! ( 这里即使暂时不了解也没有关系,等到过一阵子再回来看一看,你就会了解啦! )

不过,由此也知道 SUID 与 SGID 的问题所在,没错!就是太不安全了!如果你有一个档案具有 root 的权限,那么当开启了 SUID 的时候,嘿嘿!够你瞧的了!!因此上,在变更一的档案成为具有 SUID 或 SGID 的情况时,必须要特别小心呢!知道乎!?

OK!接着下来,我们要来看一下,既然有 SUID 与 SGID ,那么为什么没有在最末位出现 s 取代 x 呢?呵呵!这当然没有必要啦!因为那是属于 others 的权限,你的档案如果是任何人皆可执行的话,那么本来他们就具有权限啦!干嘛还要设定 s 的属性!?不过,这里却真的有另一个属性出现了,那就是 Sticky bit 的属性 ( t ) !这个属性的最大用处在于『具有 sticky bit 属性的该档案或目录下的档案,其档案或目录只有档案拥有者及 root 才有权力删除!』这样是否可以了解了呢?嘿嘿!没错!在我们系统里面本来就预设有一个啦!那就是 /tmp 这个目录!

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有