本来我根本没学过LINUX系统。因为论坛空间的需要,买了国外的VPS,装了LINUX系统。刚拿到后台账号的时候,我完全迷茫了。一切都是空白。没有系统,没有HTTP服务器,是赤裸裸的“网络硬盘”。
还好百度大叔在,我可以“水中捉月”了。不查不知道。原来这些国外VP的使用信息也少得可怜。终于学会了SSH,费了好大劲终于装上了kloxo面板。这个终于好了,有HTTP,
FTP也是可用的。传输完信息,发现权限的问题很严重。“用户名”和“用户组”的所有者是什么?当我试图用chown命令更改“owner”时,我几乎被弄糊涂了。终于让论坛跑了,没多久,问题又来了。
不知道怎么回事,FTP文件显示不了,但是无论如何都显示不了,有时候还登录不了。百度大叔也没找到可用的资料。估计只有我一个人遇到这个问题吧!FTP权限的问题我想了很久。
估计是FTP用户的权限和目录所有者的权限有问题。kloxo面板中的FTP用户管理功能太简单了,改了也没用,只好查相关命令。
As a result of belonging to the street hooligan user group, the following contents appear: Creating mailbox file: File already exists User added: Warning: Home directory already exists. No files were copied from the skel directory into it. I guess I've created the same file before,
当我们使用PHP程序时,如果你想在安装后删除整个目录,你会发现apache用户已经生成了一些文件,ftp用户是无法删除的。
其实这个是有办法解决的。
方法一。用户组控制方法:首先将虚拟主机中的所有虚拟用户(ftp用户)添加到apache组中,然后将umask设置为002,使用户和组都具有读写执行权限。这是一个简单的方法,但不安全。
不同的用户可以互相删除对方的文件,因为他们属于同一个组,组有读、写、执行的权限。
方法二。使用linux高级权限管理acl。
在一个目录上设置双重权限,除了用户自己的用户组,加上apache的读写权限,这样用户就可以删除apache生成的文件。但是对于其他虚拟用户,他不能删除。
让我们来看看第二种控制方法
在linux系统中,不仅可以将文件(目录)权限分配给所有者、同一组中的用户和其他用户。您也可以指定其他用户或组,但前提是在挂载分区时添加acl选项。
比如:挂载/dev/hda1 /home -o acl。
然后可以使用setfacl-mu:ftp:rwx/home/ftp/www命令为FTP用户分配/home/FTP/www目录的所有权限。
如果希望/home/ftp/www/下面新创建的目录和文件也有相同的权限,setfacl-d-mu:FTP:rwx/home/FTP/www。
设置默认权限。该命令还可以控制多个用户的不同权限。
比如setfacl-mu:FTP:rwx/home/www;setfacl-m u:tmp:r-x/home/www;Ftp用户拥有所有权限,而tmp用户拥有只读权限。
还可以设置mask的值:setfacl-mm m:rwx/home/www;
请在此之前完成以下任务:setfacl-m u:Apache:rwx/home/VM user/www;setfacl-d-m u:VM user:rwx/home/VM user/www;setfacl-d-m u:Apache:rwx/home/VM user/www;setfacl-m m:rwx/home/VM user/www;setfacl-d-m m:rwx/home/VM user/www;
这样在安装一个PHP程序的时候就不会提示apache用户没有写文件的权限,想删除一个目录的时候也不会因为下面有apache用户生成的文件而无法删除。
当然这种方法有点限制,就是基本上只能使用ext2和ext3分区格式,其他的,比如xfs和jfs,不能直接使用,只能修改后使用。