日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

Ubuntu下配置samba服务器

發布時間:2023/12/13 综合教程 32 生活家
生活随笔 收集整理的這篇文章主要介紹了 Ubuntu下配置samba服务器 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一. samba的安裝:

sudo apt-get insall samba // (sudo get temp root auth)
sudo apt-get install smbfs //舊版本
sudoapt-getinstall cifs-utils //新版本
上面的命令將會安裝Samba和其他相關的工具。在舊版的Ubuntu中,你可能需要使用smbfs替代cifs-utils
sudoapt-getinstallsamba-common

二. 創建共享目錄:

1、系統用戶home目錄下:
mkdir /home/john/share //如果配置的共享目錄不存在則創建
chown -R nobody. /home/john/share //設置共享目錄歸屬為 nobody
sudo chmod 777 /home/john/share //將共享目錄屬性設置為 777
說明:john為你的ubuntu的用戶名;share你可以隨便起個名字做為共享文件夾

2、普通目錄下:
如創建/mydir/private 和 /mydir/public 目錄 (注意權限問題,不然導致不能訪問)
mkdir -p /mydir/{private,public}
chown -R nobody.nogroup /mydir
chmod -R 777 /mydir

三. 創建Samba配置文件:

1. smb.conf部分配置說明

[global]
server string = Samba Server Version %v
passdb backend = tdbsam
cups options = raw
security = user //認證模式為User
map to guest = bad user //這個很關鍵,實現匿名無須交互輸入用戶名和密碼就靠它了
guest account = guest //匿名用戶映射為guest用戶

[myshare]
comment = My share
path = /home/public //共享路徑
browseable = Yes //可以被瀏覽,就是在網絡鄰居中能看到共享名
read only = No //可讀寫
guest ok = Yes //允許匿名訪問,這個也需要設置,否則匿名無法訪問
valid users = samba liuag guest //有效的用戶和組
invalid users = liuben //無效用戶和組
read list = samba //只讀用戶和組(如果read only = No,只讀用戶需要在此設置)
write list = liuag //可讀寫用戶和組(如果read only = Yes,可讀寫用戶需要在此設置)
allow hosts = 192.168.100.236 //允許訪問主機列表,支持通配符
deny hosts = 192.168.100.0/24 //禁止訪問主機列表,支持通配符

示例:
[global]
workgroup = WORKGROUP
server string = samba server on ubuntu
netbios name = ubuntu_smb
interfaces = 127.0.0.0/8 eth0
hosts allow = 192.168.1. 192.168.163. 192.168.153.
security = user
username map = /etc/samba/smbusers
encrypt passwords = true
passdb backend = smbpasswd
smb passwd file =/etc/samba/smbpasswd
log file = /var/log/samba/log.%m
max open files = 1000
socket options = TCP_NODELAY

;[homes]
; comment = home directories
; browseable = no
; writable = yes
; valid users = %S
; create mode = 0664

;[printers]
; printable = Yes
; browseable = No
; path = /var/spool/samba


comment = code //comment是對該共享的描述,可以是任意字符串。
path = /home/songyd/code
writable = yes
browseable = yes
available = yes

2. 保存現有的配置文件
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak

3.修改現配置文件
sudo gedit /etc/samba/smb.conf
在smb.conf最后添加

示例一:
[share]
path = /home/john/share
available = yes
browseable = yes
public = yes
writable = yes
valid users =myname
create mask = 0700
directory mask =0700
force user =nobody
force group = nogroup

說明:valid users = myname 這個myname是自己起的,后面在添加用戶名時就是添加的這個;
另外這個[share]名字也是可以隨便起的,這個是你在windows下訪問時顯示的名字;
在windows下 \162.168.160.11share就可以訪問linux下/home/god/code目錄下的內容了;
其中162.168.160.11是你linux的IP地址,用ifconfig就可以查看到。

示例二:
[www]
path = /home/test/www
available = yes
browseable = yes
public = yes //允許匿名用戶登錄
writable = yes

說明:public 指明該共享資源是否能給游客帳號訪問,這個開關有時候也叫guest ok,所以有的配置文件中出現guest ok = yes其實和public = yes是一樣的。

然后順便把這里改一下,找到[global]把 workgroup = MSHOME改成 :(注意,這里的WORKGROUP是共享中的工作組名稱) 代碼:(如果沒有也可加上去)

workgroup = WORKGROUP
display charset = UTF-8
unix charset = UTF-8
dos charset = cp936

后面的三行是為了防止出現中文目錄亂碼的情況。

四. 創建samba帳戶

現在要添加myname這個網絡訪問帳戶。如果系統中當前沒有這個帳戶(也可以用系統中己存在的賬戶如root,god),那么代碼:

sudo useradd myname

上面只是增加了myname這個系統用戶,卻沒有給用戶賦予本機登錄密碼。所以這個用戶將只能從遠程訪問,不能從本機登錄。而且samba的登錄密碼可以和本機登錄密碼不一樣。這個你可以在重啟機器時看到這個你添加的用戶,但是你卻用它登陸不了系統,因為沒有賦予本機登錄密碼。

sudo touch /etc/samba/smbpasswd 
sudosmbpasswd -a myname

(如果你直接用系統中的賬號,這里myname就是你系統中的賬戶即可)然后會要求你輸入samba帳戶的密碼,這個密碼不是開機登錄時候用的,是你要訪問WIN共享文件或者WIN共享文件訪問你的時候要填的密碼。

