网络文件共享ftp服务相关内容及实验

Linux文件服务器:ftp服务器(ftp/tftp)、 Samba服务器、NFS服务器。
ftp的客户可以是任意平台,samba是专门针对windows客户,而NFS则是面向linux/unix用户的。下面是三种服务器的对比情况:
服务器名称 用户客户端平台 使用范围 服务端口
FTP Windows/linux/unix/macOS等 发布网站,文件共享 Tcp/21
NFS Linux/unix 网站发布,文件共享(mount) Tcp/2049
Samba Windows 文件共享(网上邻居) Tcp/445,tcp/139
服务器名称 启动脚本 守护进程 配置文件
vsftpd etc/xinetd.d/vsftpd /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
NFS /etc/init.d/nfs /etc/init.d/nfslock /usr/sbin/rpc.nfsd /usr/sbin/rpc.mountd /etc/exports
Samba /etc/init.d/smb /etc/init.d/winbind /usr/sbin/smbd /usr/sbin/nmbd /etc/samba/smb.conf

FTP服务器

在linux 环境下,有三个主要的FTP服务器:vsftpd、proftpd和wu-ftpd。
1、检查是否安装vsftp包。# rpm –qa | grep vsftpd。如果没有则安装它。
2、 修改配置文件。Vsftpd的配置文件为/etc/vsftpd/vsftpd.conf,如果不打算提供匿名访问的话,
需要修改配置文件 /etc/vsftpd/vsftpd.conf的项“anonymous_enable=Yes”为“anonymous_enable=No”。
3、启用vsftpd服务。#service vsftpd start。
4、客户端连接访问。可以是专用的ftp客户端工具,也可以使用浏览器。
5、vsftpd服务器的用户。Vsftpd服务器支持三种类型的拥护:本地用户(拥有系统账号)、虚拟用户
(guest)、匿名账号;系统管理员应该根据安全需求来确定vsftpd服务器的用户访问策略。

TFTP服务器

Usually the TFTP sevice is by default started in Linux. you only need to doulble check if not sure.
#/bin/netstat -a|grep udp
 In case, the tftp service is not started by default, you can start it manually.
1. Firstly, Configuring the TFTP server
#vi /etc/xinetd.d/tftp
2. Secondly, restart the xinetd service: 
# /sbin/service xinetd restart
3. To get xinetd configured to start at boot you can use the chkconfig command.
#chkconfig xinetd on
文件传输协议( FTP)
File Transfer Protocol 早期的三个应用级协议之一
基于C/S结构
双通道协议:数据和命令连接
数据传输格式:二进制(默认)和文本
 两种模式:服务器角度
主动(PORT style):服务器主动连接
命令(控制):客户端:随机port --- 服务器: tcp21
数据: 客户端:随机port+1 ---服务器: tcp20
被动(PASV style):客户端主动连接
命令(控制):客户端:随机port --- 服务器: tcp21
数据:客户端:随机port+1 ---服务器:随机port
服务器被动模式数据端口示例:
227 Entering Passive Mode (192,168,175,138,224,59)
服务器数据端口为: 224*256+59
ss -nt  查看连接端口
主动连接客户端有防火墙可能会失败
企业服务器防火墙有自动跟踪功能
Passive   被动命令/主动
主动,被动模式不是固定的
binary二进制  数据不会变化
文本方式做编码转换
FTP服务
状态码:
1XX:信息 125:数据连接打开
2XX:成功类状态 200:命令OK 230:登录成功
3XX:补充类 331:用户名OK
4XX:客户端错误 425:不能打开数据连接
5XX:服务器错误 530:不能登录
用户认证:
匿名用户: ftp,anonymous,对应Linux用户ftp
系统用户: Linux用户,用户/etc/passwd,密码/etc/shadow
虚拟用户:特定服务的专用用户,独立的用户/密码文件
nsswitch:network service switch名称解析框架
pam:pluggable authentication module 用户认证
/lib64/security /etc/pam.d/ /etc/pam.con
安装vsftpd
yum install vsftpd -y  #自动安装
/etc/init.d/vsftpd start     #启动vsftpd
service vsftpd restart    #重启
service vsftpd stop   #停止
chkconfig vsftpd on   #设置开机时自动运行
配置vsftp服务器
配置文件说明:
/etc/vsftpd/vsftpd.conf  vsftpd的核心配置文件
/etc/vsftpd/ftpusers  用于指定哪些用户不能访问FTP服务器
/etc/vsftpd/user_list 指定允许使用vsftpd的用户列表文件
/etc/vsftpd/vsftpd_conf_migrate.sh 是vsftpd操作的一些变量和设置脚本
/var/ftp/ 默认情况下匿名用户的根目录
vim /etc/vsftpd/vsftpd.conf #配置
vsftpd服务配置
#命令端口
listen_port=21默认  可以添加修改

