Linux的FTP的三种登录方式.docx

上传人:b****3 文档编号:3813587 上传时间:2022-11-25 格式:DOCX 页数:8 大小:68.63KB
下载 相关 举报
Linux的FTP的三种登录方式.docx_第1页
第1页 / 共8页
Linux的FTP的三种登录方式.docx_第2页
第2页 / 共8页
Linux的FTP的三种登录方式.docx_第3页
第3页 / 共8页
Linux的FTP的三种登录方式.docx_第4页
第4页 / 共8页
Linux的FTP的三种登录方式.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

Linux的FTP的三种登录方式.docx

《Linux的FTP的三种登录方式.docx》由会员分享,可在线阅读,更多相关《Linux的FTP的三种登录方式.docx(8页珍藏版)》请在冰豆网上搜索。

Linux的FTP的三种登录方式.docx

Linux的FTP的三种登录方式

Linux的FTP的三种登录方式:

我们登录FTP有三种方式,匿名登录、本地用户登录和虚拟用户登录。

匿名登录:

在登录FTP时使用默认的用户名,一般是ftp或anonymous。

本地用户登录:

使用系统用户登录,在/etc/passwd中。

虚拟用户登录:

这是FTP专有用户,有两种方式实现虚拟用户,本地数据文件和数据库服务器。

FTP虚拟用户是FTP服务器的专有用户,使用虚拟用户登录FTP,只能访问FTP服务器提供的资源,大大增强了系统的安全。

本文实验的Linux系统是CentOS5update2

一、本地数据文件方式

1.添加虚拟用户口令文件

[root@CentOS5/]#vi/etc/vsftpd/vftpuser.txt

添加虚拟用户名和密码,一行用户名,一行密码,以此类推。

奇数行为用户名,偶数行为密码。

将刚添加的vftpuser.txt虚拟用户口令文件转换成系统识别的口令认证文件。

首先查看系统有没有安装生成口令认证文件所需的软件db4-utils。

[root@CentOS5/]#rpm–qa|grepdb4-utils

[root@CentOS5/]#rpm–ivhdb4-utils-4.3.29-9.fc6.i386.rpm

下面使用db_load命令生成虚拟用户口令认证文件。

[root@CentOS5/]#db_load–T–thash–f/etc/vsftpd/vftpuser.txt/etc/vsftpd/vftpuser.db

3.编辑vsftpd的PAM认证文件

在/etc/pam.d目录下,

[root@CentOS5/]#vi/etc/pam.d/vsftpd

将里面其他的都注释掉,添加下面这两行:

authrequired/lib/security/pam_userdb.sodb=/etc/vsftpd/vftpuser

accountrequired/lib/security/pam_userdb.sodb=/etc/vsftpd/vftpuser

4.建立本地映射用户并设置宿主目录权限

所有的FTP虚拟用户需要使用一个系统用户,这个系统用户不需要密码。

[root@CentOS5/]#useradd–d/home/vftpsite–s/sbin/nologinvftpuser

[root@CentOS5/]#chmod700/home/vftpsite

5.配置vsftpd.conf(设置虚拟用户配置项)

[root@CentOS5/]#vi/etc/vsftpd/vsftpd.conf

guest_enable=YES#开启虚拟用户

guest_username=vftpuser#FTP虚拟用户对应的系统用户

pam_service_name=vsftpd#PAM认证文件

6.重启vsftpd服务

[root@CentOS5/]#servicevsftpdrestart

7.测试虚拟用户登录FTP

C:

\User\Administrator>ftp192.168.120.240

连接到192.168.120.240。

220WelcometoBOBFTPserver

用户(192.168.120.240(none)):

markwang

331Pleasespecifythepassword.

密码:

230Loginsuccessful.

二、数据库服务器(MySQL)方式

1.安装MySQL

我使用的是Tar包安装的MySQL,版本号:

mysql-6.0.8-alpha.tar.gz

具体安装方法,请查看我的另一篇文章“部署LAMP+Discuz!

7.0”。

2.建立本地映射用户并设置宿主目录权限

[root@CentOS5/]#useradd–d/home/vftpsite–s/sbin/nologinvftpuser

[root@CentOS5/]#chmod700/home/vftpsite

