免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 5097 | 回复: 13
打印 上一主题 下一主题

[FTP] proftpd 权限参数问题求助。。。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-11-08 17:10 |只看该作者 |倒序浏览
5可用积分
服务器是centos,然后生产环境我是用的lampp来练手

默认时,htdocs网站目录的用户和组都是proftpd的nobody


然后我改变了网站目录的用户和组为apache

这时,ftp就失去了网站目录写入等777权限了

我怎么才能在apache运行网站目录的情况下,又能让ftp的nobody也可以拥有最大的权限呢,也就是能改变网站目录的777或775,或建立目录。。。。

下面这个是 proftpd.conf

# This is a basic ProFTPD configuration file (rename it to
# 'proftpd.conf' for actual use.  It establishes a single server
# and a single anonymous login.  It assumes that you have a user/group
# "nobody" and "ftp" for normal operation and anon.

ServerName            "ProFTPD"
ServerType            standalone
DefaultServer            on

# Port 21 is the standard FTP port.
Port                21
# Umask 022 is a good standard umask to prevent new dirs and files
# from being group and world writable.
Umask                022

# To prevent DoS attacks, set the maximum number of child processes
# to 30.  If you need to allow more than 30 concurrent connections
# at once, simply increase this value.  Note that this ONLY works
# in standalone mode, in inetd mode you should use an inetd server
# that allows you to limit maximum number of processes per service
# (such as xinetd)
MaxInstances            30

# Set the user and group that the server normally runs at.
User                nobody



#Group                nogroup