#主动模式端口
connect_from_port_20=YES 主动模式端口为20
ftp_data_port=20 指定主动模式的端口

#被动模式端口范围
linux客户端默认使用被动模式
windows 客户端默认使用主动模式
pasv_min_port=6000     0为随机分配
pasv_max_port=6010     定义端口范围,被动端口太少,并发连接数受到限制

#使用当地时间
use_localtime=YES 使用当地时间(默认为NO,使用GMT)#ftp时间和系统同步,如果启动有错误,请注销
reverse_lookup_enable=NO   #添加此行,解决客户端登陆缓慢问题!重要!默认vsftpd开启了DNS
反向解析!这里需要关闭,如果启动有错误,请注销!
匿名用户
anonymous_enable=YES 支持匿名用户
no_anon_password=YES(默认NO) 匿名用户略过口令检查
anon_world_readable_only (默认YES)只能下载全部有读权限的文件
anon_upload_enable=YES 匿名上传,注意:文件系统权限
anon_mkdir_write_enable=YES  匿名用户建立目录
anon_other_write_enable=YES (默认NO)可删除和修改上传的文件,手动添加
ftp> delete  xxx   删除文件
anon_umask=077 指定匿名上传umask   手动添加,文件644,目录022

#指定上传文件的默认的所有者和权限
chown_uploads=YES(默认NO)
chown_username=wang   指定用户
chown_upload_mode=0644
匿名账号家目录不能有写权限
Linux系统用户
guest_enable=YES 所有系统用户都映射成guest用户 ,手动添加
guest_username=ftp 配合上面选项才生效,指定guest用户,  手动添加
local_enable=YES 是否允许linux用户登录 设定本地用户可以访问。设定为NO用户将无法访问
write_enable=YES 允许linux用户上传文件  #全局设置,是否容许写入(无论是匿名用户还是本地用户,
若要启用上传权限的话,就要开启他)
local_umask=022 指定系统用户上传文件的默认权限
local_root=/ftproot 非匿名用户登录所在目录  手动添加

禁锢所有系统用户在家目录中
chroot_local_user=YES(默认NO,不禁锢)禁锢系统用户
禁锢或不禁锢特定的系统用户在家目录中,与上面设置功能相反 
chroot_list_enable=YES  列表中用户禁锢/不禁锢
chroot_list_file=/etc/vsftpd/chroot_list   创建禁锢/不禁锢文件,添加用户进去
当chroot_local_user=YES时,则chroot_list中用户不禁锢
当chroot_local_user=NO时, 则chroot_list中用户禁锢
#wu-ftp日志:默认启用(历史久)
xferlog_enable=YES (默认) 启用记录上传下载日志
xferlog_std_format=YES (默认)使用wu-ftp日志格式
xferlog_file=/var/log/xferlog (默认)可自动生成   下载日志信息  日志保存路径(先创建好文件)

#vsftpd日志:默认不启用 (性能略好)
dual_log_enable=YES 使用vsftpd日志格式,默认不启用
vsftpd_log_file=/var/log/vsftpd.log( 默认)可自动生成   登录日志信息

#登录提示信息
ftpd_banner=“welcome to mage ftp server"   设定Vsftpd的登陆标语,welconme 语句尽量少用
banner_file=/etc/vsftpd/ftpbanner.txt 优先生效文件

#目录访问提示信息
dirmessage_enable=YES (默认) 设定开启目录标语功能
message_file=.message(默认)信息存放在指定目录下.message
ftp适合测试环境,状态码详细
lftp支持补全,方便
#使用pam(Pluggable Authentication Modules)完成用户认证
pam_service_name=vsftpd  设定PAM服务下Vsftpd的验证配置文件名。因此,PAM验证将参考/etc/pam.d/下
的vsftpd文件配置。
pam配置文件:/etc/pam.d/vsftpd
item=user sense=deny file=/etc/vsftpd/ftpusersonerr=succeed     (deny拒绝/allow允许)
/etc/vsftpd/ftpusers 默认文件中用户拒绝登录(不改变deny)
是否启用控制用户登录的列表文件

