Linux权限管理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
文件权限
[root@Crazy ~]# ls -lhi|tail -5
261636 -rw-r--r--. 1 root root 13K 6月 17 21:52 install.log
第一列:inode(index node)索引节点编号;他是文件或目录在磁盘里的唯一标识,Linux 读取文件首先要读取到这个索引节点,相当于书的目录。
inode是用来储存数据属性信息的(也就是ls -l的结果),inode包含的属性信息包括:文件大小,属主,归属的用户组,读写权限,文件类型,修改时间,还包含指向文件实体的指针功能(inode节点--block的对应关系)等,但inode里唯独不包含文件名。
查询inode大小:
查看挂载的磁盘inode情况:df -i
小结:
1、磁盘分区格式化为ext4文件系统后会生成一定数量的inode和block。
2、inode是索引节点,作用是存放文件的属性信息以及作为文件的索引(指向文件的实体BLOCK)。
3、ext3/ext4文件系统的block存放的是文件的实际内容
4、block的大小一般有1k,2k,4k几种,其中引导分区等为1k,其他普通分区为4k(Centos6)
5、inode是一块磁盘存储空间,Centos6非启动分区inode默认大小256字节,Centos5是128字节。
6、inode是一串数字,不同的文件对应的inode(一串数字)在文件系统里是唯一的。
7、inode号相同的文件,互为硬链接文件(文件的又一个入口)
8、文件被创建后至少要占用一个inode和一个block。
9、如果一个文件很大,可能会占用多个block(4k)。
10、如果文件很小,也要至少占一个block,并且剩余的空间不能被其它文件使用
11、inode的大小和总量查看
dumpe2fs /dev/sda1|egrep -i "block size|inode size"
dumpe2fs /dev/sda3|egrep -i "block count|inode count"
12、查看inode的总量和使用量命令:df -i
13、如何生成及指定inode大小 mkfs.ext4 -b 2048 -I 256 /dev/sdb
第二列:
第1个字符,文件类型
-:*****regular file普通文件(纯文本文件(可直接读取文件,如数字字母),二进制文件(可执行文件,如命令),数据格式文件)
d:*****directory 目录
b:**block 块设备(如光驱,硬盘)
l:***link 符号链接或软连接文件
c:character 串口设备(猫)
s:sock 进程之间通信会用到
Linux中扩展名没有实际的意义,主要用来让用户区分文件类型
1、源码.tar,.tar.gz,.tgz,.zip,.tar.bz表示压缩文件创建命令一般为tar
2、.sh表示shell脚本文件,通过shell语言开发的程序
3、.pl表示perl语言文件,通过perl语言开发的程序
4、.py表示python语言文件,通过python语言开发的程序
5、.html,.htm,.php,.jsp,.do表示网页语言的文件
6、.conf表示系统服务的配置文件
7、.rpm表示rpm安装包文件
第2-10个字符,rw-r--r--文件权限(r(read),w(write),x(执行)),
第11个字符,. 与selinux相关,关掉selinux后在创建新文件就没有点了。
第三列:文件的硬链接数。
硬链接是文件的又一个入口。
文件系统(ext234)的原理:只要文件的索引节点(Inode Index)还有一个以上的硬链接。
只删除其中一个硬链接(即仅仅删除了该文件的链接指向)并不影响索引节点本身和其他的链接(即数据文件本体并未被删除),只有文件的最后一个链接被删除后,此时如果有新数据要储存到硬盘上时或者系统通过类似fsck做磁盘检查的时候。
被删除的数据块以及目录的链接才会被释放,空间被新数据占用并覆盖。
此时数据就再也无法找回了,也就是说,在Linux系统中,删除静态文件(没有进程调用)(目录也是文件)的条件是与之相关的所有硬链接文件均被删除。
文件删除控制的变量:
i_link:文件硬链接数量
i_count:引用计数(有一个文件使用i_count加1)
文件删除的条件:i_link=0,i_count=0
答疑:1、被进程占用的文件能不能删除?能
2、如何查看文件是否被进程占用,或者看i_count?
3、如何找回没有链接指向但被进程占用的文件?
企业生产软链接作用:
1、编译软件时指定版本号(/application/apache2.2.23),访问时希望去掉版本号(/application/appache),可以设置软连接到编译的路径。
所有程序都访问软连接文件(/application/apache),当软件升级高版本后,只需删除链接文件,重建到高版本路径的软连接即可(/application/apache)。
2、企业代码发布时(PHP程序),需要把所有代码传到一个新发布的临时目录或者新的站点目录,发布时要么一个mv,也可以重建软连接指向到这个新的临时目录或者新的站点目录。
3、不方便目录移动,使用ln -s。
第四列:文件对应的属主或者用户
第五列:文件对应的属组或者用户组(团体)
用户权限分类
1、超级用户
root uid=0 gid=0,UID为0的用户为超级用户
2、虚拟用户
存在Linux中,满足文件或程序运行的需要,而创建的,不能登录,不能使用,傀儡。
UID和GID范围1-499
都是以/sbin/nologin结尾的
3、普通用户
管理员root创建的用户,UID和GID范围500-65535
passwd各字段简述
shadow个字段简述
特殊权限
suid 4000 权限字符s(S),用户位上的x位上设置。
授权方法:chmod 4755 rm 用途,当一个命令拥有suid权限后,任何用户使用这个命令都会使用这个命令的用户主的权限执行。
例:当rm拥有suid权限后,普通用户也可以使用rm删除服务器中的所有文件。
guid 4000 权限字符s(S),用户位上的x位上设置。
授权方法:chmod 2755 oldboy.txt 用途,用户在此目录下具有w权限的话,若使用者在此目录下建立新文件,则新文件的群组与此目录的群组相同。
粘滞位1000 权限字符t(T),其他用户位的x位上设置,授权方法:chmod 1755 oldboy.txt 用途,一般是把一个文件夹的权限都打开,用于共享文件,像tmp/目录一样,普通用户只能查看,进入,但无法删除。