oftenlin
vsftp 配置 请高手帮忙
这是 我在网上找的一篇文章 中间有些东西 自己老是弄部好
[root@redhat ~]# tar -zxvf vsftpd-2.0.5.tar.gz //解压vsftp source文件
[root@redhat ~]# cd vsftpd-2.0.5 //进入解压后的目录
[root@redhat vsftpd-2.0.5]# more INSTALL //看看安装说明。比如要做什么工作。是个英文文档。
[root@redhat vsftpd-2.0.5]# useradd nobody //这里需要加一个nobody用户。大家可以使用finger nobody查看下。看是否有这个用户。用就不需要加了
[root@redhat vsftpd-2.0.5]# mkdir /usr/share/empty //这一步同上。服务器需要一个empty的空目录放在/usr/share/下。可以使用ls /usr/share/empty查看。如果存在就不需要了。这步也可以跳过
如果需要开启匿名用户访问,需要做下面几步工作
[root@redhat vsftpd-2.0.5]# mkdir /var/ftp/ //创建供匿名用户使用的目录
[root@redhat vsftpd-2.0.5]# useradd -d /var/ftp ftp //创建ftp用户并且指定家目录为/var/ftp,这个步骤一般的系统也有。如果创建提示:user ftp exists(FTP用户存在)就表示此用户已经存在。
继续下一步
[root@redhat vsftpd-2.0.5]# chown root.root /var/ftp //设置/var/ftp,也就是ftp用户的家目录属组和属主都是root,为了安全。这步还是需要的
[root@redhat vsftpd-2.0.5]# chmod og-w /var/ftp //更改权限,去掉属组和其他人的写权限
上面这写工作做完了。下面就可以便宜了
[root@redhat vsftpd-2.0.5]# make //编译二进制文件
[root@redhat vsftpd-2.0.5]# make install //安装,安装的时候可以看到安装的相关文件。
[root@redhat vsftpd-2.0.5]# cp vsftpd.conf /etc/ //拷贝配置文件
[b][b][b][color=red]//1.这里以前是没有问题的 下边这一句有点问题[/color][/b][/b][/b]
[root@redhat vsftpd-2.0.5]# cp RedHat/vsftpd.pam /etc/pam.d/ftp //拷贝PAM安全验证文件此为验证文件所在的目录
[color=red][b]执行了这一句之后我看了看 /etc/pam.d/ftp ftp 不是 一个目录 可是 这个命令执行的并没有什么异常情况啊 个人认为是因为 cp 的是 vsftpd.pam 到pam.d 然后 将其命名为 ftp了是是吗?[/b]
[/color]
[root@redhat vsftpd-2.0.5]# vi /etc/vsftpd.conf
然后按,跳到行尾。设置 pam_server_name=ftp(要与你的PAM文件同名);userlist_enable=YES(用户列表的用户不允许登入服务器)。然后:wq保存退出
[root@redhat vsftpd-2.0.5]# cp vsftpd.conf.5 /usr/local/man/man5
[root@redhat vsftpd-2.0.5]# cp vsftpd.8 /usr/local/man/man8
[b][color=red]// 2.这里有点问题 我装的 linux 里面没有 man这个 目录 请问老师 这个目录是 干什么用的 是不是我没有装什么东西 所有没有这个目录啊[/color][/b]
别管是为什么 我自己尝试建了这两个目录 并且运行了这两个命令
基本到这里。所有工作就做完了。但是还要说点东西
默认情况下vsftp是以超级守护进程(xinetd)运行的。
启动方式(二种方式)
[root@redhat vsftpd-2.0.5]# service xinetd restart //重启超级守护进程就等于启动了vsftp
另外一个方式,就是独立运行需要修改配置文件
[root@redhat vsftpd-2.0.5]# vi /etc/vsftpd.conf
然后按,跳到行尾。加上listen=YES.然后:wq保存退出
这样就可以使用下面这条语句启动
[root@redhat vsftpd-2.0.5]# /usr/local/sbin/vsftpd & //后台启动vsftp
[color=red]可是 到了这里
[root@localhost vsftpd-2.0.5]# /usr/local/sbin/vsftpd
我的结果却是...[/color]
500 OOPS: could not bind listening IPv4 socket
[root@redhat vsftpd-2.0.5]# echo "/usr/local/sbin/vsftpd &" >> /etc/rc.local //追加到启动脚本上
kenduest
tarball 編譯安裝 ?
若您是初學者的話建議你先不要在這地方浪費時間, 你用 rh-based 系統都一定收錄好現成 vsftp rpm package, 你只是需要熟悉基本的 rpm 管理功能 (查詢, 移除, 安裝等等), 把套件安裝上後即可使用.
後續學會基本的 vsftpd 配置後有機會再談 tarball 安裝編譯, 要不然依據您給的資訊來看您似乎只是依照步驟進行, 不清楚實際問題點在哪邊.
您的問題:
1. 你要複製 ftp 要使用的 pam 驗證檔案, 你就自己 ls 看看 source code 相關目錄內有無相關檔案, 這個您自己確認過即可.
2. /usr/local/man 這個目錄已經過時了, 目前依據標準 FHS 規範應該是 /usr/local/share/man
3. 最後您的 port 21 無法讓 vsftpd, 很常見那就是你系統本來就已經啟動相關 ftpd 程序提供服務了,所以才有該現象。搞不好你系統早就已經裝好 vsftpd 提供現有服務了。
--