3.配置vsftpd.conf(设置虚拟用户配置项)

[root@CentOS5/]#vi/etc/vsftpd/vsftpd.conf

guest_enable=YES#开启虚拟用户

guest_username=vftpuser#FTP虚拟用户对应的系统用户

pam_service_name=vsftpd#PAM认证文件

4.在MySQL中建立用户口令数据库

[root@CentOS5/]#mysql–uroot–p

mysql>createdatabasevftpuser;#建立虚拟用户数据库,库名vftpuser

mysql>usevftpuser;#进入vftpuser数据库

mysql>createtableusers(namechar(16)binary,passwdchar(16)binary);#建立虚拟用户口令表,表名users

mysql>insertintousers(name,passwd)values('bobyuan',password('111'));

mysql>insertintousers(name,passwd)values('markwang',password('111'));

#建立两个虚拟用户,bobyuan和markwang

注:

在这里我用这种方法添加的虚拟用户密码都是经过MySQL加密的,加密后的密码pam-mysql不能识别(MySQL和pam-mysql兼容性有些问题),因此本次实验使用明文保存密码。

添加明文密码:

方法一:

单个添加用户

mysql>insertintousers(name,passwd)values('bobyuan','111');

mysql>insertintousers(name,passwd)values('markwang',‘111');

方法二:

批量添加用户

新建vftpuser.txt文件

[root@CentOS5/]#vivftpuser.txt

添加用户名和密码,注意字段数据之间要用Tab键隔开。

bobyuan111

markwang111

mysql>usevftpuser;

mysql>loaddatalocalinfile“/vftpuser.txt”intotableusers;

mysql>flushprivileges;

mysql>grantselectonvftpuser.userstovftpuser@localhostidentifiedby'111111';#授权vftpuser这个账号可以读取vftpuser数据库的user表

5.验证第4步的设置是否成功

[root@CentOS5/]#mysql–uvftpuser–p

mysql>showdatabases;

mysql>usevftpuser;

mysql>showtables;

mysql>select*fromusers;

mysql>quit

如下图:

6.编译MySQL的PAM认证模块

查看/lib/security目录下有没有MySQL对应的PAM模块。

如果没有则下载pam-mysql安装(

我下载的是pam_mysql-0.7RC1.tar.gz。

[root@CentOS5/]#cd/usr/local/src

[root@CentOS5src]#tar–zxvfpam_mysql-0.7RC1.tar.gz

[root@CentOS5src]#cdpam_mysql-0.7RC1

[root@CentOS5pam_mysql-0.7RC1]#./configure--with-mysql=/usr/local/mysql/--with-pam-mods-dir=/lib/security/

[root@CentOS5pam_mysql-0.7RC1]#make

[root@CentOS5pam_mysql-0.7RC1]#makeinstall

7.编辑vsftpd的PAM认证文件

在/etc/pam.d目录下,

[root@CentOS5/]#vi/etc/pam.d/vsftpd

将里面其他的都注释掉,添加下面这两行:

authrequiredpam_mysql.souser=vftpuserpasswd=111111host=localhostdb=vftpusertable=usersusercolumn=namepasswdcolumn=passwdcrypt=0

accountrequiredpam_mysql.souser=vftpuserpasswd=111111host=localhostdb=vftpusertable=usersusercolumn=namepasswdcolumn=passwdcrypt=0

crypt=0:

表示口令使用明文方式保存在数据库中

crypt=1:

表示口令使用UNIX的DES加密方式加密后保存在数据库中

crypt=2:

表示口令使用MySQL的password()函数加密后保存在数据库中

crypt=3:

表示口令使用MD5散列值的方式保存在数据库中

8.重启vsftpd服务

[root@CentOS5/]#servicevsftpdrestart

9.测试虚拟用户登录FTP

C:

\User\Administrator>ftp192.168.120.240

Connectedto192.168.120.240.

220WelcometoBOBFTPserver

User(192.168.120.240:

(none)):

bobyuan

331Pleasespecifythepassword.

Password:

230Loginsuccessful.

ftp>quit

221Goodbye.

三、虚拟用户高级设置

1.virtual_use_local_privs参数

当virtual_use_local_privs=YES时,虚拟用户和本地用户有相同的权限;

当virtual_use_local_privs=NO时,虚拟用户和匿名用户有相同的权限,默认是NO。

当virtual_use_local_privs=YES,write_enable=YES时,虚拟用户具有写权限(上传、下载、删除、重命名)。

当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=YES,

anon_upload_enable=YES时,虚拟用户不能浏览目录,只能上传文件,无其他权限。

当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,

anon_upload_enable=NO时,虚拟用户只能下载文件,无其他权限。

当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,

anon_upload_enable=YES时,虚拟用户只能上传和下载文件,无其他权限。

当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,

anon_mkdir_write_enable=YES时,虚拟用户只能下载文件和创建文件夹,无其他权限。

当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,

anon_other_write_enable=YES时,虚拟用户只能下载、删除和重命名文件,无其他权限。

2.建立各个虚拟用户自身的配置文件

[root@CentOS5/]#vi/etc/vsftpd/vsftpd.conf

添加:

user_config_dir=/etc/vsftpd/vsftpd_user_conf

[root@CentOS5/]#mkdir/etc/vsftpd/vsftpd_user_conf

编辑bobyuan的配置文件

[root@CentOS5/]#vi/etc/vsftpd/vsftpd_user_conf/bobyuan

添加:

anon_world_readable_only=NO#开放bobyuan的下载权限(只能下载)。

注意这个地方千万不能写成YES,否则bobyuan将不能列出文件和目录。

编辑markwang的配置文件

[root@CentOS5/]#vi/etc/vsftpd/vsftpd_user_conf/markwang

添加:

write_enable=YES#开放markwang的写权限

anon_world_readable_only=NO#开放markwang的下载权限

anon_upload_enable=YES#开放markwang的上传权限

anon_mkdir_write_enable=YES#开放markwang创建目录的权限

anon_other_write_enable=YES#开放markwang删除和重命名的权限

四、虚拟用户配置文件(实验)

1.所有虚拟用户使用统一配置

[root@CentOS5/]#vi/etc/vsftpd/vsftpd.conf

write_enable=YES

anonymous_enable=NO

local_enable=YES

guest_enable=YES

guest_username=vftpuser

virtual_use_local_privs=NO

pam_service_name=vsftpd

anon_world_readable_only=NO#可以下载

anon_upload_enable=NO(默认值)#不能上传

anon_mkdir_write_enable=NO(默认值)#不能新建文件夹

anon_other_write_enable=NO(默认值)#不能删除和重命名文件

ftpd_banner=WelcometoBOBFTPserver

xferlog_enable=YES

xferlog_file=/var/log/vsftpd.log

xferlog_std_format=YES

ascii_upload_enable=YES

ascii_download_enable=YES

tcp_wrappers=NO

setproctitle_enable=YES

listen_port=21

connect_from_port_20=YES

idle_session_timeout=600

data_connection_timeout=120

[root@CentOS5/]#vi/etc/vsftpd/vsftpd.conf

write_enable=YES

anonymous_enable=NO

local_enable=YES

guest_enable=YES

guest_username=vftpuser

virtual_use_local_privs=NO

pam_service_name=vsftpd

user_config_dir=/etc/vsftpd/vsftpd_user_conf

ftpd_banner=WelcometoBOBFTPserver

xferlog_enable=YES

xferlog_file=/var/log/vsftpd.log

xferlog_std_format=YES

ascii_upload_enable=YES

ascii_download_enable=YES

tcp_wrappers=NO

setproctitle_enable=YES

listen_port=21

connect_from_port_20=YES

idle_session_timeout=600

data_connection_timeout=120

max_clients=0

max_per_ip=3

local_max_rate=512000

[root@CentOS5/]#mkdir/etc/vsftpd/vsftpd_user_conf

编辑bobyuan(FTP匿名用户)的配置文件

[root@CentOS5/]#vi/etc/vsftpd/vsftpd_user_conf/bobyuan

anon_world_readable_only=NO

编辑ftpadmin(FTP匿名管理员)的配置文件

[root@CentOS5/]#vi/etc/vsftpd/vsftpd_user_conf/ftpadmin

anon_world_readable_only=NO

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1