当前位置: 首页 > 知识 >正文

LINUX下FTP用户和apache用户权限问题

本来我根本没学过LINUX系统。因为论坛空间的需要,买了国外的VPS,装了LINUX系统。刚拿到后台账号的时候,我完全迷茫了。一切都是空白。没有系统,没有HTTP服务器,是赤裸裸的“网络硬盘”。

还好百度大叔在,我可以“水中捉月”了。不查不知道。原来这些国外VP的使用信息也少得可怜。终于学会了SSH,费了好大劲终于装上了kloxo面板。这个终于好了,有HTTP,

FTP也是可用的。传输完信息,发现权限的问题很严重。“用户名”和“用户组”的所有者是什么?当我试图用chown命令更改“owner”时,我几乎被弄糊涂了。终于让论坛跑了,没多久,问题又来了。

不知道怎么回事,FTP文件显示不了,但是无论如何都显示不了,有时候还登录不了。百度大叔也没找到可用的资料。估计只有我一个人遇到这个问题吧!FTP权限的问题我想了很久。

估计是FTP用户的权限和目录所有者的权限有问题。kloxo面板中的FTP用户管理功能太简单了,改了也没用,只好查相关命令。

黄天不负有心人,

最后我找到了一个管理FTP用户的命令方式:sudou useradd-g Apache-d/dev/null-s/bin/false ftpadmin首先创建一个ftpadmin用户。

属于apache用户组导致以下内容:创建邮箱文件:文件存在。

useradd: warning: the home directory already exists.Not copying any file from skel directory into it.

估计之前也创建过同样的文件,不管了,还有下面的代码:sudo pure-pw用户添加admin-u FTP admin-d/home/admin/XXX . com。

这是在pure-ftpd程序中建立一个FTP用户admin,并绑定到刚刚建立的系统用户ftpadmin。

FTP用户的主目录是/home /home/admin/XXX.com在每个命令执行后,pure-pw会要求输入该帐户的密码。连续输入两次密码后,生成FTP账号。然后,

每次修改用户设置时更新虚拟用户数据库,并在不重新启动服务的情况下运行以下命令:

sudo pure-pw mkdb

最后,将网站根目录的所有者改为ftpadmin,否则FTP无法上传文件。chown-R FTP admin/home/admin/XXX . com

-

当我们使用php程序时,如果你想在安装后删除整个目录,你会发现apache用户已经生成了一些文件,ftp用户是无法删除的。

其实这个是有办法解决的。

方法一。用户组控制方法

首先,将所有虚拟主机中的虚拟用户(ftp用户)添加到apache组中,然后将umask设置为002,这样用户和组都具有读、写和执行权限。这是一个简单的方法,但不安全。不同的用户可以删除彼此的文件,

因为是同一个组,所以组有读、写、执行的权限。

方法二。使用linux高级权限管理acl。

对一个目录设置双重权限,除了用户自己的用户组,添加apache的读、写、执行权限。

这样用户就能删除apache生成的文件.但为别人的组,别的虚拟用户他没法删除.

下面我们就来看看第二种的控制方法

linux系统里面,并不是只能为所有者,同组用户和其他用户这三类人分配一个文件(目录)的权限,你还可以指定其他的用户或者组,不过有个前提,挂载分区的时候加上acl选项,比如:

mount /dev/hda1 /home -o acl。

然后你可以使用

setfacl -m u:ftp:rwx /home/ftp/www

命令来给ftp用户分配/home/ftp/www目录的所有权限

如果你要/home/ftp/www/下面新建的目录和文件也有同样的权限

setfacl -d -m u:ftp:rwx /home/ftp/www

设置默认的权限,这个命令还可以实现多个用户的不同权限的控制,比如

setfacl -m u:ftp:rwx /home/www;

setfacl -m u:tmp:r-x /home/www;

ftp用户拥有所有权限,tmp用户拥有只读权限。

你还可以设置mask的值:

setfacl -m m:rwx /home/www;

这样,新建的你就可以让虚拟主机的用户和apache用户都有权限操作文件和目录了,比如apache用户的用户名是apache,虚拟主机的用户名是vmuser,目录是/home/vmuser/www,

可以使用以下的命令:

setfacl -m u:vmuser:rwx /home/vmuser/www;

setfacl -m u:apache:rwx /home/vmuser/www;

setfacl -d -m u:vmuser:rwx /home/vmuser/www;

setfacl -d -m u:apache:rwx /home/vmuser/www;

setfacl -m m:rwx /home/vmuser/www;

setfacl -d -m m:rwx /home/vmuser/www;

这样,在安装PHP程序的时候,就不会提示你apache的用户没有权限写文件,而你想删除一个目录的时候,也不会因为下面有apache用户生成的文件而不能删除了。

当然这个办法有点局限就是基本上只有ext2和ext3分区格式能用,其他的,比如xfs,jfs等不能直接使用,修改后才能使用。

相关文章:
  • 5月25日基金净值:国寿安保稳鑫一年持有混合A最新净值0.9874,跌0.02%
  • 越跌越买!“吸金”超870亿
  • 4月25日基金净值:景顺长城资源垄断混合最新净值0.558,跌0.89%
  • 5月30日基金净值:万家量化睿选混合A最新净值1.3364,涨0.78%
  • 6月28日基金净值:嘉实价值发现三个月定开混合最新净值0.9412,涨0.2%
  • 5月24日基金净值:易方达智造优势混合A最新净值0.9122,涨0.56%
  • 6月21日基金净值:博时稳定价值债券A最新净值1.3604,跌0.07%
  • 中银中证100ETF净值上涨1.04% 请保持关注
  • 4月27日基金净值:华商稳定增利债券A最新净值1.772,涨0.28%
  • 科创50ETF(588000)高开0.93% 期权成交额达3955万元