userlist_enable=YES 默认有此设置  设为YES的时候,如果一个用户名是在userlist_file参数
指定的文件中,那么在要求他们输入密码之前,会直接拒绝他们登陆。
userlist_deny=YES(默认值)黑名单,不提示口令, NO为白名单
userlist_file=/etc/vsftpd/users_list 此为默认值
#连接限制  手动添加
max_clients=0 最大并发连接数
max_per_ip=0 每个IP同时发起的最大连接数

# vsftpd服务指定用户身份运行
nopriv_user=nobody

#传输速率: 字节/秒  手动添加
anon_max_rate=0 匿名用户的最大传输速率
local_max_rate=0 本地用户的最大传输速率

#连接时间:秒为单位 
connect_timeout=60 主动模式数据连接超时时长
accept_timeout=60 被动模式数据连接超时时长
data_connection_timeout=300 数据连接无数据输超时时长,空闲300秒后服务器断开
idle_session_timeout=60 无命令操作超时时长 超时设置

#优先以文本方式传输 手动添加
ascii_upload_enable=YES
ascii_download_enable=YES  设定支持ASCII模式的上传和下载功能
async_abor_enable=YES 设定支持异步传输功能。
tcp_wrappers=YES  是否支持tcp_wrappers

实验一

在没有用户访问的时候由xinetd监听,有用户用ftp访问由vsftpd监听
vim /etc/vsftpd/vsftpd.conf 配置FTP服务以非独立服务方运行:listen=NO,默认为独立方式
[root@centos6 /etc/xinetd.d]#service vsftpd stop
[root@centos6 /etc/xinetd.d]#chkconfig --list
[root@centos6 /etc/xinetd.d]#service xinetd start
[root@centos6 /etc/xinetd.d]#ss -ntlp 没有访问的时候由xinetd监听
用户用ftp访问ip, vsftpd就自动监听用户信息

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

实验二

实现基于SSL的FTPS

查看是否支持SSL
ldd `which vsftpd` 查看到libssl.so

创建自签名证书
cd /etc/pki/tls/certs/
make vsftpd.pem
openssl x509 -in vsftpd.pem -noout –text

配置vsftpd服务支持SSL: /etc/vsftpd/vsftpd.conf
ssl_enable=YES 启用SSL
allow_anon_ssl=NO 匿名不支持SSL
force_local_logins_ssl=YES 本地用户登录加密
force_local_data_ssl=YES 本地用户强制数据传输加密
rsa_cert_file=/etc/vsftpd/vsftpd.pem
用filezilla等工具测试
证书和密钥文件一起存放
移动到vsftpd目录下
配置vsftpd服务支持SSL: /etc/vsftpd/vsftpd.conf
重启服务,查看21端口
测试工具

filezilla

默认不是以加密方式连接,添加ssh加密新站点
修改名字ftps  端口号默认21
协议FTP
加密  要求显示FTP
账号 wang
Wireshark 打开软件 监听ftp,查询到的信息都已经加密相对安全
已完成普通用户登录加密登录

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

vsftpd虚拟用户

虚拟用户:
所有虚拟用户会统一映射为一个指定的系统帐号:访问共享位置, 即为此系统帐号的家目录各虚拟用户可被赋予不同的访问权限,通过匿名用户的权限控制参数进行指定
虚拟用户帐号的存储方式:
文件:编辑文本文件,此文件需要被编码为hash格式
奇数行为用户名,偶数行为密码

db_load -T -t hash -f vusers.txt vusers.db
关系型数据库中的表中:
实时查询数据库完成用户认证
mysql库: pam要依赖于pam-mysql
/lib64/security/pam_mysql.so
/usr/share/doc/pam_mysql-0.7/README

