第一步:以最簡單的方式讓samba運作起來,并具有基本的安全功能.
步驟:
要關閉selinux,以避免幹擾.指令:setenforce 0
1.yum install samba
2.mkdir /share
3.useradd smbuser
4.smbpasswd -a smbuser
定義密碼: smbuser
确認密碼: smbuser
5.chown smbuser /share
6.vim /etc/samba
把[global] 下
"workgroup = " 後面改為" workgroup".
"netbios name = myserver " 前面的分号" ;"去掉.
7.然後再配置檔案後添加以下内容:
[tools]
comment = my tools
path = /share
browseable = yes
guest ok = yes
writable = yes
8.service smb start
ok現在windows裡打開網路上的芳鄰(win7裡為網絡),找到名稱為"myserve"的主機.輕按兩下打開,以
smbuser使用者登入.可以看到"smbuser"的家目錄和一個"tools"的檔案夾.進入之後可以建立和下載下傳文
件.是不是很簡單.
第二步: 解析步驟
1. 隻要配置好yum源,神馬都是浮雲.
2. 建立共享目錄.
3. samba伺服器登入的使用者隻能是系統中已經存在的使用者,但密碼不是該使用者"登入系統"使用的密碼
.而是另外配置的samba服務密碼.因為samba傳輸時使用的是明文,是以使用系統登入密碼是非常危險
的.
4. smbpasswd 指令是用來管理samba使用者的.
常用參數有:
-a 添加使用者(必須是系統存在的)
-u 删除已添加的使用者
-d 将使用者臨時禁用
-e 啟用被禁用的使用者
5. 讓smbuser使用者擁有對/share的讀寫權限.
6.7. 配置共享參數:
[global] 全局配置段
workgroup = 定義的是"工作組" 就是windows裡的"工作組"
netbios name = 定義的是主機名 " ; "表示此選項是可以添加的選項 "#"表示就是注釋.
writable = 定義是否可寫
security = 安全級别定義 共有四個"1.share 可匿名登入 2.user 需要賬号密碼(預設級别) 3.domain/server 4.ads
[homes] 定義使用者登入時是否可以通路自己的家目錄.
commend 注釋資訊
browseable = 定義如果通路者不是屬主的話,是否可以通路
[printer] 可設定列印機共享.
[tools] 自定義的共享檔案夾名
path = 定義共享檔案夾的位置
guest ok = 來賓賬号是否可以通路
[注:grep -v "^[[:space:]]*#" smb.conf | grep -v "^$" | grep -v "^;" -- 輕松檢視已啟
用選項.(*@ο@*) 哇~]
8 啟動服務
第三步: 安全擴充
一.write list:
在新添加的[tools]段下添加
"write list = " 通路清單
後面可添加 使用者
例:
1.useradd newuser
2.setfacl -m u:newuser:rwx /share (以acl方式給newuser /share 目錄的讀寫權限)
3.smbpasswd -a newuser
密碼: newuser
4.之後使用newuser登入.[注:此時使用windows登入的話将不用再彈出登入界面]
使用smbclient 指令: (在另一個linux主機上)
格式:
smbclient -l host/ip -u username(可登入的使用者,不填為匿名使用者) 檢視共享資源
smbclient //host/share -u username 通路共享資源
smb> put 上傳 get 下載下傳 help 檢視可使用的指令
此時可以使用 newuser登入并具有讀寫權限
5.添加如下内容:
write list = smbuser
6.serive smb reload
此時 newuser 将不具有寫權限,雖然newuser對/share具有寫權限.
"write list = " 也可以定義組使用者
例:
1.groupadd smbgrp
2.usermod -ag smbgrp smbuser
usermod -ag smbgrp newuser
3.該 write list = +smbgrp (給smbgrp組共享寫權限)
現在smbuser,newuser都具有/share的寫權限.
二. hosts allow
host allow = 127. 172.16. 192.168.1
表示隻允許 127.0.0.0/8 網段的 和 172.16.0.0/16網段 和 192.168.1.0/24網段 的主機通路.
第四步:挂載共享目錄
指令格式:
mount -t cifs //host/共享目錄 /挂載目錄 -o username=可登入的使用者
例:
mount -t cifs //172.16.100.1/tools /mnt -o username=smbuser
以smbuser使用者的身法将主機172.16.100.1 下的/tools 挂載到本機的/mnt目錄下
第五步:web管理軟體,使用901端口
[注:samba-swat是一個非獨立守護程序,依賴于超級守護程序xinetd.配置檔案位于/etc/xinetd.d/
下.其他非獨立守護程序的配置檔案也位于該目錄下.]
1.安裝
yum install samba-swat
2.編輯配置檔案
vim /etc/xinetd.d/swat
顯示一下内容:
service swat
{
port = 901 //定義端口
socket_type = stream //使用tcp的901端口
wait = no //
only_from = 127.0.0.1 //swat的通路控制清單,此處表示僅允許本機問.
[注: only_from = 172.16.0.0/16 //定義一個網段可以通路,隻能使用短掩碼格式.]
user = root //登入使用者(系統中使用者)
server = /usr/sbin/swat //
log_on_failure += userid //
disable = yes //是否不啟用,預設不啟用."no"表示啟用
}
之後再浏覽器中輸入: (本機ip:901)例: 127.0.0.1:901 , 即可通路web管理界面.