今天一公司合作家伙说要传文件给我们这,就一文本文件非要求俺给他开个ftp,都没则了,只能给开个,从来没开过,在网络上搜索了下linux下开ftp可以用自带的vsftp也可以用软件建一个,而且听说vsftp也挺不错,就按网络教程一步步来了,这里主要是总结下自己的做法,毕竟不是每个人在要急用时候还去看一些文章的详解。
1.先用这几个命令看看是不是vsftpd安装正常
#service
vsftpd start 启动
#service vsftpd stop 停止
#service vsftpd restart 重启
2.以上没有问题的话编辑vsftpd的配置文件
[root@localhost /]# vi
/etc/vsftpd/vsftpd.conf //这个文件的具体内容解释可以看下面“参考文章”第一个链接
3.anonymous_enable=YES 改成NO #禁止匿名访问
4.在 vsftpd.conf
中找到 chroot_list_file=/etc/vsftpd.chroot_list把注释去掉然后建立
/etc/vsftpd.chroot_list文件,在文件中输入linux系统中的一个或多个用户名(一行一个)。
注:这个用户名是linux系统中root用户添加的。
[root@localhost
/]# useradd -s /sbin/nologin
//这样限制用户不能使用ssh登录
5.更改ftp端口仍然在vsftpd.conf文件中:
tcp_wrappers=YES
listen_port=2121
//自定义端口号,记得不要与已有端口冲突
local_root=/server/apache/htdocs
//设定用户explorer连接ftp时候显示的目录
保存退出编辑。
6.
#service vsftpd
restart 重启.然后一个利用系统已有用户名登录的ftp就开通了,
注:#service vsftpd start
命令只是在linux开启后手动开启vsftpd的命令,如果linux重启,还要使用该命令重新启动。
要想开机启动vsftp服务:执行chkconfig
--level 35 vsftpd on
(网络查询的未实践过)
后记:
如果有时间研究就多看看建立虚拟用户那部分,虚拟用户相比系统用户也许会更安全些,也稍微复杂些。
引用建立虚拟用户:
=====================================================
[root@server root]# useradd vuser #新建一个虚拟登陆指定的号!
[root@server
root]# vi users.txt #虚拟号范本一行用户名下一行密码
[root@server root]# db_load -T -t hash
-f users.txt /etc/vsftpd.login.db #把users.txt的内容加为虚拟用户的帐号和密码
[root@server
root]# chmod 600 /etc/vsftpd.login.db #为了安全修改里面的内容
[root@server root]# vi
/etc/pam.d/ftp #修改里面的内容,使之与下面的相同
[root@server root]# more
/etc/pam.d/ftp
#%PAM-1.0
#auth required
/lib/security/pam_listfile.so item=user sense=allow file
=/etc/ftpusers
onerr=succeed
#auth required /lib/security/pam_pwdb.so shadow
nullok
#auth required /lib/security/pam_shells.so
#account
required /lib/security/pam_pwdb.so
#session required
/lib/security/pam_pwdb.so
auth required pam_userdb.so
db=/etc/vsftpd.login
account required pam_userdb.so
db=/etc/vsftpd.login
再次修改/etc/vsftpd.conf,使其内容与anonymous有关的全部禁用,还有刚才的chroot也被列为禁用,如果想用的话保证虚拟号能常的前提下再另行测试,并在最后加入二句话:
guest_enable=YES
guest_username=vuser 接下来就是重启vsftpd
[root@server root]# killall -HUP vsftpd #!
[root@server
root]# ftp localhost #测试
Connected to server.redhat.org.cn.
220 Welcome
to linfeng's ftp server.
530 Please login with USER and PASS.
530 Please
login with USER and PASS.
KERBEROS_V4 rejected as an authentication
type
Name (localhost:root): tom #虚拟号
331 Please specify the
password.
Password: #虚拟号tom的密码
230 Login successful. #成功
Remote
system type is UNIX.
Using binary mode to transfer files.
ftp>
ls
227 Entering Passive Mode (127,0,0,1,136,56)
150 Here comes the
directory listing.
226 Transfer done (but failed to open directory).
#怎么会禁止了呢?想一下上面的,,呵呵,这就是因为vuser用户的权限啊,只需"chmod o+r
/home/vuser"那可浏览,但不可上传,因为没有"w"位
=====================================
网络参考文章:
http://www.bianceng.cn/OS/Linux/200706/3020.htm
http://www.shineblog.com/user2/24790/archives/2005/175940.shtml
这两篇都比较详细。