2015年(48)
分类: 系统运维
2015-08-16 17:47:31
suid/guid 1、为什么要使用这种类型的脚本? 例如有几个着几个大型的数据库系统,对它们进行备份需要有系统管理权限。可以写几个脚本,并设置了它们的g u i d,这样就可以指定的一些用户来执行这些脚本就能够完成相应的工作,而无须以数据库管理员的身份登录,以免不小心破坏了数据库服务器。通过执行这些脚本,他们可以完成数据库备份及其他管理任务,但是在这些脚本运行结束之后,他们就又回复到他们作为普通用户的权限。 2、查找suid/guid命令 有相当一些U N I X命令也设置了s u i d和g u i d。如果想找出这些命令,可以进入/ b i n或/ s b i n目录,执行下面的命令: 上面的命令是用来查找s u i d文件的; 上面的命令是用来查找s u i d和g u i d的。 3、设置UID 设置了这一位后x的位置将由s代替。 记住:在设置s u i d或g u i d的同时,相应的执行权限位必须要被设置。 例如,如果希望设置g u i d,那么必须要让该用户组具有执行权限。 如果想要对文件l o g i n[它当前所具有的权限为rwx rw- r-- (741)]设置s u i d,,可在使用c h m o d命令时在该权限数字的前面加上一个4,即chmod 4741,这将使该文件的权限变为r w s rw- r - -。 设置suid/guid的例子 4、还可以使用符号方式来设置s u i d / g u i d。如果某个文件具有这样的权限: rwx r-x r- x,那么可以这样设置其s u i d: 于是该文件的权限将变为: rws r-x r-x 在查找设置了s u i d的文件时,没准会看到具有这样权限的文件:rwS r-x r- x,其中S为大写。 它表示相应的执行权限位并未被设置,这是一种没有什么用处的s u i d设置,可以忽略它的存在。 注意,c h m o d命令不进行必要的完整性检查,可以给某一个没用的文件赋予任何权限,但chmod 命令并不会对所设置的权限组合做什么检查。因此,不要看到一个文件具有执行权限,就认为它一定是一个程序或脚本。 |
符号链接 存在两种不同类型的链接,软链接和硬链接。修改其中一个,硬连接指向的是节点(inode),而软连接指向的是路径(path) 软链接文件 软链接又叫符号链接,这个文件包含了另一个文件的路径名。可以是任意文件或目录,可以链接不同文件系统的文件。和win下的快捷方式差不多。链接文件甚至可以链接不存在的文件,这就产生一般称之为"断链"的问题(或曰“现象",链接文件甚至可以循环链接自己。类似于编程语言中的递归。 命令格式: 硬链接文件 info ln 命令告诉您,硬链接是已存在文件的另一个名字,硬连接的命令是 对硬链接文件进行读写和删除操作时候,结果和软链接相同。但如果我们删除硬链接文件的源文件,硬链接文件仍然存在,而且保留了愿有的内容。这时,系统就“忘记”了它曾经是硬链接文件。而把他当成一个普通文件。修改其中一个,与其连接的文件同时被修改 举例 说明: |
原来前面做的试验,改变了系统默认的umask值,现在改回来为022, 举个httpd.conf文件做例 子 第一条为硬链接,第二条为软链接 可以看到,使用ls -li,软连接只产生了10字节的快捷而已,硬连接却实实在在的的拷贝。最前面的inode硬链接和源文件是一样的,而软链接不一样,具体看一下回复这话有误,但先这么理解,具体请看下面的回复 对http1.conf进行编辑,可以发现httpd.conf也发生了一样的变化 现在删除链接的源文件,来比较不同之处 发现,httpd2.conf实际已经不存在了,是断链,而httpd1.conf变也了普通文件 |