1. 程式人生 > >vsftp和nfs服務

vsftp和nfs服務

linux

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服務