linux web服务器php和ftp用户权限问题

发布于 2021-11-17 18:59:24 字数 288 浏览 869 评论 8

服务器上安装php跑web。

然后为了方便其他人管理站点,所以安装了vsftpd。

由于ftp需要多账户,所以php运行用户无法作为ftp用户。

现将php运行用户和ftp用户都添加到一个 webserver的group里面

现在有一个问题:

php运行时创建的文件用户通过ftp无法修改。因为php创建文件默认是644权限,组用户是没有修改权限的。

现在问题怎么解决,我不希望从php代码上去改变,因为很多web程序都不是我们自己写的。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(8

爱你是孤单的心事 2021-11-22 10:58:23

用虚拟用户,然后vsftpd和php的运行用户一致

可是我不能没有你 2021-11-22 10:58:09

回复
对头

眼泪淡了忧伤 2021-11-22 10:56:56

pam_service_name=www 这个配置坑死了 ,应该是vsftpd

最偏执的依靠 2021-11-22 10:41:08

回复
你没建立www这个用户吧,我这边nginx ftp git 用的同一个账号www

北笙凉宸 2021-11-22 09:32:45

用虚拟用户

yum -y install vsftpd db4-utils
chkconfig vsftpd on
service vsftpd start

============================
vim /etc/vsftpd/vuser.txt 
#格式如下
user1
passwd1
user2
passwd2
============================

vim updb.sh
#输入以下内容
#!/bin/bash
db_load -T -t hash -f /etc/vsftpd/vuser.txt /etc/vsftpd/vuser.db

chmod +x updb.sh

/etc/vsftpd/updb.sh

chmod 600 /etc/vsftpd/vuser.db


==========================================

vim /etc/pam.d/vsftpd

#注释掉所有,增加以下两行

auth required pam_userdb.so db=/etc/vsftpd/vuser
account required pam_userdb.so db=/etc/vsftpd/vuser

===================================================================


mkdir /etc/vsftpd/vuser
cd /etc/vsftpd/vuser
# 建立与用户名同名的文件 写上以指定虚拟用户根目录位置
local_root=/data/www

=========================================

vim /etc/vsftpd/vsftpd.conf
# G 跳到末尾 加入以下内容

pam_service_name=www
userlist_enable=YES
tcp_wrappers=YES


guest_enable=YES
guest_username=www

user_config_dir=/etc/vsftpd/vuser
virtual_use_local_privs=YES
#如果启用,虚拟用户将拥有和本地用户一样的权限。默认情况下,虚拟用户就拥有和匿名用户一样的权限,而后者往往有更多的限制(特别是写权限)。 
#默认值:NO

chroot_local_user=YES
#如果设为YES,本地用户登录后将被(默认地)锁定在虚根下,并被放在他的home目录下。 
#警告: 
#这个配置项有安全的意味,特别是如果用户有上传权限或者可使用SHELL的话。在你确定的前提下,再启用它。 
#注意,这种安全暗示并非只存在于VSFTPD,其实是广泛用于所有的希望把用户锁定在虚根下的FTP软件。 
#默认值:NO

==========================================

setsebool -P ftpd_disable_trans on
#设置selinux 布尔值

service vsftpd restart
#重启服务

=========================================
#添加虚拟用户
vim /etc/vsftpd/vuser.txt 
#添加用户名密码
cd /etc/vsftpd/vuser
# 建立与用户名同名的文件 写上以指定虚拟用户根目录位置
local_root=/ #目录名

/etc/vsftpd/updb.sh

最偏执的依靠 2021-11-22 06:19:54

要修改vsftp的配置文件配置用户,有点麻烦。为什么不使用svn呢?

能否归途做我良人 2021-11-20 09:17:49

能满足需求,但是vps就没分区,安装起来好像很麻烦的样子

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文