我们在很多地方都可以看见要求把Perl 程序的属性改为 755 ,文本属性改 666 ,目录属性改777 等,这到底是什么意思?它们各代表什么意思?为什么要这样设置?如何设置?哦,这么多问题呀,让我慢慢道来 ^_^
请注意:以下属性的设置是Unix 类操作系统必须的,如果你用的是 WIN95/98 操作系统,则无需任何属性的设置(如果在WIN NT/2000 上采用了 NTFS 格式的话,请注意设置好 PerlCGI 相应目录的读写权限,一般是在相应目录上添加 Everyone用户,并设置其可写即可)。
1.Perl 程序和目录属性一般设置为多少?
一般来说,在 Unix 的服务器中,Perl CGI 程序的属性一定要设为755,而与 Perl 有关的数据文件,一般要设为 666 ,和 Perl有关的目录,一般设置为 775 或 777。而在 WIN95/98/NT下,由于 Perl 程序不是依靠属性来完成运行的,所以不必修改。
2.755,666 等属性是什么意思?怎么算出来的?
在 Unix 中,属性值分为 OWNER、GROUP、PUBLIC 三项(其实这每项表明的是对应用户或用户组对此文件或目录的权限),而每项都可以设置权限为Read、Write、Execute(也就是权限为可读、可写、可执行),其中Read 的值为 4 ,Write 的值为 2 ,Execute 的值为 1。那么755 就表示:
OWNER用户(就是创建此文件或目录的用户)有 Read、Write、Execute权限,它们的值加起来等于 7
GROUP用户(就是创建此文件或目录的用户所在的用户组)有Read、Execute 权限,它们的值加起来等于 5
PUBLIC 用户(就是访问此文件或目录的用户)有 Read、Execute权限,它们的值加起来等于 5
666,777 也可以用类似的办法推算出来,你现在明白了吗?
对于目录来说,由于默认属性是 755 ,因此如果你的Perl 程序需要自己来建立子目录的话,就必须要有 Write属性,所以相应目录的属性必须要改为 777。
最后还要强调一点,当你用 FTP 或 TELNET 登陆修改你的Perl 的时候,你是 OWNER 用户,而你用浏览器访问你的 Perl程序的时候,你是 PUBLIC 用户。
3.如何用 TELNET 或 FTP 来设置 Perl 程序的属性?
TELNET:登陆成功后,使用命令 chmod <属性值><文件名> 即可。
FTP:我们以 CuteFTP 为例,其实其他的 FTP 软件的修改属性用法基本是一样的。
a) 首先,使用 CuteFTP 连接你的服务器,并选择你将要修改属性的文件。
b) 然后,用鼠标右键点击需要修改属性的文件,会弹菜单
c) 接着选择 Change file attributes(CuteFTP4.0 版以上请选择 CHMOD...),会出现窗口,根据需要选择复选框,或直接在Manual 文本框中输入适当的属性值。
d) 最后点一下 OK ,就 OK 了。