samba服務搭建測試

測試要求:
一、共享名爲shared,工做組爲magedu;
二、添加組develop,添加用戶gentoo,centos和ubuntu,其中gentoo和centos以develop爲附加組,ubuntu不屬於develop組;密碼均爲用戶名;
三、添加samba用戶gentoo,centos和ubuntu,密碼均爲「magedu」;
四、此samba共享shared僅容許develop組具備寫權限,其餘用戶只能以只讀方式詢問;
五、此samba共享服務僅容許來自172.16.0.0/16網絡的主機訪問;html

配置
samba服務器:172.16.20.241
一、首先安裝samba程序
[root@localhost ~]# yum -y install samba
二、修改配置文件linux

[root@localhost ~]# vim /etc/samba/smb.conf
修改--Network Related Options--區域的配置
workgroup = magedu    //配置工做組名
hosts allow = 172.16.0.0/16   //設置僅容許部分主機訪問samba服務
在配置文件底部添加以下配置信息
[shared]                       //共享名
path = /shared/            //共享路徑
comment = share for test    //  共享信息
guest ok = no                      //  禁止來賓帳戶訪問    
browseable = yes               //  容許瀏覽共享資源
read only = yes                   //  訪問只讀   
valid users = @develop,ubuntu    //  僅容許develop組內用戶和ubuntu用戶訪問此共享資源,設置組時須要在組名前加上"@"符號
write list = @develop                    //  僅develop組內用戶在此共享目錄有寫權限,這裏須要注意的是,若是同時配置了read only = yes和write list,那麼生效的效果爲:write list指定的用戶可寫,其餘用戶只讀。

更詳細的行爲控制和參數設定,推薦一位大神的文章http://blog.sina.com.cn/s/blog_63c8c46401014uhx.html
此處也是參照了這篇文章裏的內容。
三、添加用戶ubuntu

[root@localhost ~]# group add develop
[root@localhost ~]# useradd -G develop gentoo
[root@localhost ~]# useradd -G develop centos
[root@localhost ~]# useradd ubuntu
// 添加系統用戶gentoo和centos並將這兩個用戶的附加組設置爲develop
// 添加系統用戶ubuntu
[root@localhost ~]# smbpasswd -a gentoo
New SMB password:
Retype new SMB password:
Added user gentoo.
[root@localhost ~]# smbpasswd -a centos
New SMB password:
Retype new SMB password:
Added user centos.
[root@localhost ~]# smbpasswd -a ubuntu
New SMB password:
Retype new SMB password:
Added user ubuntu.
[root@localhost ~]# 
// 將系統用戶gentoo,centos,ubuntu分別添加到samba的密碼文件中,成功samba服務的用戶

四、建立共享目錄並設置文件系統權限vim

[root@localhost ~]# mkdir /shared/
[root@localhost ~]# chmod -R o= /shared
[root@localhost ~]# setfacl -m g:develop:rwx /shared
[root@localhost ~]# setfacl -m u:ubuntu:rx /shared
// 將其餘用戶的權限所有清空,提升安全性
// 因爲測試要求gentoo和centos可以在共享目錄中有寫權限,因此使用facl設置屬組develop對shared目錄具備讀寫執行權限,若是直接修改組權限,不靈活,且下降了安全性;對於目錄的執行權限,即cd進目錄,且能夠對此目錄使用ls -l命令
// 使用facl設置用戶ubuntu對shared目錄具備讀和執行權限,無寫權限

五、效果測試
在另外一臺linux主機上訪問此samba服務器:
測試centos用戶centos

[root@localhost ~]# smbclient \\172.16.20.241\shared -U centos
Enter centos's password: 
Domain=[MAGEDU] OS=[Unix] Server=[Samba 3.6.23-45.el6_9]
smb: \> 
smb: \> ls
  .                                   D        0  Thu Aug 24 14:04:35 2017
  ..                                 DR        0  Thu Aug 24 13:55:01 2017

        35727 blocks of size 524288. 29964 blocks available
smb: \> 
// 成功訪問shared目錄,使用ls命令查看共享目錄中的內容
smb: \> lcd /etc
smb: \> put passwd
putting file passwd as \passwd (1348.5 kb/s) (average 1348.6 kb/s)
smb: \> ls
  .                                   D        0  Thu Aug 24 14:05:27 2017
  ..                                 DR        0  Thu Aug 24 13:55:01 2017
  passwd                              A     1381  Thu Aug 24 14:05:27 2017

        35727 blocks of size 524288. 29964 blocks available
smb: \> 
smb: \> rm passwd
smb: \> ls
  .                                   D        0  Thu Aug 24 14:05:35 2017
  ..                                 DR        0  Thu Aug 24 13:55:01 2017

        35727 blocks of size 524288. 29964 blocks available
smb: \> 
// 上傳和刪除passwd文件成功,說明具備寫權限

gentoo用戶已經測試,效果與centos用戶一致,不在此贅述。安全

測試ubuntu用戶服務器

[root@localhost ~]# smbclient //172.16.20.241/shared -U ubuntu
Enter ubuntu's password: 
Domain=[MAGEDU] OS=[Unix] Server=[Samba 3.6.23-45.el6_9]
smb: \> ls
  .                                   D        0  Thu Aug 24 14:10:36 2017
  ..                                 DR        0  Thu Aug 24 13:55:01 2017
  passwd                              A     1381  Thu Aug 24 14:10:31 2017
  issue                               A       47  Thu Aug 24 14:10:36 2017

        35727 blocks of size 524288. 29964 blocks available
smb: \> get passwd
getting file \passwd of size 1381 as passwd (84.3 KiloBytes/sec) (average 84.3 KiloBytes/sec)
smb: \> rm passwd
NT_STATUS_MEDIA_WRITE_PROTECTED deleting remote file \passwd
NT_STATUS_MEDIA_WRITE_PROTECTED listing \passwd
smb: \> put shadow
NT_STATUS_ACCESS_DENIED opening remote file \shadow
smb: \> 
// 能夠下載文件,沒法刪除和上傳文件,說明具備讀權限,沒有寫權限

總結:
以上設置完成了測試要求,不過第4題的要求:其餘用戶只讀,我這裏理解的是 centos和gentoo可寫,ubuntu只讀,其餘用戶和匿名用戶只讀,因此設置:
guest ok = no
valid users = @develop,ubuntu
若是理解爲centos和gentoo可寫,ubuntu和其餘用戶及匿名用戶爲只讀,那麼要設置爲:
guest ok = yes
刪除valid users 一列網絡

寫的比較潦草,若有遺漏錯誤和爭議之處,歡迎你們的批評指正和討論,謝謝。
還有些許地方不夠完整,繼續學習之後回來填坑。ide

相關文章
相關標籤/搜索