# Normally, we want files to be overwriteable.
<Directory /opt/lampp/htdocs/*>
&nbsp;&nbsp;AllowOverwrite&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;on
</Directory>

# only for the web servers content
DefaultRoot /opt/lampp/htdocs

# nobody gets the password "lampp"
# commented out by lampp security
#UserPassword nobody wRPBu8u4YP0CY
UserPassword nobody oFOOS27mrhc8A

# nobody is no normal user so we have to allow users with no real shell
RequireValidShell off

# nobody may be in /etc/ftpusers so we also have to ignore this file
UseFtpUsers off


[ 本帖最后由 6808849 于 2008-11-8 17:12 编辑 ]

最佳答案

查看完整内容

第1个问题:如果就这样的话,要是真正的将网站开放,是不是带来安全隐患?如果是,那么我修改了这个目录的 用户和组 为 apache命令为:chown -R apache.apache /opt/lampp/htdocs/ 而这个时候呢,htdocs 目录的用户和组确实是 apache (755) 但运行程序就出现了问题,因为原本应该给予写入权限(777)的,现在都是7551 先确定你的apache 运行身份是否在用apache用户, 因为按你现在给的权限,如果apache 是用apache 身份运行不会有问 ...

论坛徽章:
0
2 [报告]
发表于 2008-11-08 17:10 |只看该作者
原帖由 6808849 于 2008-11-9 02:58 发表
还是没解决!我从今天接触linux及生产环境才第4天

首先确实要感谢这位哥们,跟帖帮忙半天,也没让我完全明白   我接触这个时间实在是太短了,真的不好意思

是这样的,我再简单说一下! ...

第1个问题:如果就这样的话,要是真正的将网站开放,是不是带来安全隐患?

如果是,那么

我修改了这个目录的 用户和组 为 apache

命令为:chown -R apache.apache /opt/lampp/htdocs/

而这个时候呢,htdocs 目录的用户和组确实是 apache (755)  但运行程序就出现了问题,因为原本应该给予写入权限(777)的,现在都是755
1 先确定你的apache 运行身份是否在用apache用户, 因为按你现在给的权限,如果apache 是用apache 身份运行不会有问题的.
2 htdocs 你给了apache 用户身份运行,如果你apache 是使用apache 身份运行的,是有一些出现安全问题,因为你的权限是755 ,那么apache 对你整理个目录,有读,写,删除,执行权限了。


而这个时候,我希望通过FTP就可以更改相应目录的权限,比如在FTP里修改bbs目录里的一些子目录为777
可是,我这个ftp账户改不了,也建立不了目录,也删除不了目录。。。。

你也说了,Umask   022最大的权限是 755  ,这个我能够理解,是 777-22  对吧?  (我把这个值改为000、0、甚至把这个参数整个都删除了,nobody还是无法在htdocs做任何事)

那么第2个问题就是:我怎么样,才能让FTP将目录权限任意修改呢?比如把bbs里的一些目录修改成777

而不是在终端去用命令行,我觉得很不方便,也不直观。

这问题要配合半第一个问题来解决,我上面早已经回复出答案了。
1 修改porftp 注解Umask
2 把你上面的权限改为 chown -R nobody.apache /opt/lampp/htdocs/  #这样的FTP可以有读,写,删除,执行权限,
因为nobody 是用户 apache 是组 按755 分配 nobody 有完全权限, apache 和其它读取和执行权限.这样你的FTP使用的是nobody 也就有权限改为把子目录为777 权限了。


3 因为安全,你可以对BBS 特定某个目录,要写的权限的,通过FTP,或shell chmod 修改为775 就可以了。除非你apache 运行身份不是apache 用户组.确实不行,那么就用777吧,注意:这里说的特定某个目录,不是所有啊


discuz 实例:
chown -R nobody.apache /opt/lampp/htdocs/
cd /opt/lampp/htdocs/bbs/
chmod -R 775 ./forumdata  ./customavatars ./templates ./attachments

chmod -R 777 ./forumdata  ./customavatars ./templates ./attachments #选用775不行再用这个吧!


[ 本帖最后由 luo118 于 2008-11-9 11:37 编辑 ]

论坛徽章:
0
3 [报告]
发表于 2008-11-08 17:21 |只看该作者
把apache 运行身份,也改为 nobody 用户运行就可以了,
这样FTP和apache 都有共有nobody用户相同权限。
删除修改,都OK,

论坛徽章:
0
4 [报告]
发表于 2008-11-08 17:31 |只看该作者
那样的话
我就没有必要建立apache用户和组了,更没必要去把网站目录改成apache了

就只用ftp的 nobady 做生产环境?

上传个程序,都不用设置777 。。。。。

这样能行吗?




刚接触linux,不太懂

论坛徽章:
0
5 [报告]
发表于 2008-11-08 17:49 |只看该作者
那修改目录权限

chown nobady:apache  website
chmod 755 website

chmod 775 website

这样就可以了,有最大的权限FTP  如果是755 apache 只有读和执行权限。
当然apache 你可以为每个网站指定身份运行独立权限。

论坛徽章:
0
6 [报告]
发表于 2008-11-08 17:51 |只看该作者
两种做方都可以,
后说的这种,这做方法安全D。

论坛徽章:
0
7 [报告]
发表于 2008-11-08 18:02 |只看该作者
其实我的意思呢,就是:网站目录,包括phpmyadmin 可以用apache身份运行

然后现有的这个 nobody 的ftp,可以对其 网站目录有 建立文件夹、删除、修改、上传、修改目录777或775 等权限就OK了

我觉得这样的好像是比较正常合理的



而当前的情况是:网站目录我用了apache身份运行,然后ftp对这个目录都什么权限也没有了

                而网站目录我用了FTP的nobody身份运行,我上传CMS或discuz程序,都不用更改一些目录777写入权限,安装时检测出都能写入。我怕这样不安全。





请哥们能简单的指明一下我这个想法的具体配置方法吗?

论坛徽章:
0
8 [报告]
发表于 2008-11-08 18:33 |只看该作者
而当前的情况是:网站目录我用了apache身份运行,然后ftp对这个目录都什么权限也没有了
你说清楚点吗?
apache身份运行 那用什么权限 755 775??

而网站目录我用了FTP的nobody身份运行,我上传CMS或discuz程序,都不用更改一些目录777写入权限
我猜你用apache 身份用了 775权限吧。

不然你

ll
把信息贴上来,

我大概明白你的意思,我第二种做方也可以用755,

之后把要那些要写入权限的目录,再用775, 不要对整个网站有775 否则会给别入。。。。

关于你在FTP 修改为 777 的权限,是用不了的,因为你ProFTPD
设定了Umask                022  
只允许最大755 权限,非除你关闭这功能。

论坛徽章:
0
9 [报告]
发表于 2008-11-09 02:58 |只看该作者
还是没解决!我从今天接触linux及生产环境才第4天

首先确实要感谢这位哥们,跟帖帮忙半天,也没让我完全明白   我接触这个时间实在是太短了,真的不好意思

是这样的,我再简单说一下!

系统是centos、生产环境用的是 lampp  (不知道你用过没有)

再安装完后,htdocs 目录权限的所有者和群组是 nobody (755),并且,这个账户也是 proftpd 的,所以我FTP登录上去,可以自由建立目录及修改权限!比如建立个bbs安装discuz,建立个cms安个程序。

在安装这些程序的时候,原本正常是会提示修改一些目录为写入权限的 也就是777,都没有出现,很顺利就安装完了,运行程序时也没有任何错误。

第1个问题:如果就这样的话,要是真正的将网站开放,是不是带来安全隐患?

如果是,那么

我修改了这个目录的 用户和组 为 apache

命令为:chown -R apache.apache /opt/lampp/htdocs/

而这个时候呢,htdocs 目录的用户和组确实是 apache (755)  但运行程序就出现了问题,因为原本应该给予写入权限(777)的,现在都是755

而这个时候,我希望通过FTP就可以更改相应目录的权限,比如在FTP里修改bbs目录里的一些子目录为777
可是,我这个ftp账户改不了,也建立不了目录,也删除不了目录。。。。

你也说了,Umask   022最大的权限是 755  ,这个我能够理解,是 777-22  对吧?  (我把这个值改为000、0、甚至把这个参数整个都删除了,nobody还是无法在htdocs做任何事)

那么第2个问题就是:我怎么样,才能让FTP将目录权限任意修改呢?比如把bbs里的一些目录修改成777

而不是在终端去用命令行,我觉得很不方便,也不直观。

——————————————————————————

希望您能详细的教哥们一下,因为我毕竟接触这个才第4天

比如详细的设置及命令

一定要写对,否则会让我更加晕

不盛感激!

[ 本帖最后由 6808849 于 2008-11-9 03:06 编辑 ]

论坛徽章:
0
10 [报告]
发表于 2008-11-09 15:08 |只看该作者
原帖由 luo118 于 2008-11-8 17:10 发表

这问题要配合半第一个问题来解决,我上面早已经回复出答案了。
1 修改porftp 注解Umask
2 把你上面的权限改为 chown -R nobody.apache /opt/lampp/htdocs/  #这样的FTP可以有读,写,删除,执行权限,
因为nobody 是用户 apache 是组 按755 分配 nobody 有完全权限, apache 和其它读取和执行权限.这样你的FTP使用的是nobody 也就有权限改为把子目录为777 权限了。


3 因为安全,你可以对BBS 特定某个目录,要写的权限的,通过FTP,或shell chmod 修改为775 就可以了。除非你apache 运行身份不是apache 用户组.确实不行,那么就用777吧,注意:这里说的特定某个目录,不是所有啊

discuz 实例:
chown -R nobody.apache /opt/lampp/htdocs/
cd /opt/lampp/htdocs/bbs/
chmod -R 775 ./forumdata  ./customavatars ./templates ./attachments

chmod -R 777 ./forumdata  ./customavatars ./templates ./attachments #选用775不行再用这个吧!



哥们,我照做了, chown -R nobody.apache /opt/lampp/htdocs/

这个时候,ftp确实可以任意更改目录权限了

但是,安装程序的时候,还是直接过,根本不用设定某个目录的写入权限

唉,郁闷了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP