首先我們要安裝samba軟體。
yum install samba或者apt-get install samba
2. linux samba共享文件夾許可權設置 不能復制文件
這是linux上的samba服務文件夾許可權沒有作設置,以redhat linux為例。
1、設置文件夾許可權,檢測配置文件,假設在samba服務配置文件中設置的公開目錄為/home/samba/share。
chmod -R 0777 /home/samba/share
testparm
2、重啟Samba服務即可解決
service smb restart
3. linux怎麼配置samba伺服器
1.samba伺服器目錄:
企業數據目錄:/companydata
公共目錄:/companydata/share
銷售部目錄:/companydata/sales
技術部:/companydata/tech
2.企業員工情況:
總經理:gm
銷售部:銷售部經理 redking、員工 sky、員工 jane
技術部:技術部經理 michael、員工 bill、員工 joy
3.搭建samba文件伺服器,建立公共共享目錄,允許所有人訪問,許可權為只讀,為銷售部和技術部分別建立單獨的目錄,只可以總經理和相應部門員工訪問,並且公司員工禁止訪問非本部門的共享目錄。
案例解析:
1.需求分析
對於建立公共目錄public欄位就可以實現匿名訪問,員工只能訪問本部門的共享目錄,禁止訪問非本部門的共享目錄,可以通過設置目錄共享欄位「browseable = no」及欄位「valid users」來實現其隱藏功能和相應的訪問許可權。這樣設置不能很好得解決同一目錄多種需求的許可權設置,所以需要建立獨立配置文件,為每個部門建立一個組後並為每個組建立配置文件來實現隔離用戶許可權會比較靈活。
2. 解決方案
1)建立各部門專用共享目錄
使用mkdir建立需求的共享目錄以便分門別類的存儲相應資料。
[root@RHEL ~]#mkdir /companydata
[root@RHEL ~]#mkdir /companydata/share
[root@RHEL ~]#mkdir /companydata/sales
[root@RHEL ~]#mkdir /companydata/tech
同時設置/companydata共享目錄的用戶許可權
[root@RHEL ~]#chmod –R 777 /companydata
2)添加samba伺服器描述及設置smbpasswd文件
默認/etc/samba/目錄下沒有smbpasswd文件,要先關閉samba的tdbsam驗證。
解決方法:在smb.conf文件中注釋掉passdb backend = tdbsam 一行,為了指定samba用戶的驗證我們加上這一條smb passwd file = /etc/samba/smbpasswd,然後保存退出。
3)添加用戶和組
先建立銷售部組sales,技術部組tech,然後使用useradd命令添加總經理帳號gm及各個員工的帳號並加入相應的用戶組。
[root@RHEL ~]#groupadd sales
[root@RHEL ~]#groupadd tech
[root@RHEL ~]#useradd gm
[root@RHEL ~]#useradd –g sales redking
[root@RHEL ~]#useradd –g sales sky
[root@RHEL ~]#useradd –g sales jane
[root@RHEL ~]#useradd –g tech michael
[root@RHEL ~]#useradd –g tech bill
[root@RHEL ~]#useradd –g tech joy
接著使用smbpasswd命令添加samba用戶:
[root@RHEL ~]#smbpasswd –a gm
New SMB password:
Retype new SMB password:
Added user gm.
[root@RHEL ~]#smbpasswd –a redking
New SMB password:
Retype new SMB password:
Added user reding.
[root@RHEL ~]#smbpasswd –a sky
New SMB password:
Retype new SMB password:
Added user syk.
[root@RHEL ~]#smbpasswd –a jane
New SMB password:
Retype new SMB password:
Added user jane.
[root@RHEL ~]#smbpasswd –a michael
New SMB password:
Retype new SMB password:
Added user michael.
[root@RHEL ~]#smbpasswd –a bill
New SMB password:
Retype new SMB password:
Added user bill.
[root@RHEL ~]#smbpasswd –a joy
New SMB password:
Retype new SMB password:
Added user joy.
4)配置smb.conf文件
(1)建立單獨配置文件
用戶配置文件使用用戶名命令,組配置文件使用組名命令。
[root@RHEL ~]#cp /etc/samba/smb.conf /etc/samba/gm.smb.conf
[root@RHEL ~]#cp /etc/samba/smb.conf /etc/samba/sales.smb.conf
[root@RHEL ~]#cp /etc/samba/smb.conf /etc/samba/tech.smb.conf
(2)設置主配置文件smb.conf
配置smb.conf主配置文件,在global節點中添加相應欄位,確保samba伺服器的主配置文件可以調用獨立的用戶配置文件和組配置文件。
include = /etc/samba/%U.smb.conf表示使samba伺服器載入/etc/samba目錄下格式為「用戶名.smb.conf」的配置文件。
include = /etc/samba/%G.smb.conf表示使samba伺服器載入/etc/samba目錄下格式為「組名.smb.conf」的配置文件。
設置共享目錄/companydata/share
添加如下內容:
[public]
comment=public data
path=/companydata/share
public=yes
5)設置總經理gm配置文件
[root@RHEL ~]#vim /etc/samba/gm.smb.conf
添加如下內容:
[sales]
comment=sales data
path=/companydata/sales
writable=yes
valid users=gm
[tech]
comment=tech data
path=/companydata/tech
writable=yes
valid users=gm
6)設置銷售部組sales配置文件
[root@RHEL ~]#vim /etc/samba/sales.smb.conf
添加如下內容:
[sales]
comment=sales data
path=/companydata/sales
writable=yes
valid users=@sales,gm
7)設置技術部組tech配置文件
[root@RHEL ~]#vim /etc/samba/tech.smb.conf
添加如下內容:
[tech]
comment=tech data
path=/companydata/tech
writable=yes
valid users=@tech,gm
8)開啟samba服務
[root@RHEL ~]#service smb start
9)測試
分別用所設置賬號進行測試。
4. samba伺服器的功能
1、共享文件與列印機服務。可以把Linux系統變成一台SMB伺服器,使Windows 95以上的Windows用戶能夠使用Linux的共享文件和列印機,同樣的Linux用戶可以通過SMB客戶端使用Windows上的共享資源。
2、提供使用者登錄samba主機的身份認證。
3、進行Windows網路上的主機名解析。各個主機都定期的向區域網廣播自己的身份信息,負責收集這些信息,提供檢索的伺服器也被瀏覽伺服器,而samba能夠實現這項功能。同時在跨越網關的時候samba還可以作為WINS伺服器使用。
Samba伺服器的項目目標
1、System組具有管理所有Samba空間的許可權。
2、各部門的私有空間:各小組擁有自己的空間,除了小組成員及system組有許可權以外,其他用戶不可訪問(包括列表、讀和寫)。
3、資料庫:所有用戶(包括匿名用戶)都具有讀許可權而不具有寫入數據的許可權。
4、Develop組與test組的共享空間,develop組與test組之外的用戶不能訪問。
5、公共臨時空間:讓所有用戶可以讀取、寫入、刪除。