特殊权限 set_uid
set_uid:
这里的s 就是set_uid 权限
linux 下的passwd文件是允许普通用户修改自己的密码的 (/etc/shadow :密码文件)
set_uid 是让普通用户在执行此命令的时候,赋予普通用户临时 root权限,给一个文件设置uid,首先这个文件是二进制文件、可执行文件
怎么给一个文件授权set_uid权限
如:给ls 命令设置该权限
chmod u+s /usr/bin/ls
此时查看 ls -l /usr/bin/ls 可以看到 /usr/bin/ls 变成红色。同时在权限那里也有s权限
删除这个权限 chmod u+s /usr/bin/ls
chmod u+s /usr/bin/ls
0
一个普通能执行一个命令 主要还是要这个这个命令在其他用户那里拥有 x 执行权限,最后才能使用 set_uid来赋予临时root权限
特殊权限 set_gid
set_gid 使文件执行阶段具有文件所有组的权限 ,使普通用户拥有所属组权限
如:
chmod g+s/usr/bin
此时在所属组的那里,权限就有了s 权限
set_gid 不仅可以作用在文件上,也可以作用在目录上
当我们给我们的目录 设置了set_gid 后,在这个目录下创建子目录和文件的时候,创建的子目录和文件的所属组就会随着我们父级目录所属组
(设置了set_gid的目录)保持一致
如:将目录234 (chmod g+s 234)设置set_gid后,我们再修改我们的所属组,chown :user 234 此时我们的所属组变成了user
当我们再次在 这个目录下创建子目录和文件的时候,创建的子目录和文件的所属组就会变成了user
特殊权限 stick_bit
文件是否可以被某个用户删除,主要取决于该文件在这个目录是否对该用户具有写权限。有写功能即可删除,否则反之!
stick_bit 防止别人删除我们自己的文件
rwt 也是具有x权限的
当我们的目录添加了一个 stick_bit权限,则我们在其他用户 的时候就不能删除这个文件和目录,但是可以修改。
软链接文件
什么样的文件属于软连接?(window下的相当于快捷方式)
这里的bin 就是软连接文件 但是真时的bin 时/usr/bin
ls也一样
软连接:在文件中存了一个另外一个文件的路径或者目录的路径,链接文件的大小和路径有关,路径越长文件越大
软连接文件有什么用?
1.可以节省空间
如:把/root/123/1.txt 放在/tmp/123/12/1.txt 如果复制的话 则会占据大空间,当我们原文件变化时需要再次复制
如果做成软链接则节省空间且同步
做成软链接格式:
ln -s 源文件 目标文件 (以绝对路径写全)
目录也可以做成软链接
上面的都是相对路径的软连接
做软链接尽量用绝对路径
软链接实际应用
假如有一个目录/分区 ,空间快用完。如果一个进程、服务仍在这个目录/分区执行,则系统容易出问题
当我们磁盘/分区快满了,我们可以要写的文件放在一个磁盘空间大的分区。(但是这个文件的路径不能改变)
1.首先我们可以把 一直操作的文件[(在原磁盘数据量很大)->(源文件)] 先拷贝(cp)到另一个空间大的文件(目标文件)
2.删除源文件
3.立马做软链接 ln -s 目标文件(绝对路径) 源文件
最后继续写内容只是写在目标文件下
这就是软链接的好处
硬链接文件
硬连接只针对文件操作,不能给目录做硬链接
ln 2.txt 2_heart.txt
含义:创建了一个文件,这个文件的ino号和另一个文件的ino 号一样,那么这两个文件互为硬链接文件
这两个不分彼此
因为我们硬链接的ino 是一样的,所有我们存储的数据是不会存储两份的。
当我们删除了硬链接的一个,它是不会出问题的,但是软链接不行,会失去指向。
硬链接的两个特性
文件不能跨分区做以链接
目录不能硬链接
原文地址:http://blog.51cto.com/13589255/2067896