1. 程式人生 > >服務之--samba

服務之--samba

1.samba的作用

samba是一款軟體,主要功能是提供cifs服務

2.samba的安裝與啟用

*)在服務端
yum install samba samba-common samba-client -y
這裡寫圖片描述
systemctl start smb
systemctl stop firewalld
這裡寫圖片描述

*)samba的基本資訊
埠: 139/tcp 139/udp 445/tcp 445/udp
主配置檔案:/etc/samba/smb.conf

*)基本配置資訊
workgroup = WESTOS ##工作組的設定
server string = hello world ##全域性共享資訊
這裡寫圖片描述


hosts allow = 172.25.254.223 ##客戶端黑名單
這裡寫圖片描述
hosts deny = 172.25.254.223 ##客戶端白名單
這裡寫圖片描述

3.測試

*)在客戶端
yum install samba-client -y
smbclient -L //172.25.254.123
Enter root’s password: ##沒有密碼直接回車
Domain=[GODDEVIN] OS=[Unix] Server=[Samba 4.1.1]

Sharename       Type      Comment
---------       ----      -------
IPC$            IPC       IPC Service (hello world)

Anonymous login successful
Domain=[GODDEVIN] OS=[Unix] Server=[Samba 4.1.1]

Server               Comment
---------            -------

Workgroup            Master
---------            -------

這裡寫圖片描述

4.本地使用者的建立及訪問

本地使用者建立

*)在服務端

samba擁護必須是本地使用者

useradd westos
useradd lee
smbpasswd -a westos
smbpasswd -a lee
pdbedit -L
pdbedit -x lee
這裡寫圖片描述

setsebool -P samba_enable_home_dirs on ##開啟允許訪問家目錄服務

測試

*)在客戶端
samba-client -L //172.25.254.123 -U lee
Enter lee’s password:
Domain=[GODDEVIN] OS=[Unix] Server=[Samba 4.1.1]

Sharename       Type      Comment
---------       ----      -------
IPC$            IPC       IPC Service (hello world)
lee             Disk      Home Directories

Domain=[GODDEVIN] OS=[Unix] Server=[Samba 4.1.1]

Server               Comment
---------            -------

Workgroup            Master
---------            ------- 

這裡寫圖片描述

測試命令

smbclient //172.25.254.123/lee -U lee
這裡寫圖片描述
mount //172.25.254.123/lee /mnt/ -o username=lee,password=lee

vim /etc/fstab ##實現客戶端永久掛載
//172.25.254.123/lee /mnt cifs defaults,username=lee,password=lee 0 0
這裡寫圖片描述

5.自定義共享目錄

*)當目錄是使用者建立時
mkdir /sambadir
semanage fcontext -a -t samba_share_t ‘/sambadir(/.*)?’
restorecon -FvvR /sambadir/
這裡寫圖片描述

vim /etc/samba/smb.conf
321 [DATA]
322 comment = hello world
323 path = /sambadir
這裡寫圖片描述

*)當目錄是系統目錄時
setsebool -P samba_export_all_ro on
這裡寫圖片描述

測試
smbclient -L //172.25.254.123 -U lee
這裡寫圖片描述
smbclient //172.25.254.123/DATA -U lee
這裡寫圖片描述

*)匿名使用者登陸許可權開放
guest ok = yes ##匿名使用者可以登陸
這裡寫圖片描述
126 map to guest = bad user ##匿名使用者可以使用guest名稱掛載
這裡寫圖片描述

6.許可權控制

使用者可寫

chmod 777 /sambadir
setsebool -P samba_export_all_rw on

writable = yes | no ##是否開啟寫權力
write list = lee ##寫權力對lee使用者開放
write list = +|@lee ##寫權力對lee組使用者開放
admin users = westos ##設定westos使用者為當前共享的root
valid users = lee ##設定當前共享的有效使用者
browseable = yes|no ##當前共享是否顯示
這裡寫圖片描述

7.samba的多使用者掛載

*)在客戶端
yum install cifs-utils -y
vim /root/sambapasswd
username=lee
password=lee

chmod 600/root/sambapasswd
mount -o credentials=/root/sambapasswd,sec=ntlmssp,multiuser //172.25.254.123/DATA /mnt/
credentials=/root/smbpasswd ##掛載時的使用者認證
sec=ultiuser ##支援其他使用者認證
sec=ntlmssp ##其他使用者的認證方式

測試

ls /mnt
su - student
ls /mnt
ls: reading directory :Permission denied
這裡寫圖片描述
在student下
cifscreds add -u westos 172.25.254.123 ##新增即使錯誤也不警告
cifscreds update -u westos 172.25.254.123 ##新增錯誤了更新
ls /mnt
touch /mnt/file5
可以看到建立file5所用到的使用者身份是samba使用者westos