默认Vsftpd.conf中不包含这些设定项目,需要自己手动添加配置
guest_enable=YES 设定启用虚拟用户功能。
guest_username=vsftpd 指定虚拟用户的宿主用户(这个是我们后面要新建的用户)
linux客户端默认使用被动模式
windows 客户端默认使用主动模式
pasv_min_port=9000 (设置被动模式的端口范围)
pasv_max_port=9045 (设置被动模式的端口范围)被动端口太少,并发连接数受到限制
use_localtime=YES 使用当地时间(默认为NO,使用GMT)
accept_timeout=5   #保持5秒
connect_timeout=1  #1秒后重新连接
vsftpd 的实现,有三种用户认证身份。
(1)匿名用户账号是ftp或者anonymous不需要密码即可登录,被限定在ftp用户的家目录,要求ftp用户家
目录没有写权限,默认ftp用户的家目录是/var/ftp 
(2)系统用户是系统上存在的实际用户,默认没有限定到用户家目录中。可以随便切换到其他目录,
因此不需要取消用户家目录的写权限 
(3)虚拟用户,虚拟用户是建立一些系统不存在的账号,用来进行登录。其实其也是映射到系统的
某个用户身份。其配置参数使用的是匿名用户的配置参数。

实验三

基于虚拟用户的用户存放地点有两种,二进制文件和mysql,因为我们的用户一般不多,使用mysql验证还要通过TCP三次握手四次分手,比较慢,因此常用二进制文件来进行存放。下面测试基于文件验证的实验

实验环境

操作系统:CentOS7.3
实验步骤
一、创建用户数据库文件
1、自定义用户文件
[root@centos7 ~]#vim /etc/vsftpd/vusers.txt
ftp1
password1
ftp2
password2
注意:奇数行是用户名,偶数行是密码
2、依靠vusers.txt文件来生成二进制数据库
[root@centos7 ~]#cd /etc/vsftpd/
[root@centos7 /etc/vsftpd]#db_load -T -t hash -f vusers.txt vusers.db   转换格式
[root@centos7 /etc/vsftpd]#chmod 600 vusers.db  设置权限避免看到口令
二、创建用户和访问FTP目录
创建虚拟用户映射到系统的实际用户
[root@centos7 /etc/vsftpd]#useradd -d /var/ftproot -s /sbin/nologin vuser   创建操作
系统用户及家目录  (ftp1,ftp2账号实际以vuser账号访问)
[root@centos7 /etc/vsftpd]#chomod a+rx /var/ftproot/ 设置读写权限
#虚拟用户使用的参数是匿名用户的参数,因此也是被禁锢在家目录中的,这就需要家目录没有写权限
[root@centos7 /etc/vsftpd]#chomod  u-w /var/ftproot/     
权限可以直接设置555 也可以
#创建一个文件夹用来上传文件,并给映射账号vuser写权限
[root@centos7 /etc/vsftpd]#mkdir /var/ftproot/upload 
[root@centos7 /etc/vsftpd]#setfacl -m u:vuser:rwx /var/ftproot/upload 可以直接给vuser所有者权限 
三、创建pam配置文件
方法一:新建vsftpd.db文件,来进行认证,这样的话,本地用户则不能登录
[root@centos7 /etc/vsftpd]#vim /etc/pam.d/vsftpd.db
auth  required pam_userdb.so db=/etc/vsftpd/vusers  身份验证pam模块,数据库文件名是db=
不需要加后缀系统自动识别
account  required pam_userdb.so db=/etc/vsftpd/vusers  检查账号有效性
pam_userdb.so  模块用来验证密码对,放在数据库以后用来访问,实现身份验证
db=/etc/vsftpd/vusers  定义文件密码来验证身份
方法二:在原有的pam文件基础上前两行添加如下,这样的话本地用户也可以登录,虚拟用户也可以登录
[root@centos7 /etc/vsftpd]#vim /etc/pam.d/vsftpd.db
auth sufficient pam_userdb.so db=/etc/vsftpd/vusers
#sufficient代表如果此项通过,则不向下匹配,如果不通过,则不影响继续向下匹配
account sufficient pam_userdb.so db=/etc/vsftpd/vusers  
这里使用方法一,如果是方法二,则下面的pam_service_name参数不需要新指定。
四、指定pam配置文件
vim /etc/vsftpd/vsftpd.conf
guest_enable=YES
guest_username=vuser  以谁身份访问,将所有guest账号映射成vuser
pam_service_name=vsftpd.db    指定模块文件名路径
五、SELinux设置:
禁用SELinux或者setsebool-P ftpd_full_access1
六、虚拟用户建立独立的配置文件
虚拟用户独立的配置文件可以单独对每个用户控制,文件名需要和用户名一致. 使用的参数是匿名用户的配置参数
1、指定用户独立的配置文件路径,定义ftp1,ftp1权限不一样
[root@centos7 /etc/vsftpd]#mkdir /etc/vsftpd/vusers.d/   #创建配置文件存放的路径
[root@centos7 /etc/vsftpd]#vim /etc/vsftpd/vsftpd.conf
user_config_dir=/etc/vsftpd/vusers.d/  #在配置文件中指定 每个用户配置文件专门找文件夹存放
2、创建各用户自已的配置文件,允许ftp1用户可读写,其它用户只读
[root@centos7 /etc/vsftpd/vusers.d/]#vim /etc/vsftpd/vusers.d/ftp1 
anon_upload_enable=YES   允许匿名用户上传
anon_mkdir_write_enable=YES 允许匿名用户上传/建立目录
anon_other_write_enable=YES  允许匿名用户具有建立目录,上传之外的权限,如重命名,删除
[root@centos7 /etc/vsftpd/vusers.d/]#vim /etc/vsftpd/vusers.d/ftp2   不创建就是没有权限
local_root=/app/ftp2  #登录目录改变至指定的其他目录 跟ftp1看到的家目录不一样
ftp1访问ip的根目录是指定的/var/ftproot
ftp2访问ip的根目录是指定的/app/ftp2 ftp2没有上传权限
[root@centos7 /etc/vsftpd/vusers.d/]#vim /etc/vsftpd/vusers.d/ftp2  添加权限配置
anon_upload_enable=YES   允许匿名用户上传
anon_mkdir_write_enable=YES 允许匿名用户上传/建立目录
[root@centos7 /etc/vsftpd/vusers.d/]#mkdir /app/ftp2/upload 创建上传目录
[root@centos7 /etc/vsftpd/vusers.d/]#chown vuser /app/ftp2/upload   给所有者映射用户vuser权限
[root@centos7 /etc/vsftpd]#systemctl restart vsftpd
测试