刪除網絡使用者的帳號的命令把上面的 -a 改成 -x 即:sudo smbpasswd -x myname

smbpasswd 命令的用法

smbpasswd -a 增加用戶(要增加的用戶必須以是系統用戶)
smbpasswd -d 凍結用戶,就是這個用戶不能在登錄了
smbpasswd -e 恢復用戶,解凍用戶,讓凍結的用戶可以在使用
smbpasswd -n 把用戶的密碼設置成空.
要在global中寫入 null passwords -true
smbpasswd -x 刪除用戶

五. 用戶賬號映射

samba的用戶帳號信息是保存在smbpasswd文件中滴,而且可以訪問samba服務器的帳號也必須對應一個同名的系統帳號?;谶@ 一點,所以,對于一些hacker來說,只要知道samba服務器滴samba帳號,就等于是知道了Linux系統帳號,只要crack其samba帳號密碼加以利用就可以攻擊samba服務器。所以我們要使用用戶帳號映射這個功能來解決這個問題。

用戶帳號映射這個功能需要建立一個帳號映射關系表,里面記錄了samba帳號和虛擬帳號的對應關系,客戶端訪問samba服務器時就使用虛擬來登錄。

1)編輯主配置文件vi /etc/samba/smb.conf
在global下添加一行字段username map = /etc/samba/smbusers開啟用戶帳號映射功能。

2)編輯vi /etc/samba/smbusers
smbusers文件保存帳號映射關系,其有固定滴格式:
samba帳號 = 虛擬帳號(映射帳號)

myname = networkusername

帳號myname就是我們上面建立的samba帳號(同時也是Linux系統帳號),networkusername就是映射的帳號名(虛擬帳號),帳號 myname在我們訪問共享目錄時只要輸入networkusername就可以成功訪問了,但是實際上訪問samba服務器的還是我們的myname帳號,這樣一來就解決了安全問題。

3)重啟samba服務:service smbd restart

4)驗證效果
輸入我們定義的映射帳號networkusername,注意我們沒有輸入帳號myname,映射帳號networkusername的密碼和myname帳號一樣,現在就可以通過映射帳號瀏覽共享目錄了。

六. 重啟samba服務器

sudo testparm 驗證一下配置參數有沒有問題,如果有問題在回去修改

sudo /etc/init.d/samba restart (不知為什么,我的這個目錄下就是沒有這個,用這個命令總是報錯)

service samba restart
service smbd restart

七. 測試:

smbclient -L //localhost/share 或者 
smbclient -L \127.0.0.1 -U myname //這時輸入的密碼就是你剛才設置的samba密碼

八. 使用

可以到windows下輸入ip使用了,在文件夾處輸入 "\" + "Ubuntu機器的ip或主機名" + "\" + "share";

我的即為:\162.168.160.11share(share就是剛才smb.conf中的[share])第一次進入時要輸入用戶名和密碼,這個就是你在第四步中設置的用戶名和密碼。

九. samba的卸載:

dpkg -l |grep samba
dpkg -l |grep smbfs
dpkg -l |grep smb

apt-get remove sambasmbfssmb

ubuntu12.04samba服務器配置


系統平臺:VMware Workstation9.0 + ubuntu12.04

首先要解決windows和linux網絡連接問題:
在VMware Workstation9.0 “設置” 選項中,設置"網絡"
網絡連接1選中“啟用網絡連接” 方式:NAT
網絡連接2 選中“啟用網絡連接” 方式:Bridged Adapter

啟動ubuntu,查看IP地址:#ifconfig eth0
注:你的LINUX里面可能有兩塊網卡eth0和eth1,分別看一下他們的IP地址,有一個是和你的WINDOWS本地連接IP地址在一個網段的(以后就使用這個IP地址登錄samba,也是掛載NFS服務器的IP)

再說一下關于IP地址的配置(以我自己的電腦舉例):
我是用ADSL拔號上網,windows本地連接的IP地址是自動獲取的,IP為:192.168.1.45
查一下linux下eth0的IP為:10.0.2.15;eth1的IP為192.168.1.42
那eth1即為linux的本地連接的IP地址,也就是samba服務器的IP地址

關閉LINUX防火墻命令:#ufw disable

注:ufw是linux下的防火墻操作命令,相關的操作可以查看命令幫助

然后就在windows下ping一下linux的IP,如果能ping通,就可以繼續下面的內容,如果ping不通就再找找原因

注:ubuntu 12.04已經安裝了最新版本的samba服務器,無需安裝。如果使用12.04以前的版本,最好是按下邊的方法升級一下samba,12.04版本無需下列操作

卸載samba,smbclient,samba-common
$sudo apt-get remove samba-common
$sudo apt-get remove smbclient
$sudo apt-get remove samba

安裝Ubuntu samba服務器:
sudo apt-get install samba
sudo apt-get install smbfs

開始配置:

samba配置文件:/etc/samba/smb.conf
可以修改配置文件來設置samba共享和用戶
如果不習慣使用配置文件,也可以使用圖形界面

安裝Ubuntu samba圖形管理界面
#sudo apt-get install system-config-samba

啟動samba圖形管理界面
#sudo system-config-samba

也可以選擇菜單: system->Administration->Samba

配置方法和RedHat9中一樣
選擇要共享的目錄 設置讀寫權限 設置訪問權限 添加samba用戶

配置完成后要重啟samba
#sudo /etc/init.d/smbd restart

總結

以上是生活随笔為你收集整理的Ubuntu下配置samba服务器的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。