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...