实验四

实现基于MYSQL验证的vsftpd虚拟用户
说明:本实验在两台CentOS主机上实现,一台做为FTP服务器,一台做数据库服务器
文件共享服务之vsftpd虚拟用户认证(vsftpd+pam+mariadb)
一、准备环境
安装所需要包和包组:
1-1:Server 1;FTP服务器
OS:CentOS 6.9  (CentOS 7需要编译详细看末尾)
IP:172.18.70.70
SOFTWARE:vsftpd
[root@centos6 ~]# yum -y install vsftpd mysql pam_mysql
[root@centos6 ~]#systemctl vsftpd  start
关闭防火墙,SElinux
注意:pam_mysql由epel源提供,需提前配置好epel的yum源。

1-2:Server 2;数据库服务器
OS:CentOS 7.3
IP:172.18.70.40
SOFTWARE:5.5.56-MariaDB
[root@centos7 ~]# yum -y install mariadb mariadb-server mariadb-devel
[root@centos7 ~]#systemctl start mariadb
关闭防火墙,SElinux
二、在MySQL 服务器上准备用户和数据表
准备数据库及相关表
2-1:准备数据库及相关表;
[root@centos7 ~]#mysql -uroot -p123456
mysql [(none)]> create database vsftpd;  创建数据库
mysql [(none)]> grant select on vsftpd.* to ftpuser@'172.18.70.%' identified by '123456';  
创建ftpuser用户通过网段ip连接vsftpd数据库,密码为123456
//注意:由于mariadb的安装方式不同,pam_mysql.so基于unix sock连接mariadb服务器时可能会出问题,
可授权一个可远程连接的mariadb并访问vsftpd数据库的用户。
mysql [(none)]> use ftpuser;  准备相关表
mysql [(ftpuser)]> show tables;
mysql [(ftpuser)]> create table users (id int unsigned auto_increment not null prim
ary key,name varchar(50) binary not null,password char(48) binary not null);创建表users

