有关文件删除的说明:
Linux中的文件名是存放在父目录的block里面,并指向这个文件的inode节点,这个文件的inode节点再标记指向存放这个文件的block的数据块.我们删除一个文件,实际上并不清楚inode节点和block数据.只是在这个文件的父目录里面的block中,删除这个文件的名字和这个明文件inode的对应关系.使这个文件名消失.并且无法指向这个文件的inode节点,当没有文件名指向这个inode节点的时候,系统会同时释放indoe节点,当没有文件名指向这个inode节点的时候,系统会同时释放inode节点和存放这个文件的数据块.并更新inode MAP 和block MAP,让这些位置可以用于放置其他的新的文件数据.
目录权限:
r 只读权限,只有r
当一个用户对一个文件夹只有读权限( r--)时,无法进入该文件夹, 原因是没有x 权限,
ls -l 时, 可以看到文件名,但是无法看到文件的属性
x 只有x权限
可以 cd 进入到目录,但是无法查看内容
w 只有w权限,无法创建
但是+x 就可以创建
Linux 默认权限:
d: 755
f: 644
umask 计算:
文件:从666开始计算,遇到偶数位直接相减,奇数位加1 后 减 umask值
目录:从777开始计算
永久生效修改文件/etc/profile
特殊权限位:
Linux 系统基本权限位为9位权限,但还有额外3位权限位.共12位权限
suid s(有x) S 4 用户对应的权限位(用户对应的3位上)
sgid s(有x) S 2 组对应的权限位,用户组对应的3位上
sticky t(有 x) T 1 其他用户对应的权限位
suid 知识小结:是针对命令和二进制程序
1) 用户或属主对应的前三位权限的x位上如果有s就表示suid权限.
当x位上没有小写x执行权限的时候,suid的权限就显示的就是大写S
2) suid作用是让普通用户可以以root(或其他)的用户角色运行只有root(或其他)账号才能运行的程序或命令,或程序命令对应本来没有的权限操作的文件等.
(注意 和 su 及 sudo 的区别),suid为某一个命令设置特殊权限(使用者为所有人).通过给rm命令设置suid加深学生对suid的理解
3)suid修改的是执行的命令passwd,而不是处理的目标文件/etc/shadow
4)仅对二进制命令程序有效,不能用在shell等类似脚本上
5)二进制命令程序需要有可执行权限x配合
6)suid权限金子程序命令执行过程中有效
7)执行suid命令的任意系统用户都可以获得该命令程序在执行期间对应的拥有者的所有权限.
8)suid双刃剑,是一个比较危险的功能,对系统有一定的威胁