nfs與vsftpd案例結合

2021-10-03 19:06:01 字數 5031 閱讀 6688

ip

主機名備註

172.16.121.123

nfs關閉防火牆安裝nfs和vsftpd服務

172.16.121.124

nfs-bask

關閉防火牆測試服務

案例目標

這裡我沒用zhang1-6而是直接用名稱縮寫

使用vsftpd搭建ftp服務

cento s或者red hat linux上有自帶的ftp軟體vsftpd,預設並沒有安裝,需要用yum安裝,安裝後 不用配置,啟動後便可以使用

1.安裝 vsftpd

使用yum工具安裝vsftpd和nfs包,如下所示:

yum install -y vsftpd db4-utils nfs-utils
這裡安裝了兩個軟體包,同時也會把依賴的包安裝上。其中db4-utils包用來生成密碼庫檔案。

2.建立賬號

vsftpd預設可以支援使用系統賬號體系登入,但那樣不太安全,所以建議你使用虛擬賬號體 系登入。

首先建立與虛擬賬號相關聯的系統賬號,如下所示:

useradd virftp -s /sbin/nologin
[root@nfs ~]# cat /etc/vsftpd/vsftpd_login

wjh123456

tg123456

lsk123456

zyh123456

sqq123456

gqd123456

chmod 600 /etc/vsftpd/vsftpd_login
vsfptd使用的密碼檔案不是明文的,需要生成對應的庫檔案,如下所示:

db_load -t -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db
mkdir /etc/vsftpd/vsftpd_user_conf

cd /etc/vsftpd/vsftpd_user_conf

3.建立和使用者對應的配置檔案

使用者的配置檔案是單獨存在的,每乙個使用者都有乙個自己的配置檔案,檔名和使用者名稱一致,如 下所示:

[root@nfs ~]# cat /etc/vsftpd/vsftpd_user_conf/wjh

local_root=/home/virftp/wjh

anonymous_enable=no

write_enable=no

anon_other_write_enable=no

anon_world_readable_only=no

anon_upload_enable=no

local_max_rate=600000

其他5個也是這樣只要更改一下local_root=/home/virftp/wjh名稱就行

建立其他賬號的步驟和wjh一樣,如下所示

mkdir /home/virftp/wjh

touch /home/virftp/wjh/aminglinux.txt

chown -r virftp:virftp /home/virftp

vim /etc/pam.d/vsftpd //在最開頭新增兩行

auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

4.修改全域性配置檔案/etc/vsftpd/vsftpd.conf

修改使用者的配置檔案後還不可用,還需要修改vsftpd的一些全域性配置檔案。

首先編輯vsftpd.conf檔案,如下所示:

vim /etc/vsftpd/vsftpd.conf
修改如下內容:

將anonymous_enable=yes 改為 anonymous_enable=no;

將#anon_upload_enable=yes 改為 anon_upload_enable=no;

將#anon_mkdir_write_enable=yes 改為 anon_mkdir_write_enable=no

再增加如下內容:

chroot_local_user=yes

guest_enable=yes

guest_username=virftp

virtual_use_local_privs=yes

user_config_dir=/etc/vsftpd/vsftpd_user_conf

allow_writeable_chroot=yes

然後啟動 vsftpd服務,執行如下命令:

systemctl start vsftpd
nfs基礎配置

修改配置檔案新增共享目錄

fdisk /dev/sdb

先在這裡建立/dev/sdb1給他分配20g

在格式化

mkfs.ext4 /dev/sdb1
然後掛載到nfs下

mount /dev/sdb1 /nfs/
在把共享目錄存放在掛載目錄下

[root@nfs ~]# cat /etc/exports

/tmp *(rw,no_root_squash)

/data/wjh 172.16.121.0/24(rw)

/data/test 172.16.121.123(no_root_squash)

/data/linux 172.16.121.124(rw,sync,all_squash,anonuid=1000,anongid=1000)

/nfs/lost+found/wjh *(rw)

/nfs/lost+found/tg *(rw)

/nfs/lost+found/lsk *(rw)

/nfs/lost+found/zyh *(rw)

/nfs/lost+found/sqq *(rw)

/nfs/lost+found/gqd *(rw)

rw: 讀寫

ro : 唯讀

sync: 同步模式,同時將資料寫入到記憶體與硬碟中,較慢但安全

async: 非同步模式,優先將資料儲存到記憶體,然後再寫入硬碟,較快但不安全

root_squash: 當nfs客戶端以root管理員訪問時,許可權與普通使用者一樣

no_root_squash: 當nfs客戶端以root管理員訪問時,許可權最高

all_squash: 無論nfs客戶端使用什麼賬戶訪問,許可權都是普通使用者

anonuid/anongid: 和root_squash以及all_squash一同使用,用於指定使用nfs的使用者被限定後的uid和gid,但需要自己本機存在相應的uid和gid

啟動nfs

systemctl start nfs
nfs-bask下測試是否成功

[root@nfs-bask ~]# showmount -e 172.16.121.123

export list for 172.16.121.123:

/nfs/lost+found/gqd *

/nfs/lost+found/sqq *

/nfs/lost+found/zyh *

/nfs/lost+found/lsk *

/nfs/lost+found/tg *

/nfs/lost+found/wjh *

/tmp *

/data/wjh 172.16.121.0/24

/data/linux 172.16.121.124

/data/test 172.16.121.123

#! /bin/bash

a=`date +%y-%m-%d`

b=/backup/weekbackup

if [ ! -d $b ];then //判定是否存在b不存在就安裝

mkdir -p $b

cp -rvf /nfs/lost+found/ $b/$a //備份檔案到指定目錄b

fiif [ -d $b/$a ];then

echo $a sucess >> /var/log/wjh.log

find /backup -mtime +14 -name "*.*" -exec rm -rf {} \; //設定每14天刪除一次備用資料

else

echo $a error >> /var/log/wjh.log

fi

設定每週晚上9點備份資料執行指令碼

[root@nfs ~]# crontab -l

*/5 * * * * echo "1" >> /opt/test

* 21 * * 1 /root/wjh.sh

測試結果

[root@nfs ~]# sh wjh.sh 

『/nfs/lost+found/』 -> 『/backup/weekbackup/2020-03-11』

可以進入目錄檢視是否創成

nfs配置案例

一.nfs配置案例 要求 ntfsserver共享 home目錄給nfsclient,且nfsclient享有對共享檔案系統讀寫許可權 nfsclient手工載入伺服器中的共享檔案系統至 h1目錄 配置過程 nfsserver的設定 1 rpm ivh nfs utils 1.0.1 2.i386....

NFS檔案共享服務與觸發掛載結合

nfs檔案共享軟體準備nfs utils 服務端與客戶端都需要 服務程式 nfs server 觸發掛載主針對客戶端 軟體包autofs 服務程式 autofs 服務端1 裝包nfs utils 2 準備共享檔案,配置服務檔案 etc exports 共享的檔案路徑 ro 此處可自定義設定來訪問物件...

7 1 4 ScrollView結合案例詳解

scrollview是乙個滾動條控制項,當螢幕中內容很多時候需要使用滾動條。scrollview類的繼承圖如下 j a.lang.object android.view.view android.view.viewgroup android.widget.framelayout android.wi...