西部开源学习笔记《unit 6》

##########################

##### unit6.文件权限 #####

##########################


########1.文件属性的查看#######

ls  -l  filename

-|rw-r--r--.|1| root | root | 46 | Oct 1 05:03 |filename

1     2      3    4      5     6          7         8


1.文件类型

-     ##普通文件

d     ##目录

c     ##字符设备

s     ##套接字

p     ##管道

b     ##快设备

l     ##连接


2.“rw-r--r--”:文件读写权限

rw-|r--|r--

 *   $   @

*所有人的权限

$所有组的权限

@其他人的权限


3.“1”文件内容被系统记录的次数


4.“root”:文件所有人


5.“root”:文件所有组


6.“46”:文件内容的大小


7.“Oct 1 05:03”:文件最后一次被修改的时间


8.“filename”:文件名字


########2.文件的权限#######

u:文件所有人对文件可读

g:文件组成员对文件可读

o:其他人对文件可读

u优先匹配,g次优先,o当u,g不匹配时匹配


1.r

对文件:可以查看文件中的字符

对目录:可以查看目录中的文件信息


2.w

对文件:可以更改文件内的字符

对目录:可以在目录中添加删除文件


3.x

对文件:可以运行文件内记录的程序动作

对目录:可以进入到目录中


4.字符方式修改文件权限

chmod [-R] [u|g|o] [+|-|=] [r|w|x] file|dir


chmod u-x file1         ##file1拥有者去掉x权限

chmod g+w file1         ##file1拥有着添加w权限

chmod u-x,g+w file1     ##file1拥有着去掉x权限,拥有组添加w权限

chmod ugo-r file2       ##file2用户,组,其他人去掉r权限

chmod ug+x,o-r file3    ##file3用户,组添加x权限;其他人去掉r权限


5.数字方式修改文件权限

chmod 修改后的权限值 file

chmod 777 file


7=rwx

6=rw-

5=r-x

4=r--

3=-wx

2=-w-

1=--x



#########3.设置umask值########

永久设定方式:

vim /etc/bashrc     ##shell

  70 if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then

  71 umask 002      ##普通用户umask

  72 else

  73 umask 022      ##超级用户umask

  74 fi


vim /etc/profile    ##系统

  59 if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then

  60 umask 002      ##普通用户umask

  61 else

  62 umask 022      ##超级用户umask

  63 fi


注意:以上两个文件的umask必须保持一致

source /etc/bashrc

source /etc/profile

让设定立即生效



########4.特殊权限#########

1.suid

只针对二进制可执行文件

文件内记录的程序产生的进程的所有人为文件所有人

和进程发起人身份无关


设定方式:

chmod u+s file

suid=4

chmod 4xxx file


2.sgid

对文件:只针对二进制可执行文件,

任何人运行二进制文件

程序运行时产生的进程的所有组都是文件的所有组

和程序的发起人组的身份无关

对目录:当目录有sgid权限后,目录中新建的所有文件的所有组

都自动归属到目录的所有组之中,和文件建立这所在的组无关


设定方式:

chmod g+s file|dir

sgid=2

chmod 2xxx file|dir


3.sticky

t权限:

只针对与目录,当一个目录上有t权限,那么目录中的文件只能被所有人删除


设定方式:

chmod o+t directory

t=1

chmod 1xxx directory



补充:

1. b 块设备

   l 链接

2.同时修改所有人和所有组的命令是

  chown student.student /mnt/find.out

  或chown student:student /mnt/find.out

3.chown +用户名/用户名id(若没有用户使用该id,则ls -l时直接显示该id 号)

  ##一般不建议使用id号来修改文件该属性

4.umask显示的是0077,第一位为特殊权限

5.当添加s特殊权限时,如果该二进制文件的所属用户发生改变,则需要重新赋予其s权限

6.echo $PATH 显示当前用户可执行命令的文件路径

7.冒险位suid,强制位sgid,粘制位sticky


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章