一. owner,group,others 介绍权限之前我们要先认识3个linux下的身份,也即 owner(拥有者),group(群组),others(其他人)举个例子:公司开发部有2个开发组,group1(a,b,c),group2(x,y,z),group1是开发1组,做c++开发。group2时开发2组,做数据库开发。a,b,c属于开发一组的3个开发人员,x,y,z属于开发2组的3个开发人员;由于a,b,c开发同一个产品,x,y,z开发同一个产品,所以,要求a,b,c可以互相查阅对方的文件并修改,但是group1和group2之间却不可以。此时如果文档M属于开发者a创建的,则a为M的“owner ",b,c和a属于同一个group,也即a支持group "group1",而,x,y,z对应group1来讲则是others。(小知识:默认情况下,在Linux中,系统的账号和一般身份使用者,以及root账户的相关信息,都是放在/etc/passwd这个档案下的;个人密码则是记录在/etc/shadow这个目录下的;所有的组名则记录在/etc/group 这个档案中。)二. 档案的属性的解释如果你刚刚装完linux,那么你会发现在/root目录下有一个install.log的文件。我们用ls 查看一下。(备注:ls指令可以用man ls自己看看。常用的如下:ls -l ----以清单样式列出详细信息 如: ls -l /rootls -a ----列出所有的文档,包括以“.”开头的,也即包含隐藏档 ls -a /rootls -d ----列出后边指定档案的属性(不限制个数) 如: ls -ld /root/install.log /root ---以清单样式列出所有指定档案的属性)ls -l /root/install.log 会得到如下信息:-rwxr-xr-x 1 root root 30921 Aug 14 21:96 /root/install.log1 2 3 4 5 6 7可以将这些属性划分为7个部分。1. 档案的类型和权限。第一个字符“-”代表 “/root/install.log”这个档案是一个档案文件。常见的档案类型标志请见下边:d 文件夹
- 档案
l 链接档,类似windows的快捷方式
b 随即存取设备,如cd_rom,u盘等等
c 一次性存取设备,如键盘,鼠标等等
s socket,资料接口文件,常用于网络数据承接
p pipe(FIFO),即先进先出,数据传输文件。常用于解决多程序存取同一个档案造成的错误问题。
紧跟在“-”后边的9个字符是固定的,无论什么档案都是9个,这九个字符按照顺序分别代表了owner,group,others对于这个档案的“读,写,执行”权限。r read:读权限
w write:写权限
x executable:执行权限
2是表示有多少档名连接到此节点(i-node),3是档案的归属者,4是档案的所属群组,5代表档案的大小,6代表档案的建立时间或者最新修改时间 7代表档名如上文所示: /root/install.log这个档案的属性所代表的意义即:1. 这是一个档案,owner对他具有读、写、执行三种权限,owner所属的group对此档案具有读、执行权限,没有写权限,others对此档案也具有读、执行权,无写权限。2. 链接到此i-node的档名有一个3. 该档案的归属用户为root4. 该档案的归属群组为root5. 该档案的大小为30921bytes6. 该档案的最后修改时间(建立时间)为 Aug 14 21:96 如果想要显示完整的时间格式,可以用以下命令: ls -l --full-time /root/install.log 7. 该档案的档名为“/root/install.log”三. 修改档案的属性和权限指令。1. chgrp 改变档案所属群组比如 ls -l /home/uncle_cat/install_1.log 得到:-rwxrwxrwx 1 uncle_cat uncle_cat 30921 Aug 19 14:21 /home/uncle_cat/install_1.log 则执行一下命令:chgrp users /home/uncle_cat/install_1.logls -l /home/uncle_cat/install_1.log 修改后为这个样子:-rwxrwxrwx 1 uncle_cat users 30921 Aug 19 14:21 /home/uncle_cat/install_1.log 2. chown 改变档案拥有者,需要时也可以连同拥有者和所属群组一并改动。chown bin /home/uncle_cat/install_1.log ls -l /home/uncle_cat/install_1.log 修改后为这个样子:-rwxrwxrwx 1 bin users 30921 Aug 19 14:21 /home/uncle_cat/install_1.log chown root:root /home/uncle_cat/install_1.log ls -l /home/uncle_cat/install_1.log 修改后为这个样子:-rwxrwxrwx 1 root root 30921 Aug 19 14:21 /home/uncle_cat/install_1.log 3. chmod 改变档案的权限。改变档案的权限有2个类型,一个是数字型,一个是字符型。(1)数字型,数字型的权限对照表如下:r: 4w: 2x: 1每种身份(owner,group,others)对应的权限时累加的,如: -rwxrwxrwx 1 root root 30921 Aug 19 14:21 /home/uncle_cat/install_1.log 权限为 777,如果要修改others对于此文档的权限为不可写,执行,只可读,即为: -rwxrwxr-- 则语句为:chmod 774 /home/uncle_cat/install_1.log 如果需要变更权限的是一个文件夹,而且你希望此文件夹下所有的档案权限都跟着文件夹做相应的改变,可以使用选项 -r (recursive),如:chmod -r 770 /home/uncle/test ----持续递归设定/home/uncle/test 以及其下的所有档案的权限为770(2)字符型,字符型的对照表为如下所示:chmod u(owner:也可看做users) “+”加入 “-”减去 “=”等于
r w x
档案或目录
g(group)
o(others)
a(all:等于u+g+o)
例如:chmod u=rwx,g=rx,o=r /home/uncle_cat/install_1.log ls -l /home/uncle_cat/install_1.log -rwxr-xr-- ..........chmod u=rwx,go=rx /home/uncle_cat/install_1.log ls -l /home/uncle_cat/install_1.log -rwxr-xr-x ..........如果我们不知道档案/home/uncle_cat/install_1.log 的权限为什么,但是我们想为每个身份都加入写的权限,则用如下语句:chmod a+w /home/uncle_cat/install_1.log ls -l /home/uncle_cat/install_1.log -rwxrwxrwx ..........
Linux的目录长度限制与配置介绍Linux SMP 启动过程学习笔记相关资讯 Linux知识
- 时光总是太匆匆!Linux已经诞生23 (08/29/2014 14:12:03)
- Linux虚拟文件系统之文件打开(sys (02/14/2012 11:41:54)
- 2012 年 Linux 峰会时间表 (02/14/2012 06:47:27)
| - 报告称当前 Linux 人才抢手 高薪也 (02/15/2012 06:35:56)
- 解析企业为何选择Linux及其特别之 (02/14/2012 08:17:59)
- Linux禁用字符闪烁的方法 (11/02/2011 10:28:25)
|
本文评论 查看全部评论 (0)