vsftp和nfs服务
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vsftp和nfs服务相关的知识,希望对你有一定的参考价值。
sftpd服务 命令端口21 独立服务 由xinetd管理的是非独立服务
主配置文件:/etc/vsftpd/vsftpd.conf
/usr/sbin/vsftpd ftp服务的主程序
yum install vsftpd
systemctl start vsftpd
systemctl enable vsftpd开机自启动
// 注意防火墙 iptables -F 和 selinux->gentenment
ftp ip地址进行地址访问
进行家目录的修改:
centos7
cd /app
mkdir ftpsite
usermod -d /app/ftpsite ftp
getent passwd ftp 查看家目录修改成功
cd ftpsite touch a
centos6 : ftp ip地址 ftp magedu ls查看
#ps aux|grep vsftpd 筛选vsftpd服务
#ps -eF查看父子进程
查看vsftpd的配置文件:
cd /etc/vsftpd
cat vsftpd.conf
grep -v ‘^#‘ vsftpd.conf 筛选
ss -ntl 查看端口
修改vsftpd的配置文件
vim /etc/vsftpd/vsftpd.conf
修改监听的端口:
vim vsftp.conf
liste_port=9527
ftp_data_port=2222 主动端口
service start vsftpd
链接测试: ftp 192.168.37.104 9527 指定端口
ftp -A ip地址 默认主动模式
主动模式端口 : 数据端口20
被动模式端口 :数据端口随机
ftp>
passive 进行模式的切换
默认ftp链接为被动模式
匿名链接
cd /var/ftp/pub
dd if=/dev/zero of=f1 bs=1M count=1024 设个文件
ftp 192.168.37.107
vim vsftpd.conf
anonymous_enable=NO 不允许匿名登录
设置acl:
setfacl -m u:ftp:rwx /var/ftp 加权限
se tfacl -x u:ftp:rwx /var/ftp 减权限
echo -e ‘\e[5;1;31mupload dir\e[0m‘ > .message 设置颜色并重定到指定的文件中
ctrl+v +[ =^[
PAM模块
/etc/pam.d/vsftpd pam的配置文件
/etc/vsftpd/ftpusers 拒绝的用户设置文件
/etc/vsftpd/ftpusers/user_list root拒绝
#useradd magedu 创建用户
// echo "passwd"|passwd --stdin username 设置密码
#echo "magedu"|passwd --stdin magedu
#echo -e ‘\e[33mupload dir\e[0m‘ 设置字体颜色
#echo -e ‘\e[1;33mupload dir\e[0m‘高亮显示颜色
#echo -e ‘\e[5;1;33mupload dir\e[0m‘ 高亮闪烁显示字体颜色
#echo -e ‘\e[5;1;33mupload dir\e[0m‘ > .message 可重定向到文件中
实验:实现基于db文件验证的ftp虚拟用户
cd /etc/vsftpd
vim fpusert.txt 存放虚拟账户
ftp1
centos1
ftp2
centos2
ftp3
centos3
db_load -T -t hash -f ftpuser.txt ftpuser.db 转换为db格式
chmod 666 ftpuser.db
useradd -s /sbin/nologin -r -m -d /app/ftpsite ftpuser 系统账户
cd /etc/vsftpd
cd /etc/pam.d 验证用户身份
vim vsftpd.db
ppt上
ftpuser
vim vsftpd.conf
pam_service_name=vsftpd.db
guset_username=ftpuser
guest_enable=YES
user_config_dir=/etc/vsftpd/conf.d
cd /app/ftpsite
touch ftp
chomd -w /app/ftpsite
chmod 555 /app/ftpsite
cd /app/ftpsite
mkdir upload
chmod ftpuser upload
mkdir /etc/vsftpd/conf.d
cd /etc/vsftpd/conf.d
vim ftp1可以上传并创建文件夹
anon_upload_enable=yes
anon_mkdir_write_enable=yes
cd /app
mkdir ftpsite2
mkdir ftpsite3
touch ftpsite2/ftpsite2
touch ftpsite3/ftpsite3
chmod -w *
cd /etc/vsftpd/conf.d
vim ftp2
local_root=/app/ftpsite2
vim ftp3
local_root=/app/ftpsite3
anon_upload_enable=yes
anon_mkdir_write_enable=yes
cd ftpsite3
mkdir up
chown ftpuser up
cd ftpsite2
mkdir up
chown ftpuser up
systemctl restart vsftpd
101:测试
ftp 192.168.223.166
ftp1
cd upload
put f1.txt
实验:实现基于mysql的ftp虚拟用户
过程如下:
环境:两台主机,一台A:mairadb server 101 一台B ftp server 107 客户端106
1 A:安装mariadb yum install mariadb-server
syatemctl strat mariadb
mysql_secure_insatll_db
mysql -uroot -pcentos
create database vsftpd;
use vsftpd
create table ftpusers(name char(30),pass char(50));
insert ftpusers values(‘ftp1‘,password(‘centos‘)),(‘ftp2‘,password(‘magedu‘));
grant select on vs ftpd.ftpusers to ‘ftp‘@‘192.168.37.107‘ identified by ‘centos‘;
2 B:
yum install vsftpd
下载pam_mysql的bap
rz
tar xvf pam_mysql-0.7rcl.tar.gz
yum insatll pam_mysql
yum groupinstall "development tools"
yum install mariadb-devel pam-devel
cd pam_mysql-0.7
./configure --with-pam-mods-dir=/lib64/security --with-pam=/usr
make && make install
useradd -d /app/ftpdir -r -m ftpuser
chmod -w /app/ftpdir
3 B
vim /etc/pam.d/vsftpd.mysql
auth required pam_mysql.so user=ftp passwd=centos host=192.168.37.101 db=vsftpd table=ftpusers usercolumn=name passwdcolumn=pass crypt=2
account required pam_mysql.so user=ftp passwd=centos host=192.168.37.101 db=vsftpd table=ftpusers usercolumn=name passwdcolumn=pass crypt=2
4 B
vim /etc/vsftpd/vsftpd.conf
pam_service_name=vsftpd.mysql 修改
加下面行
guest_enabl e=yes
guest_username=ftpuser
user_config_dir=/etc/vsftpd/conf.d/
mkdir /etc/vsftpd/conf.d/
vim /etc/vsftpd/conf.d/ftp1
anon_upload_enable=yes
vim /etc/vsftpd/conf.d/ftp2
local_root=/app/ftpdir2
5 B
mkdir /app/ftpdir/
chmod 555 /app/ftpdir
cd /ftpdir
touch f1
mkdir up
chown ftpuser up
mkdir /app/ftp2
chmod 555 /app/ftpdir2
cd /ftp2
touch f2
mkdir up
chown ftpuser up
106测试: ftp 192.168.37
ftp1
ftp 192.168.37
ftp2
centos7
先实现自签证书:cd /etc/pki/tls/certs
make vsftpd.pem
CN
henan
zhengzhou
magedu
opt
magedu.com
mv vsftpd.pem /etc/vsftpd
vim /etc/vsftpd/vsftpd.conf
ppt上
systemctl restart vsftpd
101:测试 ftp 192.168.223.166
ftp工具
axel 下载安装 centos6
yum insatll axel-2.4-1.e16.rf.x86_64.rpm
rpm -ql axel
service vsftpd start
cd /var/www/html
dd if=/dev/zero of=f1 bs=1M count=1024
mv f1 /var/ftp/pub
107 axcel -n 10 -o ftp://192.168.37.106/pub/f1 并行下载
wget ftp://192.168.37.106/pub/f1 并行下载
NFS服务:
实验:基于NFS的LAMP
NFS: 端口不固定 依赖于fpcbind(存放nfs的端口号)
实现简单共享:centos7
# yum install nfs-utils安装包
service rpcbind start
service nfs start (centos6) systemctl start nfs-server (centos7)
chkconfig nfs on 开机自启动 (centos6) systemctl enable nfs-server 开机自启动(centos7)
rpcinfo -p 可查看nfs的端口
107:
创建共享文件夹:
mkdir /app/nfsdir1
mkdir /app/nfsdir2
vim /etc/exports
/app/nfsdir1 * (ro)
/app/nfsdir2 * (rw,no_root_squash不压榨)// (,all_squash) 压榨nobady,加上后no失效
anonuid=1002,anongid=1002)指明用户映射为特定的用户UID和GID// 也就是当创建用户时默认
所属人,所属组为指定的用户的
systenctl reload nfs-servert
exportfs -v 查看是否共享出去
exportfs -r 不用重新加载服务,可以直接进行文件共享
exportfs -au 临时关闭共享
101:测试
showmount -e 192.168.37.107
mkdir /mnt/nfs1
mkdir /mnt/nfs2
mount 192.168.37.107:/app/nfsdir1 /mnt/nfs1 临时挂载
vim /etc/fstab 写进文件实现永久挂载
192.168.37.107:/app/nfsdir1 /mnt nfs defaults 0 0 ; mount -a
mount 192.168.37.107:/app/nfsdir2 /mnt/nfs2
df查看
cd /mnt/nfs1; touch xx
cd /mnt/nfs2; touch f1
107:
chmod 777 /app/nfsdir2
setfacl -m u:nfsnobody:rwx /app/nfsdir2 设置权限
showmount -e 192.168.223.167 查看该虚拟机是否有共享文件
rpcbind.service 依赖于 rpcbind.socket
systemctl stop rpcbind.socket rpcbind.service也将停止
以上是关于vsftp和nfs服务的主要内容,如果未能解决你的问题,请参考以下文章
linux服务器的所有服务web/dns/dhcp/vsftp-nfs-samba的配置
马哥2016全新Linux+Python高端运维班-Linux服务 DNS,httpd,加密通讯,vsftp,NFS,samba服务练习