[系统]
Red Hat Enterprise Linux Server release 6.5 (Santiago)
是Amazon的机器。
[背景环境]
帐号abc,是用来启动apache的系统用途帐号。
拥有家目录/home/abc/,
内有/home/abc/www/,为apache的根目录。
[需求]
帐号efg,是用来上传ftp用的帐号,
希望使用efg帐号登入ftp后,
ftp的根目录会是/home/abc/www/ftp/upload。
同时ftp帐号无法离开upload/资料夹,
只能在upload下,任意新增上传删除档案、资料夹。
[设定]
/etc/proftpd.conf
ServerType standalone
(原本要设inetd,但是在安装xinetd时,
出现其他异常,因赶时间就跳过)
DefaultRoot /home/abc/www/upload/ efgGroup
DefaultRoot ~
<Directory /home/abc/www/upload/>
Umask 002
AllowOverwrite yes
<Limit ALL>
AllowAll
</Limit>
</Directory>
/etc/passwd
efg:x:9999:9999::/home/abc/www/upload/:/bin/bash
[错误讯息]
/var/log/message
amazon proftpd - FTP session opened.
amazon proftpd - notice: unable to use '/home/abc/www/upload/'
[resolved to '/home/abc/www/upload/']
: Permission denied
amazon proftpd - Preparing to chroot to directory
'/home/abc/www/upload/'
amazon proftpd - chroot to '/home/abc/www/upload/' failed for user 'efg':
Operation not permitted
amazon proftpd - error: unable to set default root directory
amazon proftpd - FTP session closed.
[暂时应对]
/etc/proftpd.conf
DefaultRoot ~
/etc/passwd
efg:x:9999:9999::/home/efg/upload/:/bin/bash
cd /home/abc/www/
ln -s /home/efg/upload
[错误讯息]
/var/log/message无异常。
用FileZilla登入,在取得档案清单时,会出现550 permission denied错误。
[暂时应对]
setenforce 0
关掉SELinux,就正常了。
参考:http://kb.parallels.com/en/11142
[问题整理]
1. 希望有设定能满足原先需求,让ftp登入时,
可以直接进入指定的目录,并只能在该目录下进行各种操作。
2. 若无法满足1,希望能知道SELinux应如何设定,
感觉关掉不是正确作法。
注:提供内容,部份已手动处理过,若有前后资讯不符,
应为手动输入错误,并非真的异常。