432423423 发表于 2017-10-31 15:48:43

vsftp和nfs服务

sftpd服务命令端口21 独立服务由xinetd管理的是非独立服务

主配置文件:/etc/vsftpd/vsftpd.conf
            /usr/sbin/vsftpd   ftp服务的主程序


   yum install vsftpd
systemctl startvsftpd
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/vsftpdpam的配置文件
      /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 restartvsftpd
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:安装mariadbyum 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 -qlaxel
    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.socketrpcbind.service也将停止

页: [1]
查看完整版本: vsftp和nfs服务