您好,登錄后才能下訂單哦!
Samba可以實現Linux和Windows之間的文件共享,主要包括服務端軟件Samba、客戶端軟件Samba-client、用于提供服務端和客戶端程序的公共組件Samba-common。在CentOS中大部分軟件包已經默認安裝好了。Samba服務器提供smbd、nmbd兩個服務程序,分別完成不同的功能。其中,smbd負責為客戶端提供服務器中共享資源(目錄和文件等)的訪問;nmbd負責提供基于NetBIOS協議的主機名稱解析,以便為Windows網絡中的主機進行查詢服務。
示例:
ABC是一家網站設計公司,公司下面有設計部、開發部、運維部等多個部門,公司決定部署一臺Samba服務器,滿足各個部門間快速共享數據的需求。
設計部共享目錄:/ABC/design
開發部共享目錄:/ABC/develop
運維部共享目錄:/ABC/ops
公共共享目錄:/ABC/share
每個目錄設置兩個用戶,部門主管具有讀寫的權限,其它人僅有讀的權限,以運維部為例:主管的用戶名為:opsadmin(密碼和用戶名一致),其它人:ops1(密碼與用戶名一致)。公共共享目錄:administrator(密碼和用戶名一致)具有讀寫權限,其它所有人僅有讀的權限。
1 關閉防火墻和Selinux:
[root@localhost ~]# service iptables stop
[root@localhost ~]# vim /etc/selinux/config
SELINUX=disabled
[root@localhost ~]# setenforce 0
2 配置Samba服務器:
安裝程序組件
[root@localhost ~]# rpm -qa | grep 'samba'
samba-common-3.6.23-33.el6.i686
samba-client-3.6.23-33.el6.i686
samba-winbind-3.6.23-33.el6.i686
samba4-libs-4.2.10-6.el6_7.i686
samba-winbind-clients-3.6.23-33.el6.i686
[root@localhost ~]# yum -y install samba
建立共享目錄和測試文件
[root@localhost ~]# mkdir -pv /ABC/{design,develop,ops,share}
[root@localhost ABC]# echo "This is design" >> /ABC/design/de.txt
[root@localhost ABC]# echo "This is develop" >> /ABC/develop/deve.txt
[root@localhost ABC]# echo "This is ops" >> /ABC/ops/ops.txt
[root@localhost ABC]# echo "This is share" >> /ABC/share/share.txt
[root@localhost ABC]# tree /ABC/
/ABC/
├── design
│ └── de.txt
├── develop
│ └── deve.txt
├── ops
│ └── ops.txt
└── share
└── share.txt
4 directories, 4 files
建立賬戶:Samba服務器使用獨立的共享賬號數據庫文件,其中的賬號必須有與它同名的系統用戶相對應,以便主機對共享訪問的讀寫權限進行控制;但共享用戶的密碼是額外設置的,可以和系統用戶的密碼不一樣。
[root@localhost ~]# useradd -s /sbin/nologin opsadmin #先增加系統用戶
[root@localhost ~]# pdbedit -a -u opsadmin #再添加共享用戶
[root@localhost ~]# useradd -s /sbin/nologin ops1
[root@localhost ~]# pdbedit -a -u ops1
[root@localhost ~]# useradd -s /sbin/nologin administrator
[root@localhost ~]# pdbedit -a -u administrator
[root@localhost ~]# pdbedit -L #列出所有用戶
opsadmin:501:
administrator:503:
ops1:502:
[root@localhost ~]# pdbedit -x -u vina #刪除某個用戶
[root@localhost ~]# pdbedit -vL ops1 #顯示用戶詳細信息
Unix username: ops1
NT username:
Account Flags: [U ]
User SID: S-1-5-21-2138872188-2142312678-3225965792-1001
Primary Group SID: S-1-5-21-2138872188-2142312678-3225965792-513
Full Name:
Home Directory: \\localhost\ops1
HomeDir Drive:
Logon Script:
Profile Path: \\localhost\ops1\profile
Domain: LOCALHOST
Account desc:
Workstations:
Munged dial:
Logon time: 0
Logoff time: never
Kickoff time: never
Password last set: Tue, 30 May 2017 12:04:49 CST
Password can change: Tue, 30 May 2017 12:04:49 CST
Password must change: never
Last bad password : 0
Bad password count : 0
Logon hours : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
備注:修改密碼需要用到如下命令:
smbpasswd username
修改配置文件
[root@localhost ABC]# vim /etc/samba/smb.conf
[global]
security = user
[share]
path = /ABC/share
public = yes
browseable = yes
read only = yes
write list = administrator
[ops]
path = /ABC/ops
browseable = yes
public = no
write list = opsadmin
valid users = ops1,opsadmin
[root@localhost ABC]# testparm #檢查配置文件
[root@localhost ABC]# chmod -R 777 /ABC/{design,develop,ops,share}
開啟服務
[root@localhost ABC]# service smb start
[root@localhost ABC]# service nmb start
修改配置文件后,需要重新載入配置文件
[root@localhost ABC]# service smb reload
附:Samba配置文件常用參數詳解:
1)security = user | share:
share:不需要提供用戶名和密碼;
user:共享目錄只能被授權的用戶訪問,并且驗證賬號和密碼的正確性;
2)path = /ABC/ops:共享目錄的路徑;
3)browseable = no | yes:該目錄是否可以被瀏覽,no意味隱藏目錄;
4)valid users = ops1,opsadmin:允許訪問該共享的用戶;
5)invalid users = **,**:禁止訪問該共享的用戶;
6)write list = ops1:允許寫入該共享的用戶;
7)public = no | yes:是否允許匿名訪問,同 guest ok
8) directory mask = 0755:上傳目錄的默認權限;
9) create mask = 0644:上傳文件的默認權限;
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。