全部博文(534)
分类: LINUX
2010-01-28 08:49:22
十四、介绍文件的所有权(owenship)
1、在Linux系统中会为每个文件注明这个文件的所有人是谁,并且还会注明这个所有人属于哪个组,而这个文件所有人及所属组就是这个文件的所有权“owenship”;
2、当新增加一个文件时,
(1)这个文件属于这个文件的创建者;
(2)这个文件所属的组,就是这个文件所有人的私有组;
(3)如果在是一个设有SGID限制的目录里建立文件的话,那这个文件的所属组就跟着改变了;
3、修改一个文件所有人可以使用ROOT用户帐号执行chown命令来修改文件的所有人,使用ls -l命令可查看文件的所有人的UID及组的GID,显示的时候是用的用户名称及组名称,其实使用的UID和GID来识别所属的所有人及组。
十五、介绍文件有哪些权限
1、在Linux环境中将存取文件的用户分为三个等级
(1)u user 表示这个文件或目录的所有人的权限;
(2)g group 表示这个文件或目录的所属组的权限;
(3)o other 表示这个文件或目录除了所有人及所属组其它人的权限;
2、存取权限也分为三个类型
(1)r read 表示读的权限,列出目录内容权限;
(2)w write 表示可写、修改、删除、建立文件及目录;
(3)x execute 表示可以执行一个 shell script 对目录表示可以进行目录工作;
r | w | x | |
文件 | 读取文件 | 编辑文件 | 执行可执行文件 |
目录 | 列出目录内容 | 移动、建立、删除 | 进入目录 |
3、用户存取文件的三个等级和存取文件权限的三个等级组合成一个标志:(其中“-”表示没有对应的权限)
user r/- w/- x/-
group r/- w/- x/-
other r/- w/- x/-
再在九个标志前加上一个“d”表示这是一个目录,加上“-”表示这个是一个文件或目录组和在一起类似下面的形式:
-rwxr-xrw- drwxr-xrw-
这样汇合到一组的10个字元就组成了一个文件或目录的权限。文件及目录的权限在前面有提到过,这里不太详细叙述。
十六、介绍SUID和SGID这两个特殊的权限
文件 | 目录 | 命令 | 文件模式 | |
SUID | 如果在一个可执行文件上,设SUID用户就以文件所有者身份执行这个文件 | 不可设定 | ·chmod u+s ·chmod 4755 修改用户的SUID |
S位于所有者X位置上 小写s 表示有x(执行)权限 大写S表示没有x(执行)权限 |
SGID | 用户以文件所属组成员的身份来执行这个文件 | 这个目录中所有的文件都会属于这个目录所属的组 | chmod g+s chmod 2755 |
S位于所属组X位置上 小写s表示所属组有x权限 大写S表示所属组没有x权限 |
Sticky | 不可设定 | 这个目录中所有的文件都只能被文件的所有人删除掉 | chmod o+t chomd 1777 |
t位于其它的X位置上 小写t表示有x权限 大写T表示没有x权限 |
1、在预设情况下用户会使用自己的UID和GID的身份来执行一个程序。
2、如果在一个可执行的文件上,设定了SUID权限的话,那么用户就会以这个可执行文件的所有人的身份来执行这个文件,如果这个可执行的文件上设定了SGID权限的话,那么用户就会以这个可执行文件的所属成员来执行这个文件。
十七、介绍sticky权限
1、通常如果用户在一个目录上具有写权限,那么不论他在这些文件上具有哪些权限,也不管这些文件的所有人是谁,这个用户都有取删除这个目录里的文件。
2、但如果在目录上设定了sticky权限,那这个目录里的文件,只有文件的所有人才可以删除这个文件。
十八、介绍SGID权限
1、通常用户在目录里所建立的文件,会属于这个用户预设的组。
2、但如果在这个目录上设定了SGID权限,那用户在这个目录里所建立的文件会属于是个目录所属组的组。
十九、介绍文件预设权限
1、在预设情况下一个文件被建立好后,会把读与写的权限开放给所有者;
2、在一个新建立的目录上,会把读、写、执行的权限开放给所有者;
但这两种预设的权限不是我们建立新的文件或目录时所产生的最后权限。
3、最后的权限要经过umask,权限的掩码来挡掉文件及目录里面某些预设的权限,来产生文件及目录最后的权限。
在预设情况下,一般用户的umask=002
·一般用户建立的文件夹预设权限经过umask后是664
·一般用户建立的目录预设权限经过umask后是775
4、也可以根据用户的主要组来判断这个用户的umask,其它系统用户帐号上的umask预设为022
umask 命令可修改自己的umask值
例:umask 002
打开 /etc/bashrc 这个文件来修改umask的预设值,如下图:
二十、介绍什么是存取控制清单(ACLs)
1、ACL是可以针对某些特定的用户或组,来设定他们对某一个特定文件或目录的存取权限:事例如下:
按上面的需求,做以下操作:
(1)在project1目录上开启读权限组user2,首先user2不属于projcet组;
(2)vi /etc/fstab
(3)mount –o remount / 重新加载分区同时启动ACL机制,这样可以不用重启动电脑了;
(4)getfacl /project1/ 查看这个目录设定了哪些用户权限;
(5)setfacl -m u:user2:r-x /project1 对project1目录对user2开放读与执行的权限,注:在进行目录访问时必须同时拥有读与执行权限才可以。
以上操作就是设定ACL的方式