smb(samba)服務
阿新 • • 發佈:2018-06-18
max cli string 本地用戶 自啟 init 發布 需要 獲取 smb(samba)服務:
用於Linux和windows之間文件傳輸,打印機共享;可以實現匿名用戶、本地用戶的文件共享
smb進程:負責控制發布共享目錄與權限 tcp 139 445
nmb進程:用於名稱解析netbios udp 137 138 基於netbios協議獲取計算機的名稱,並解析成相應的ip,實現通訊
# rpm -aq|grep ^samba
samba-winbind-clients-3.6.9-164.el6.x86_64 客戶端工具
samba-client-3.6.9-164.el6.x86_64 客戶端工具
samba4-libs-4.0.0-58.el6.rc4.x86_64 庫文件
samba-common-3.6.9-164.el6.x86_64 工具包
samba-winbind-3.6.9-164.el6.x86_64 客戶端
samba 服務端軟件【需要安裝】
1、
2、
3、軟件三步曲
# yum -y install samba
# rpm -q samba
# rpm -ql samba
/etc/logrotate.d/samba 日誌輪轉文件
/etc/pam.d/samba 認證文件
/etc/rc.d/init.d/nmb 啟動腳本
/etc/rc.d/init.d/smb 啟動腳本
/etc/samba/smbusers 定義別名
/usr/sbin/nmbd 二進制命令
/usr/sbin/smbd 二進制命令
# rpm -ql samba-common
/etc/samba 相關主目錄
/etc/samba/smb.conf 主配置文件
/usr/bin/pdbedit 查看數據庫文件的命令
/usr/bin/smbpasswd 創建smb用戶
/usr/bin/testparm 語法測試
# rpm -ql samba-client
/usr/bin/smbclient 客戶端工具
4、了解配置文件
# cat /etc/samba/smb.conf |grep -v ^#|grep -v ‘^;‘|grep -v ^$
[global] 全局標簽
workgroup = MYGROUP 工作組
server string = Samba Server Version %v 版本描述
log file = /var/log/samba/log.%m 日誌文件保存路徑
max log size = 50 日誌文件大小
security = user 用戶密碼;share 匿名用戶 ;server...
passdb backend = tdbsam 數據庫文件格式
load printers = yes 加載打印機
cups options = raw 打印機選項
[homes] 局部標簽
comment = Home Directories
browseable = no 隱藏該標簽
writable = yes 可寫
[printers]
comment = All Printers
path = /var/spool/samba
browseable = no
guest ok = no 等於 public = no
writable = no 等於 read only = yes
printable = yes
5、根據需求通過修改配置文件來完成服務的搭建
需求1:通過本地用戶訪問samba服務
默認情況下將本地用戶的家目錄共享出去了,所以不需要更改配置文件
# smbclient //10.1.1.1/stu1 -U user1 --->以用戶user1身份進入stu1家目錄(首先要有相應的權限)
6、啟動服務|開機自啟動
# /etc/init.d/smb start
# /etc/init.d/nmb start
# chkconfig smb on
# chkconfig nmb on
7、測試驗證
Linux:
# smbclient --help
# smbclient -L 10.1.1.1 查看遠程主機共享的標簽,默認輸入root密碼,如果不輸則是匿名用戶查看
# smbclient //10.1.1.1/user1 匿名用戶訪問共享的目錄
# smbclient -L 10.1.1.1 -U user1 使用user1用戶和smb數據庫的密碼查看共享的標簽
# smbclient //10.1.1.1/user1 -U user1 使用用戶q去直接訪問遠程主機的共享目錄
註意:
默認情況下,本地用戶可以通過用戶名和密碼去直接訪問server端所共享出來的家目錄;但是事先需要將該用戶加入到smb數據庫裏
# smbpasswd --help
# smbpasswd -a user1
-a add user :將用戶加入samba數據庫
-d disable user
-e enable user
-x delete user
window端:cmd \\10.1.1.1
需求2:匿名用戶共享/samba/share目錄
步驟:
1、創建一個共享目錄
# mkdir /samba/share -p
2、發布共享目錄
[anon_share]
comment = anon user share
path = /samba/share
public = yes
writeable = yes
註意:
1、security = share 那麽本地用戶是不能夠訪問的;即便是配置文件裏有共享給本地用戶的目錄;
2、security = user 那麽本地用戶和匿名用戶都可以訪問;具體能不能訪問某個共享目錄要看該目錄有沒有給相應的訪問權限
需求3:
公司:uplooking
1、財務部門 /samba/upl_cw cw01財務總監有可讀可寫權限,財務部門員工可讀,boss01對其有管理權限。
2、市場部門 /samba/upl_sc 市場部門員工可讀可寫,公司員工可以查詢資料,boss02對其有管理權限。
3、HR部門 /samba/upl_rs rs01HR總監可讀寫,HR部門員工可以對財務部查詢,vip用戶可以查詢
4、休息區 /samba/upl_pub 自己管理自己的文件
思路:
1、創建相應的共享目錄
2、創建相應的用戶組
3、根據需求將相應的目錄共享出去
4、需要將用戶加入到samba數據中
5、重啟服務
6、測試驗證
步驟:
1、創建相應的共享目錄並且更改相應權限
# mkdir /samba/upl_{cw,sc,rs,pub} -p
# chown root.uplooking upl_cw/
# chown root.uplooking upl_rs/
# chown root.uplooking upl_sc/
# chmod 1777 upl_pub/
2、創建相應的用戶組
# groupadd uplooking
# groupadd cw
# groupadd rs
# groupadd sc
# useradd -g cw -G uplooking cw01
# useradd -g cw -G uplooking cw02
# useradd -g rs -G uplooking rs01
# useradd -g rs -G uplooking rs02
# useradd -g sc -G uplooking sc01
# useradd -g sc -G uplooking sc02
# useradd -g uplooking boss01
# useradd -g uplooking boss02
# useradd vip
3、根據需求將相應的目錄共享出去
writable/可寫
readonly/只讀
write list=user1,@admin 可寫列表
read list=user1,@admin 可讀列表
valid users = @admin,user1 可用用戶
invalid users = @admin,user1 不可用用戶
valid和invalid不能同時出現
hosts allow = 150.203. EXCEPT 150.203.6.66
hosts deny = 10.1.1.2 172.16.250.1
[cw]
comment = cw01財務總監有可讀可寫權限,財務部門員工可讀,boss01對其有管理權限。
path = /samba/upl_cw
valid users = @cw,@rs,boss01
write list = cw01,boss01
[rs]
comment = rs01HR總監可讀寫,HR部門員工可以對財務部查詢,vip用戶可以查詢
path = /samba/upl_rs
valid users = @rs,vip
write list = rs01
[sc]
comment = 市場部門員工可讀可寫,公司員工可以查詢資料,boss02對其有管理權限
path = /samba/upl_sc
valid users = @uplooking,vip
write list = boss02,@sc,vip
[pub]
comment = 自己管理自己的文件
path = /samba/upl_pub
public = yes
writable = yes
hosts allow = 10.1.1.0/255.255.255.0
4、將用戶加入到smb數據庫裏
# smbpasswd -a cw01
# smbpasswd -a rs01
# smbpasswd -a boss01
# smbpasswd -a boss02
# smbpasswd -a cw02
# smbpasswd -a sc01
# smbpasswd -a vip
# /usr/bin/pdbedit -L
5 測試驗證
smb(samba)服務