一文件权限
1 文件属性的查看
ls -l filename
ls -ld directory
将用户身份切换到普通用户(例:student),此时要在/mnt下建立一个文件则会被拒绝
没有权限,用ls -ld /mnt/ 查看目录属性,则出现:
drwxr-xr-x. 2 root root 6 may 13 2014 /mnt/
1)第一个字符: 指文件类型
d : 目录
- : 普通文件
c : 字符设备
s : 套接字
p : 管道
l : 连接
2)“rwxr-xr-x”:指文件读写权限
前三段:“rwx” 指文件拥有者的权限
中间三段:“r-x” 指文件所有组的权限
后三段 :“r-x” 指其他人的权限
对于/mnt来说,student是其他人,所以没有写的权限
3)“2”:
对文件:文件内容被系统记录的次数
对目录:目录中文件属性的字节数
4)“root” :文件拥有者
5)“root” :文件所有组
6)“6”:文件内容的大小
7)“may 13 2014” :文件最后一次被修改的时间
8)“/mnt”:目录名字(文件名字)
二.文件所有人所有组的管理
chown username file|dir:更改文件的所有人
chown username.groupname file|dir:更改所有人所有组
chown -R username dir:更改目录本身及里面所有内容的所有人
chgrp -R groupname dir:更改目录本身及里面所有内容的所有组
监控命令
watch -n 1 ls -lR /mnt
三 文件普通权限
"rw-r--r--"
前三段:“rw-” (u)文件拥有者可以对文件duxie
中间三段:“r--” (g)文件组成员对文件可读
后三段:“r--” (o)其他人对文件可读
u优先匹配,然后到g,o最后匹配
1 r
对文件:可以查看文件中的字符
对目录:可以查看目录中文件的信息
2 w
对文件:可以更改文件内字符
对目录:可以在目录中添加删除文件
3 x
对文件:可以运行文件内记录的程序动作
对目录:可以进入目录中
4.字符方式修改该文件权限
chmod u-x file1 :file1拥有者去掉x权限
chmod g+w file1 :file1拥有组添加w权限
chmod u-x,g+w file1 :file1拥有者去掉x权,file1拥有组添加w权限
chmod ugo-r file2 :file2的用户组其他人去掉r权限
chmod ug+x,o-r file3 :file3用户和组添加x权限,其他人去掉r权限
chmod ug=rx file3 :file3用户和组变成r和x权限
5.数字方式修改该文件权限
在linux中
r=4
w=2
x=1
文件权限数字表示方式
"r w - r - - r- -"
u = r w - = 4 + 2 + 0 = 6
g = r - - = 4 + 0 + 0 = 4
o = r - - = 4 + 0 + 0 = 4
所以文件权限表示为644
chmod 数字(1到7的数字) filename :修改文件权限
7 = r w x
6 = r w -
5 = r - x
4 = r - -
3 = - w x
2 = - w -
1 = - - x
0 = - - -
四.系统默认权限的设定
当你新建一个目录或文件的时候,会发现目录的默认权限为755,文件的默认权限为644,那是因为系统有预留权限
umask :查看系统保留权限
umask 077 :更该系统的保留权限为077,此设定为临时设定,只当前shell中生效,一旦关闭shell就会恢复成022
永久设定方式:
vim /etc/bashrc :shell 将umask改成077
vim /etc/profile :系统 将umask改为077
以上两个文件umask设定值必须保持一致
source /etc/bashrc
source /etc/profile
让设定立即生效
五 特殊权限
1 sticky :粘制位
t权限: 只针对目录,当一个目录上有t权限,那么目录中的文件只能被拥有者删除
设定方式:chmod o+t directory
chmod 1777 directory (t=1)
例:在/westos下创建一个目录,更改权限为777,然后分别用不同的用户(例:harry和leo)在此目录中创建文件,再用其中的一个用户(例:leo)将文件删除,最后将目录chmod o+t /westos ,再一次创建文件,用其中的一个用户(例:leo)将文件删除,会发现leo无法删除harry建立的文件
2 sgid :强制位
设定方式:
chmod g+s file|dir
sgid=2
chmod 2xxx file|dir
对文件:只针对二进制可执行文件,任何人运行二进制文件程序时程序产生的进程的所有组都是文件的所有组,和程序发起人组的身份无关
对目录:当目录有sgid权限后,目录中新建的所有文件的所有组都自动归属到目录的所有组之中,和文件建立者所在的组无关
例:用root建立/westos,查看/westos的信息,所有人和所有组,更改权限,使得leo能在/westos下建立文件,建立好文件file后,查看file的信息,发现file的所有人和所有组均为leo,此时chmod g+s /westos后,leo再一次建立文件file1,查看文件信息会发现,file1的所有组变成了/westos的所有组
3 suid :冒险位
只针对二进制可执行文件,任何人运行二进制文件程序时,程序产生的进程的所有人为文件所有人,和进程发起人身份无关
设定方式:
chmod u+s file
suid=4
chmod 4xxx file
例:以cat为例,该文件在/bin/cat下,用watch -n 1 ‘ps -ax -o user group comm |grep cat ‘ 监控文件user的变化,再打开一个shell ,切换用户到student,输入cat ,会发现user和group均为student,若chmod u+s /bin/cat ,再一次输入cat,会发现user变成root。
原文地址:http://12774272.blog.51cto.com/12764272/1913586