当一个进程执行时就被赋于4个编号,以标识该进程隶属于谁,分别为实际和有效的UID,实际和有效的
GID.有效的UID和GID一般和实际的UID和GID相同,有效的UID和GID用于系统确定该进程对于文件的存取许可.而设置可执行文件的SUID许可将改变上述情况,当设置了SUID时,进程的有效UID为该可执行文件的所有者的有效UID,而不是执行该程序的用户的有效UID,因此,由该程序创建的都有与该程序所有者相同的存取许可.这样,程序的所有者将可通过程序的控制在有限的范围内向用户发表不允许被公众访问的信息.同样,SGID是设置有效GID.用chmod u s 文件名和chmod u-s文件名来设置和取消SUID设置.用chmod g s 文件名和chmod g-s文件名来设置和取消SGID设置. 当文件设置了SUID和SGID后,chown和chgrp命令将全部取消这些许可.
6.cp mv ln和cpio命令
cp拷贝文件时,若目的文件不存在则将同时拷贝源文件的存取许可,包括SUID和SGID许可.新拷贝的文件属拷贝的用户所有,故拷贝另人的文件时应小心,不要被其他用户的SUID程序破坏自己的文件安全. mv移文件时,新移的文件存取许可与原文件相同,mv仅改变文件名.只要用户有目录的写和搜索许可,就可移走该目录中某人的SUID程序且不改变其存取许可.若目录许可设置不正确,则用户的SUID程序可被移到一个他不能修改和删除的目录中,将出现安全漏洞.
ln为现有文件建立一个链,即建立一个引用同一文件的新名字.如目的文件已经存在,则该文件被删除而代之以新的链,或存在的目的文件不允许用户写它,则请求用户确认是否删除该文件,只允许在同一文件
系统内建链.若要删除一个SUID文件,就要确认文件的链接数,只有一个链才能确保该文件被删除.若SUID文件已有多个链,一种方法是改变其存取许可方式,将同时修改所有链的存取许可,也可以chmod 000 文件名,不仅取消了文件的SUID和SGID许可,而且也取消了文件的全部链.要想找到谁与自己的SUID程序建立了链,不要立刻删除该程序,系统管理员可用ncheck命令找到该程序的其它链.cpio命令用于将目录结构拷贝到一个普通文件中, 而后可再用cpio命令将该普通文件转成目录结构.用-i选项时,cpio从标准输入设备读文件和目录名表,并将其内容按档案格式拷贝到标准输出设备,使用-o选项时,cpio从标准输入设备读取先已建好的档案,重建目录结构.cpio命令常用以下命令做一完整的目录系统档案:
find fromdir -print|cpio -o > archive
根据档案文件重建一个目录结构命令为:
cpio -id < archive
cpio的安全约定如下:
(1)档案文件存放每个文件的信息,包括文件所有者,小组用户,最后修改时间,最后存取时间,
文件存取许可方式.
*根据档案建立的文件保持存放于档案中的取许可方式.
*从档案中提取的每个文件的所有者和小组用户设置给运行cpio -i命令的用户,而不是设置给档案中指出的所有者和小组用户.
*当运行cpio -i命令的用户是root时,被建立的文件的所有者和小组用户是档案文件所指出的.
*档案中的SUID/SGID文件被重建时,保持SUID和SGID许可,如果重建文件的用户不是root,SUID/SGID许可是档案文件指出的用户/小组的许可.
(2)现存文件与cpio档案中的文件同名时,若现存文件比档案中的文件更新,这些文件将不被重写.
(3)如果用修改选项U,则同名的现存的文件将被重写.可能会发生一件很奇怪的事:如被重写的文件原与另一个文件建了链,文件被重写后链并不断开,换言之,该文件的链将保持, 因此,该文件的所有链实际指向从档案中提取出来的文件,运行cpio无条件地重写现存文件以及改变链的指向.
(4)cpio档案中可含的全路径名或父目录名给出的文件.
- 进行类Unix小型机系统管理的八项注意
- 类UNIX系统基础:文件安全与权限
- 在SCO Unix系统中实现业务数据的自动备份
- 构建SCO UNIX下的邮件系统
- sco unixware 7.1.1 全面学习资料
- SCO UNIX 系统下搭建电子邮件服务器
- undelete 如何在SCO UNIX下的反删除
- UNIX 常用指令介绍
- 对话 UNIX,第 7 部分: 命令行惯用语
- Unix系统下磁带机配置使用攻略
