UBuntu9.10安装proFTPd支持SFTP
2012-03-09 00:00
337 查看
目的
1)支持SFTP协议2)不采用系统帐号验证方式,改为数据库MySQL验证
3)数据库中不保存密码,只保存经过sha256算法加密过的可打印16位小写字符串,系统中还需保存一个salt文件
4)数据库中指定用户目录,proFTPd能够动态创建用户目录
修改ssh服务端口号为21
修改文件中的配置/etc/ssh/sshd_config然后重新启动ssh服务
sudo /etc/init.d/ssh restart
这不会影响ssh的使用,客户端需要用-p参数指明端口号
创建ftp系统帐号
sudo groupadd ftpsudo useradd -u 1005 -s /bin/false -d /bin/null -c "proftpd user" -g ftp ftpuser
sudo passwd ftp
依赖库
确保UBuntu系统中已经有/usr/include/mysql/mysql.h和/usr/lib/libmysqlclient.a获得源代码编译安装
注意,系统中不能存在其他占用22端口的程序。cd /usr/src
sudo wget ftp://ftp.proftpd.org/distrib/source/proftpd-1.3.3rc3.tar.gz sudo tar xvzf proftpd-1.3.3rc3.tar.gz
cd proftpd-1.3.3rc3
install_user=ftp install_group=ftp sudo ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var/run --mandir=/usr/local/man --without-pam --disable-auth-pam --enable-openssl --with-modules=mod_ratio:mod_readme:mod_sftp:mod_sql:mod_sql_passwd:mod_sql_mysql --with-includes=/usr/include/mysql --with-libraries=/usr/lib
sudo make
sudo make install
编译成功后,当前目录和/usr/sbin/下都有proftpd程序。
修改配置
修改配置文件/etc/proftd.conf文件,在文件开头添加如下配置ServerName "ProFTPD Default Installation"
ServerType standalone
DefaultServer on
RootLogin off
RequireValidShell off
DefaultRoot ~
IdentLookups off
UseReverseDns off
CreateHome on
<IfModule mod_sql_passwd.c>
SQLPasswordEngine on
SQLPasswordEncoding hex
SQLPasswordSaltFile /home/chenshu/salt
</IfModule>
<IfModule mod_sql.c>
# Other mod_sql configuration here
SQLBackend mysql
SQLAuthTypes SHA256
SQLAuthenticate users*
SQLConnectInfo databaseName @IP :3306 username password 30
SQLDefaultUID 1003
SQLDefaultGID 1005
SQLUserInfo users login password_hash NULL NULL homedir NULL
</IfModule>
<IfModule mod_sftp.c>
SFTPEngine on
SFTPLog /etc/sftp.log
SFTPAuthMethods password
# Host keys, for server host authentication
SFTPHostKey /etc/ssh/ssh_host_rsa_key
SFTPHostKey /etc/ssh/ssh_host_dsa_key
</IfModule>
# Port 21 is the standard FTP port.
Port 22
创建数据表
CREATE TABLE `users` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`login` varchar(16) NOT NULL,
`password_hash` varchar(80) NOT NULL,
`homedir` varchar(1024) NOT NULL,
PRIMARY KEY (`id`)
)
制造数据:
下面是Ruby代码:
require 'digest/sha2'
puts Digest::SHA256.hexdigest("770328" + "7wjCeqX/")
"770328"是用户密码
"7wjCeqX/"是salt,也应该保存在/home/chenshu/salt文件中。请不要在文件中添加换行符。
算出的字符串,保存到password_hash列中。
homedir字段保存用户目录,如果第一次登录时没有,会自动创建。
最后启动服务:
chenshu@chenshu-desktop:/usr/sbin$ sudo ./proftpd
测试,通过。
$(document).ready(function(){dp.SyntaxHighlighter.HighlightAll('code');});
原文链接:
http://blog.csdn.net/sheismylife/article/details/5248904
相关文章推荐
- UBuntu9.10安装proFTPd支持SFTP
- UBuntu9.10安装proFTPd支持SFTP
- UBuntu9.10安装proFTPd支持SFTP
- AIX下安装proFTPD-支持虚拟用户和SFTP
- AIX下安装proFTPD-支持虚拟用户和SFTP
- 问题:只安装了GNOME, yum install krusader 默认不支持samba/sftp etc, 怎么办
- 解决LaTeX中文输出问题,Ubuntu安装支持中文的LaTeX与其工作环境 ( Texmaker xelatex xecjk )
- centos/redhat中文支持安装
- 你正在试图运行的函数包含有宏或需要宏语言支持的内容,而在安装此软件时……
- ubuntu服务器安装proftpd ftp服务器步骤
- 安装支持spdy的nginx并且通过wireshark解密spdy协议
- 一键安装U盘双系统:winPE 和 linux,升级新版本,增加win7pe和ubuntu支持
- CentOS安装中文支持包的方法
- ORACLE RAC安装问题解决记录(3)- SYS用户不支持TAF故障切换
- MSMQ创建消息队列出现“工作组安装计算机不支持该操作”
- 贝壳一键还原2.0 Windows版本发布+采用磁盘快照技术+支持系统热备份+启动器安装工具+支持安装热键+恢复误删除文件工具
- Linux下Proftpd安装与配置
- 安装zhcon中文支持
- Inno Setup 制作安装程序[支持静默安装.NET环境]
- macOS安装iTerm2支持rzsz上传下载