在Mac OS X中启动FTP或SFTP服务器

在Mac OS X中启动FTP或SFTP服务器,第1张

如果你访问过较新版本的Mac OS X中的“共享首选项”面板,则可能已经注意到不再允许FTP服务器共享文件和文件夹的直接选项。至少没有一个明显的选择,但FTP和SFTP服务器功能仍然存在,这两个刚分裂成不同的功能,新版本的OS X喜欢SFTP而不是FTP。无论你想要使用什么,为其中任何一个设置服务器都非常简单,下面将介绍如何在OS X中启动FTP或SFTP服务器。

这将启动Mac上的通用FTP和FTPS服务器,但不是SFTP服务器:

如果你看到熟悉的FTP登录:

那么说明服务器正在运行。如果你没有看到,那么服务器还没有完成启动,或者你没有正确输入命令。然后,你可以通过相同的ftp命令,或使用Finder中的“连接到服务器”选项进行FTP。

正如你可能知道的那样,FTP是未加密的,因此出于安全考虑而失宠。现在在Mac上启用SFTP实际上比FTP更容易:

你可以通过在命令行输入以下内容来验证SFTP是否正常工作:

注意: FTP和SFTP服务器是不同的,启用一个不启用另一个。建议使用SFTP,因为默认加密层和安全传输。

以下是如何禁用FTP服务器的方法:

如命令所示,这将卸载ftp守护进程并关闭服务器。你只能关闭和禁用FTP服务器。而禁用SFTP只是取消选中位于OS X的“共享首选项”面板中的“远程登录”框。

所谓虚拟用户就是没有使用真实的帐户,只是通过映射到真实帐户和设置权限的目的。虚拟用户不能登录CentOS系统。

修改配置文件

打开/etc/vsftpd/vsftpd.conf,做如下配置

anonymous_enable=NO //设定不允许匿名访问

local_enable=YES //设定本地用户可以访问。注:如使用虚拟宿主用户,在该项目设定为NO的情况下所有虚拟用户将无法访问

chroot_list_enable=YES //使用户不能离开主目录

ascii_upload_enable=YES

ascii_download_enable=YES //设定支持ASCII模式的上传和下载功能

pam_service_name=vsftpd //PAM认证文件名。PAM将根据/etc/pam.d/vsftpd进行认证

以下这些是关于vsftpd虚拟用户支持的重要配置项,默认vsftpd.conf中不包含这些设定项目,需要自己手动添加

guest_enable=YES //设定启用虚拟用户功能

guest_username=ftp //指定虚拟用户的宿主用户,CentOS中已经有内置的ftp用户了

user_config_dir=/etc/vsftpd/vuser_conf //设定虚拟用户个人vsftp的CentOS FTP服务文件存放路径。存放虚拟用户个性的CentOS FTP服务文件(配置文件名=虚拟用户名

进行认证

首先,安装Berkeley DB工具,很多人找不到db_load的问题就是没有安装这个包。

yum install db4 db4-utils

然后,创建用户密码文本/etc/vsftpd/vuser_passwd.txt ,注意奇行是用户名,偶行是密码

test

123456

接着,生成虚拟用户认证的db文件

db_load -T -t hash -f /etc/vsftpd/vuser_passwd.txt /etc/vsftpd/vuser_passwd.db

随后,编辑认证文件/etc/pam.d/vsftpd,全部注释掉原来语句,再增加以下两句:

auth required pam_userdb.so db=/etc/vsftpd/vuser_passwd

account required pam_userdb.so db=/etc/vsftpd/vuser_passwd

最后,创建虚拟用户配置文件

mkdir /etc/vsftpd/vuser_conf/

vi /etc/vsftpd/vuser_conf/test //文件名等于vuser_passwd.txt里面的账户名,否则下面设置无效

内容如下

local_root=/ftp/www //虚拟用户根目录,根据实际情况修改

write_enable=YES //可写

anon_umask=022 //掩码

anon_world_readable_only=NO

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

设置Selinux

setsebool -P ftp_home_dir=1 //设置ftp可以使用home目录

sersebool -P allow_ftpd_full_access=1 //设置ftp用户可以有所有权限

设置FTP根目录权限

mkdir /ftp/www //创建目录

chmod R 755 /ftp

chmod R 777 /ftp/www

最新的vsftpd要求对主目录不能有写的权限所以ftp为755,主目录下面的子目录再设置777权限

设置防火墙

打开/etc/sysconfig/iptables

在“-A INPUT –m state --state NEW –m tcp –p –dport 22 –j ACCEPT”,下添加:

-A INPUT -m state --state NEW -m tcp -p -dport 21 -j ACCEPT

然后保存,并关闭该文件,在终端内运行下面的命令,刷新防火墙配置:

service iptables restart

OK,运行“service vsftpd start”,你就可以访问你的FTP服务器了。

望采纳~!


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/255177.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-15
下一篇2023-04-15

发表评论

登录后才能评论

评论列表(0条)

    保存