vsftpd服务器的搭建
2016-05-24 22:45
447 查看
摘要: vsftpd服务,虽然大公司在生产环境中使用自动化运维替代了这些文件传输服务,但是在小公司,这些还是有必要去了解的。所以,小编就整理了一道题目,大概步骤如下,不当之处还请多多指教!
注意:使用vsftp的系统用户登陆是不安全的,所以采用的是映射的虚拟用户来进行登陆的。
使用vsftpd软件搭建一个ftp服务器,你需要满足这样的需求:创建3个账户,user1, user2, user3 ,其中这三个用户都可以访问同一个目录,但是user1可读写,但user2和user3只读.
步骤如下:
1)建立虚拟账户
useradd vsftp -s /sbin/nologin
2 ) 建立虚拟账户相关的文件
vim /etc/vsftpd/vsftpd_login
user1
user
user2
user
user3
user
保存
3 )修改权限,只允许root用户操作
chmod 600 !$
4 )生成对应的库文件 db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db
5 ) 创建虚拟账号对应的目录,指定为配置文件
vim user1
local_root=/home/vsftp/
anonymous_enable=NO
write_enable=YES
local_umask=022
anon_upload_enable=NO
anon_mkdir_write_enable=NO
idle_session_timeout=600
data_connection_timeout=120
max_clients=10
max_per_ip=5
local_max_rate=50000
vim user2
local_root=/home/vsftp/
anonymous_enable=NO
write_enable=NO
local_umask=022
anon_upload_enable=NO
anon_mkdir_write_enable=NO
idle_session_timeout=600
data_connection_timeout=120
max_clients=10
max_per_ip=5
local_max_rate=50000
vim user3
local_root=/home/vsftp/
anonymous_enable=NO
write_enable=NO
local_umask=022
anon_upload_enable=NO
anon_mkdir_write_enable=NO
idle_session_timeout=600
data_connection_timeout=120
max_clients=10
max_per_ip=5
local_max_rate=50000
6 )创建目录
mkdir /home/vsftp
7 ) 修改权限/home/vsftp的拥有者
chmod -R vsftp:vsftp /home/vsftp/
8)设置关于认证的文件
vim /etc/pam.d/vsftpd
添加
auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login //如果是64位系统,则改
为/lib64/security/pam_userdb.so
前面的.db是认证模块
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login //如果是64位系统,则改为/lib64/security/pam_userdb.so
9)修改/etc/vsftpd.conf文件
vim /etc/vsftpd.conf
anonymous_enable=NO
local_enable=NO
write_enable=YES
anon_upload_enable=NO
anon_mkdir_write_enable=NO
【上面的配置主要是针对系统用户的,所以对我们的虚拟用户映射用户无效】
guest_enable=YES
guest_username=vsftp
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd/vsftpd_user_conf
启动vsftpd服务
/etc/init.d/vsftpd start即可
关于遇到的错误:
1).
出现问题:
[root@ip5 vsftpd_user_conf]# /etc/init.d/vsftpd restart
Shutting down vsftpd: [FAILED]
Starting vsftpd for vsftpd: 500 OOPS: bad bool value in config file for: guest_enable
[FAILED]
总结:
出现此类情况是:
因为你的guest_enable=YES
行后面有空格,以后要养成习惯,后面不要留空格,该换行换行
2) 访问出现:
出现:
[Delaying before reconnect: 29] 或者:重新连接前延时:ss
解决方案
vim /etc/vsftpd/vsftpd.conf文件中的
local_user=YES
注意:
在搭建pure-ftpd服务器的时候,也会出现第二种情况
当初出现问题的原因是
使用
/usr/local/pureftpd/bin/pure-pw passwd 用户名
修改密码之后
没有进行密码库的更新,用户登陆会出现2)类似的问题,要进行库文件的更新
/usr/local/pureftpd/bin/pure-pw mkdb
即可
注意:使用vsftp的系统用户登陆是不安全的,所以采用的是映射的虚拟用户来进行登陆的。
使用vsftpd软件搭建一个ftp服务器,你需要满足这样的需求:创建3个账户,user1, user2, user3 ,其中这三个用户都可以访问同一个目录,但是user1可读写,但user2和user3只读.
步骤如下:
1)建立虚拟账户
useradd vsftp -s /sbin/nologin
2 ) 建立虚拟账户相关的文件
vim /etc/vsftpd/vsftpd_login
user1
user
user2
user
user3
user
保存
3 )修改权限,只允许root用户操作
chmod 600 !$
4 )生成对应的库文件 db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db
5 ) 创建虚拟账号对应的目录,指定为配置文件
vim user1
local_root=/home/vsftp/
anonymous_enable=NO
write_enable=YES
local_umask=022
anon_upload_enable=NO
anon_mkdir_write_enable=NO
idle_session_timeout=600
data_connection_timeout=120
max_clients=10
max_per_ip=5
local_max_rate=50000
vim user2
local_root=/home/vsftp/
anonymous_enable=NO
write_enable=NO
local_umask=022
anon_upload_enable=NO
anon_mkdir_write_enable=NO
idle_session_timeout=600
data_connection_timeout=120
max_clients=10
max_per_ip=5
local_max_rate=50000
vim user3
local_root=/home/vsftp/
anonymous_enable=NO
write_enable=NO
local_umask=022
anon_upload_enable=NO
anon_mkdir_write_enable=NO
idle_session_timeout=600
data_connection_timeout=120
max_clients=10
max_per_ip=5
local_max_rate=50000
6 )创建目录
mkdir /home/vsftp
7 ) 修改权限/home/vsftp的拥有者
chmod -R vsftp:vsftp /home/vsftp/
8)设置关于认证的文件
vim /etc/pam.d/vsftpd
添加
auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login //如果是64位系统,则改
为/lib64/security/pam_userdb.so
前面的.db是认证模块
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login //如果是64位系统,则改为/lib64/security/pam_userdb.so
9)修改/etc/vsftpd.conf文件
vim /etc/vsftpd.conf
anonymous_enable=NO
local_enable=NO
write_enable=YES
anon_upload_enable=NO
anon_mkdir_write_enable=NO
【上面的配置主要是针对系统用户的,所以对我们的虚拟用户映射用户无效】
guest_enable=YES
guest_username=vsftp
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd/vsftpd_user_conf
启动vsftpd服务
/etc/init.d/vsftpd start即可
关于遇到的错误:
1).
出现问题:
[root@ip5 vsftpd_user_conf]# /etc/init.d/vsftpd restart
Shutting down vsftpd: [FAILED]
Starting vsftpd for vsftpd: 500 OOPS: bad bool value in config file for: guest_enable
[FAILED]
总结:
出现此类情况是:
因为你的guest_enable=YES
行后面有空格,以后要养成习惯,后面不要留空格,该换行换行
2) 访问出现:
出现:
[Delaying before reconnect: 29] 或者:重新连接前延时:ss
解决方案
vim /etc/vsftpd/vsftpd.conf文件中的
local_user=YES
注意:
在搭建pure-ftpd服务器的时候,也会出现第二种情况
当初出现问题的原因是
使用
/usr/local/pureftpd/bin/pure-pw passwd 用户名
修改密码之后
没有进行密码库的更新,用户登陆会出现2)类似的问题,要进行库文件的更新
/usr/local/pureftpd/bin/pure-pw mkdb
即可
相关文章推荐
- PHP MysqlI操作数据库(转)
- 适用于PHP初学者的学习线路和建议
- 输出图像
- windows下php下载与安装
- Broadcast和ContentProvider
- php.ini针对文件上传的修改还有move_uploaded_file()函数对中文字符上传失败的解决方法
- php的代码优化
- ubuntu下使用mutt+msmtp发送邮件
- PHP和ajax详解
- php session详解
- PHP注释
- brew install php55 报错 clang: error
- 远程管理FTP
- ftp客户端移植(基于netkit-ftp-0.17.tar.gz)
- [IIS] 配置PHP的过程与坑
- laravel 问题2 缓存view
- Laravel使用构建器来生成原生sql语句来对总和排序
- php编译中遇到种种error解决办法
- PHP中无限极分类函数的实现
- 部署NTP服务器进行时间同步