1. 程式人生 > >Samba、NFS

Samba、NFS

samba\nfs

?
兩臺虛擬機,均要檢測

  1. Yum是否可用
  2. 防火墻默認區域修改為trusted
  3. IP地址是否配置

####################################################

samba 文件共享(共享文件夾)

? Samba 軟件項目
– 用途:為客戶機提供共享使用的文件夾
– 協議:SMB(TCP 139)、CIFS(TCP 445)

? 所需軟件包:samba
? 系統服務:smb

一、搭建基本samba服務
1.安裝samba軟件包
2.創建samba的共享帳號。與系統相同用戶名,不同密碼
#useradd -s /sbin/nologin harry
#useradd -s /sbin/nologin kenji

#useradd -s /sbin/nologin chihiro

#pdbedit -a harry #添加samba帳號,設置密碼
#pdbedit -a kenji #添加samba帳號,設置密碼
#pdbedit -a chihiro #添加samba帳號,設置密碼

#pdbedit -L #列出所有有效的samba帳號

3.修改服務配置文件 /etc/samba/smb.conf

補充:vim 末行模式 set nu 添加行號

89      workgroup = STAFF
321     [common]        #共享名
322     path = /common  #共享實際路徑

#mkdir /common
#echo haha > /common/abc.txt

  1. 重起smb服務,設置為開機自起

虛擬機Desktop0
? 所需軟件包:samba-client
#smbclient -L //172.25.0.11
#smbclient -U harry //172.25.0.11/common

smb: \> ls
NT_STATUS_ACCESS_DENIED listing *

SELinux: 布爾值 (功能的開關)

? getsebool 查看 SELinux 開關
#getsebool -a | grep samba
samba_export_all_ro --> off

samba_export_all_rw --> off

? setsebool 控制 SELinux 開關
– 需要加 -P 選項才能實現永久設置
#setsebool samba_export_all_ro=on
#getsebool -a | grep samba

虛擬機Desktop0
#smbclient -U harry //172.25.0.11/common
Enter harry‘s password:
Domain=[STAFF] OS=[Unix] Server=[Samba 4.1.1]
smb: \> ls

? 所需軟件包:cifs-utils
_netdev: 開啟網絡服務後再掛載該設備

1.安裝軟件包cifs-utils
2.修改/etc/fstab
//172.25.0.11/common /mnt/samba cifs user=harry,pass=123,_netdev 0 0

  1. mount -a 驗證
    df -h

########################################################

Samba讀寫的共享

1.修改配置文件/etc/samba/smb.conf

[devops]
path = /devops
write list = chihiro

#mkdir /devops
#echo hahaxixi > /devops/123.txt
2.重起smb服務
3.客戶端驗證:
#smbclient -L 172.25.0.11
Enter root‘s password:

4.客戶端掛載驗證
#mkdir /mnt/dev
#vim /etc/fstab
//172.25.0.11/devops /mnt/dev cifs user=chihiro,pass=123,_netdev 0 0
#mount -a
#df -h

##################################################

實現讀寫Samba共享的其他操作

思路:客戶端訪問服務端資源
1.防火墻是否限制
2.服務本身的訪問控制
3.SELinux 是否限制
4.服務端目錄本地權限

一、修改服務端SELinux布爾值,開放讀寫
#getsebool -a | grep samba
#setsebool samba_export_all_rw=on
#getsebool -a | grep samba

二、目錄本地權限
#ls -ld /devops/
#setfacl -m u:chihiro:rwx /devops/
#getfacl /devops/

三、客戶端驗證
#touch /mnt/dev/test.txt

########################################################

multiuser多用戶訪問(了解)

– multiuser,提供對客戶端多個用戶身份的區分支持
– sec=ntlmssp,提供NT局域網管理安全支持

客戶端完成:
#vim /etc/fstab
//172.25.0.11/devops /mnt/dev cifs user=kenji,pass=123,_netdev,multiuser,sec=ntlmssp 0 0

#umount /mnt/dev/
#mount -a
#df -h

#su - student
$ cd /mnt/dev
$ cifscreds add -u chihiro 172.25.0.11
Password:
$ ls
$ touch abc.txt
$ exit

#########################################################

配置NFS共享

? Network File System,網絡文件系統
– 用途:為客戶機提供共享使用的文件夾
– 協議:NFS(TCP/UDP 2049)、RPC(TCP/UDP 111)
? 所需軟件包: nfs-utils
? 系統服務: nfs-server

搭建基本的只讀NFS服務
1.在虛擬機server0上,檢測nfs-utils是否安裝
#rpm -q nfs-utils

2.修改配置文件/etc/exports
#mkdir /public
#echo hehelele > /public/nsd.txt
#vim /etc/exports
/public 172.25.0.0/24(ro)

3.重起nfs-server服務,設置開機自起
#systemctl restart nfs-server
#systemctl enable nfs-server

4.客戶端 訪問nfs-server服務
#mkdir /mnt/nfs
#showmount -e 172.25.0.11
#vim /etc/fstab
172.25.0.11:/public /mnt/nfs nfs _netdev 0 0

#mount -a
#ls /mnt/nfs

#######################################################

讀寫nfs-server服務

一.客戶端root用戶的讀寫
服務端:
#mkdir /abc
#echo 123 > /abc/a.txt
#vim /etc/exports
/abc 172.25.0.0/24(rw)

#systemctl restart nfs-server

客戶端:
#vim /etc/fstab
172.25.0.11:/abc /mnt/nsd nfs _netdev 0 0

#mkdir /mnt/nsd
#mount -a
#df -h

服務端:
#vim /etc/exports
/abc 172.25.0.0/24(rw,no_root_squash) #不壓榨客戶端root權限

#systemctl restart nfs-server

客戶端:
#systemctl restart nfs #重起客戶端服務
#touch /mnt/nsd/5.txt

二、普通用戶
客戶端普通用戶訪問服務端nfs-server服務,
服務端會以客戶端相同UID身份的本地用戶進行權限判定

LDAP :  網絡用戶,提供用戶名
kerberos : 密碼驗證,實現“一次密碼認證,多次免密登錄”的通行證機制

服務端:
#lab nfskrb5 setup
#grep ldapuser0 /etc/passwd
#id ldapuser0

1.部署kerberos加密的密鑰文件
wget http://172.25.254.254/pub/keytabs/server0.keytab -O /etc/krb5.keytab
#ls /etc/krb5.keytab

2.修改配置文件
#vim /etc/exports
/abc 172.25.0.0/24(rw,no_root_squash,sec=krb5p)

3.重起nfs-server與nfs-secure-server
#systemctl restart nfs-server nfs-secure-server

客戶端:
#lab nfskrb5 setup
#grep ldapuser0 /etc/passwd
#id ldapuser0

1.部署kerberos加密的密鑰文件
wget http://172.25.254.254/pub/keytabs/desktop0.keytab -O /etc/krb5.keytab

#ls /etc/krb5.keytab

2.修改/etc/fstab
172.25.0.11:/abc /mnt/nsd nfs _netdev,sec=krb5p 0 0

3.重起nfs與nfs-secure服務
#systemctl restart nfs nfs-secure

4.驗證掛載
#umount /mnt/nsd
#mount -a
#df -ah

Samba、NFS