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