本文主要向大家介绍Unix系统的安全策略的一些常用命令。主要包括umask、cp、mv、cpio 和 crypt命令。

umask命令

umask设置用户文件和目录的缺省屏蔽值,若将此命令放入profile文件,就可控制该用户后续所建文件的存取许可。umask命令与chmod命令的作用正好相反,它告诉系统在创建文件时不给予某种存取许可。

cp、mv和cpio命令

cp命令拷贝文件时,若目的文件不存在则将同时拷贝源文件的存取许可,包括SUID和SGID许可。新拷贝的文件属拷贝的用户所有,故拷贝别人的文件时应小心,不要被其他用户的SUID许可破坏自己的文件安全。

mv命令移文件时,新移的文件存取许可与原文件相同,mv仅改变文件名。只要用户有目录的写和搜索许可,就可移走该目录中某人的文件且不改变其存取许可。若目录许可设置不正确,则用户的文件可被移到一个他不能修改和删除的目录中,将出现安全漏洞。

cpio命令用于将目录结构拷贝到一个档案文件中,然后可再用cpio命令将该档案文件转成目录结构。

档案文件存放每个文件的信息,包括文件所有者、小组用户、最后修改时间、最后存取时间和文件存取许可方式。 cpio的安全约定如下:

根据档案建立的文件保持存放于档案中的存取许可方式。

从档案中提取的每个文件的所有者和小组用户设置给运行“cpio -i”命令的用户,而不是设置给档案中指出的所有者和小组用户。

当运行“cpio -i”命令的用户是root时,被建立的文件的所有者和小组用户是档案文件所指出的。

档案中的SUID/SGID文件被重建时,保持SUID和SGID许可,如果重建文件的用户不是root, SUID/SGID许可是档案文件指出的用户/小组的许可。

文件加密crypt

crypt命令可提供给用户加密文件,该命令用一个关键词将标准输入的信息编码为不可读的杂乱字符串,送到标准输出设备。再次使用此命令,用同 一关键词作用于加密后的文件,可恢复文件内容。一般来说,在文件加密后,应删除原始文件,只留下加密后的版本,且应牢记加密关键词。

crypt程序可能被做成特洛依木马,故不宜用口令作为关键词。最好在加密前用pack或compress命令对文件进行压缩,然后再加密。