• 售前

  • 售后

热门帖子
入门百科

LINUX下FTP用户和apache用户权限问题的解析

[复制链接]
心一路向南飞该 显示全部楼层 发表于 2021-10-26 13:30:35 |阅读模式 打印 上一主题 下一主题
原来完全没有研究过LINUX体系,由于论坛空间的必要,购买的国外的VPS,装的LINUX体系。刚得到背景帐号时完全就晕菜了,什么都是空缺的,没有体系,没有HTTP服务器,就是一个全裸的“网络硬盘”。还好有百度大叔在,让我可以“水中捞月”一翻,不查不知道,原来这些国外VPS的利用资料也少得可怜。。。好不容易学会了SSH,并且费了一番周折,终于装上了kloxo面板。这下总算好了,有HTTP了,FTP也有了。。。传好资料后居然发现权限的问题很严重,“用户名”、“用户组”另有什么“所有者”,要用chown下令来改“所有者”,差点搞晕了。。总算让论坛运行起来了,没有过多久,问题又来了。不知道怎么回事,FTP的文件显示不了了,在kloxo面板修改,死活显示不了,偶然还登录不了。。。百度大叔那边也没有查到什么可用资料,估计就我一个遇到这种问题吧!关于FTP权限问题,我细致的想了好久,估计就是出如今FTP用户的权限以及目录的所有者权限出现问题了。kloxo面板里的FTP用户管理功能太简朴了,而且怎么改都没有用,我只好查相干的下令了。黄天不负故意人啦,终于让我找到了下令方式的管理FTP用户:sudo useradd -g apache -d /dev/null -s /bin/false ftpadmin先创建一个ftpadmin的用户,从属于apache用户组结果出现下面的内容:Creating mailbox file: File exists
useradd: warning: the home directory already exists.Not copying any file from skel directory into it.
估计是以前有创建过同样的文件吧,不管它,再来下面的代码:sudo pure-pw useradd admin -u ftpadmin -d /home/admin/XXX.com
这是在pure-ftpd步伐中建立一个FTP用户admin 并绑定到刚才建立的体系用户ftpadmin,这个FTP用户的主目录是/home/admin/XXX.com实验每条下令之后pure-pw会要求输入账号的暗码。连续输入2遍暗码后FTP帐号就天生了。接着,每次修改用户设置后都要更新一下假造用户数据库,不必要重新启动服务,运行下行下令:
sudo pure-pw mkdb
末了,再将网站根目录的所有者改成ftpadmin,否则FTP上传不了文件。chown -R ftpadmin /home/admin/XXX.com
------------
当我们利用PHP步伐的时间,在安装好以后,如果你想删除整个目录,你会发现apache用户天生了一些文件,ftp的用户不能删除.
实在这是有办法办理的。
方法1.用户组控制方法
先给所有的假造主机主机中的假造用户(ftp用户)到场到apache这个组.然后设置umask为002.这样用户和组都有读写实验权限。这个是比较容易的方法.但不安全。差别的用户可以删除对方的文件,由于是同一个组,组有读写实验的权限.
方法2.利用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等不能直接利用,修改后才华利用。

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作