2013-06-25

早上读了部分content provider的文档.我知道这能在一定程序上锻炼自己的阅读能力,

但同样知道的是,因为我现在不弄content provider相关的东西,可能过一阵子就忘记了.

特别纠结,不过我会继续一点点挨个看下去,MLGB的我半途而废的事情太多了,太怂了

linux:130页 文件与目录的默认权限与隐藏权限

umask 或者umask -S 查看默认属性设置 

umask表示的是"该默认值需要去掉的权限"  前提是你要知道普通文件-默认是rw不可执行的.而普通目录d默认是rwx的

umask  0022 第一个数字先不去管  如果创建文件,那么该文件的属性应该是-rw-r--r--

如果创建的是目录那么该目录的属性应该是drwxr-xr-x.

一般情况下,root的umask会去掉比较多的属性,root的umask默认是022,这是基于安全考虑.

而一般身份用户的umask为002,即保留同用户组的写入权限.

文件特殊权限: SUID/SGID/Sticky Bit

set UID

之所以会创建s与t权限,是为了让一般用户在执行某些程序的时候,能够暂时具有该程序拥有者的权限.

当s权限在user的x时,也就是类似-r-s--x--x,称为Set UID,简称SUID.这个UID表示User的ID,而User表示该程序的拥有者.

你看,当lightman用户执行/usr/bin/passwd的时候,它就会暂时得到文件拥有者root的权限.

注意,SUID只能够用于二进制文件binary file.

 

进一步而言,如果s的权限是在用户组,那么就是Set GID,简称为SGID. SGID可以用在两个方面:

文件:如果SGID设置在二进制文件上,则不论用户是谁,在执行该程序的时候它的有效用户组(effective group)将会变成该程序的用户组所有者.

目录:如果SGID设置在A目录上,则在A目录内所建立的文件或目录的用户组,将会是此A目录的用户组.

 

file /usr/bin/passwd 通过file 文件名的方式可以简单判断文件的格式.

whereis [-bmsu] 文件或目录名

where到底是使用什么呢,为何搜索速度要比find快得多?这是因为linux系统会将系统内的的所有文件都记录在一个数据库文件里,

当使用whereis或者locate时,都会以此数据库文件的内容为主,所以有时候你会发现执行whereis或者locate时可能会找到已经删除的文件,那是因为数据库还没有来得及更新.

可以使用/usr/bin/updatedb来更新数据库文件.

locate filename 这个命令更简单,filename是文件的部分名字就行.

 

还看了点C语言,这个我得怎么记笔记阿. 这会特别烦躁啊 日日日日日

posted on 2013-06-25 17:06  lightman_21  阅读(121)  评论(0)    收藏  举报

导航