2-2:添加虚拟用户,调用PASSWORD函数加密后存储;
mysql [(ftpuser)]> insert into users(name,password)values('user1',password('123456')),('us
er2',password('123456'));
//添加两个用户,用户1:“user1”,密码“123456”;用户2:“user2”,密码“123456”;二用户的密码调用
mariadb内置函数password()加密。
mysql [(ftpuser)]> flush privileges;  刷新MySQL的系统权限相关表
mysql>DESC users;
测试连接
[root@centos6 ~]#mysql -uftpuser -h 172.18.70.40 -p123456
mysql> SHOW DATABASES;
三、CentOS 6.9配置vsftpd
建立pam认证所需文件
3-1:建立pam认证所需文件;
#vim /etc/pam.d/vsftpd.mysql   调用模块
auth required /lib64/security/pam_mysql.so user=vsftpd passwd=vsftpd host=172.18.70.4
0 db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2
account required /lib64/security/pam_mysql.so user=vsftpd passwd=vsftpd host=172.18.70.4
0 db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2
//有关crypt=0|1|2等含义,参看pam_mysql的README文件,因前面设置了用户密码调用mysql内置函数
password()加密,故这里设置为2。
# rpm -ql pam_mysql
# less /usr/share/doc/pam_mysql-0.7/README

3-2:CentOS 6.9建立虚拟用户映射的系统用户及对应的目录;
# useradd -s /sbin/nologin -d /var/ftproot vuser    vuser 映射虚拟用户
# mkdir -pv /var/ftproot/
# chmod 555 /var/ftproot/
#mkdir /var/ftproot/upload 
chown  vuser /var/ftproot/upload 

3-3:修改vsftpd的配置文件,使用mysql认证;
#vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
local_enable=YES
write_enable=YES
anon_upload_enable=NO  是否允许匿名用户上传文件
anon_mkdir_write_enable=NO 是否允许匿名用户上传/建立目录
chroot_local_user=YES
guest_enable=YES
guest_username=vuser  以谁身份访问,将所有guest账号映射成vuser
pam_service_name=vsftpd.mysql  调用MySQL路径
//注意:此处将pam_service_name=vsftpd修改为pam_service_name=vsftpd.mysql后,本地用户将无法登录vsftp。
# /etc/init.d/vsftpd start
# netstat -tnlp |grep :21
四、虚拟用户登录测试
4-1:可用Windows命令行、IE、FTP客户端工具登录验正,此处以Linux命令行工具为例。
# lftp -u user1 172.18.70.70
//完成虚拟用户访问vsftpd服务器。
五、为虚拟用户设置不同的访问权限
5-1:配置vsftpd,设置一个虚拟用户配置文件目录,目录名称不限;
#vim /etc/vsftpd/vsftpd.conf
user_config_dir=/etc/vsftpd/vusers.d/  #在配置文件中指定 每个用户配置文件专门找文件夹存放
5-2:创建所需要的虚拟用户配置文件目录;
# mkdir /etc/vsftpd/vusers.d/

5-3:配置虚拟用户的访问权限
# vim /etc/vsftpd/vusers.d/user1
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
//虚拟用户的权限配置文件名同虚拟用户的用户名,用户“user1”可以下载文件、上传文件、上传目录。
# cd /etc/vsftpd/vusers.d
# cp user1 user2
//用户“user2”只能下载文件
# vim /etc/vsftpd/vusers.d/user2
local_root=/app/ftpuser2  #登录目录改变至指定的其他目录 跟user1看到的家目录不一样
anon_upload_enable=YES    允许上传

创建user2家目录路径
#mkdir /app/ftpuser    家目录不能有写权限需要添加文件夹后设置权限
#mkdir /app/ftpuser/upload
chown vuser /app/ftpuser/upload   给upload添加写权限
#service vsftpd restart
六、虚拟用户登录测试
6-1:可用Windows命令行、IE、FTP客户端工具登录验正,此处以Linux命令行工具为例。
# lftp -u user1 172.18.70.70
# lftp -u user2 172.18.70.70
//测试不同虚拟用户的不同访问权限。

centos7编译安装步骤

centos7:无对应rpm包,需手动编译安装

yum -y groupinstall "Development Tools"
yum -y install mariadb-devel pam-devel vsftpd openssl-devel mariadb

下载pam_mysql-0.7RC1.tar.gz
ftp://172.16.0.1/pub/Sources/sources/pam/
tar xvf pam_mysql-0.7RC1.tar.gz
cd pam_mysql-0.7RC1/
./configure --with-mysql=/usr --with-pam=/usr
--with-pam-mods-dir=/lib64/security
make
make install
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,222评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,455评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,720评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,568评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,696评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,879评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,028评论 3 409
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,773评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,220评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,550评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,697评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,360评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,002评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,782评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,010评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,433评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,587评论 2 350

推荐阅读更多精彩内容