ubuntu下用samba實現windows與linux檔案分享權限設定

來源:互聯網
上載者:User

Ubuntu8.04下配置Samb

安裝samba:

sudo apt-get install samba
sudo apt-get install smbfs

安裝配置samba的圖形介面:

sudo apt-get install system-config-samba

啟動samba服務: sudo /etc/init.d/samba star

匿名使用者可讀可寫的實現

系統--系統管理--samba 圖形管理介面

添加共用目錄,注意選擇為share方式貢獻,不需要使用者名稱,密碼

path = /var/www
writeable = yes
browseable = yes
guest ok = yes

[global]這段是全域配置,是必段寫的。其中有如下的幾行;

workgroup 就是Windows中顯示的工作群組;在這裡我設定的是WORKGROUP
netbios name 就是在Windows中顯示出來的電腦名稱;
server string 就是Samba伺服器說明,可以自己來定義;這個不是什麼重要的;
security 這是驗證和登入方式,這裡我們用了share ;驗證方式有好多種,這是其中一種;另外一種常用的是user的驗證方式;如果用share呢,就是不用設定使用者和密碼了;

[samba-files] 這個在Windows中顯示出來是共用的目錄;
path = 可以設定要共用的目錄放在哪裡;
writeable 是否可寫,這裡我設定為可寫;
browseable 是否可以瀏覽,可以;
guest ok 匿名使用者以guest身份是登入;

關鍵是設定目錄許可權

[root@localhost ~]# id nobody

id nobody是查看nobody使用者資訊,確定所在使用者組,不同Linux使用者組可能不一樣,比如ubuntu,nobody的使用者組就是nogroup

uid=99(nobody) gid=99(nobody) groups=99(nobody)
[root@localhost ~]# chown -R nobody:nobody /var/www

注釋:關於授權nobody,我們先用id命令查看了nobody使用者的資訊,發現他的使用者組也是nobody,我們要以這個為準。有些系統nobody使用者組並非是nobody ;

比如在ubuntu下.nobody的組是nogroup

所以這裡設定許可權就變成了

chown -R nobody:nogroup /var/www

 

 

(2)

ubuntu下用samba實現windows與linux檔案分享權限設定

首先要安裝samba
sudo apt-get install samba
sudo apt-get install smbfs

 

1.windows 訪問 ubuntu
下面我們來共用群組可讀寫檔案夾,假設你要共用的檔案夾為: /home/ray/share首先建立這個檔案夾代碼:
mkdir /home/ray/share
chmod 777 /home/ray/share

備份並編輯smb.conf允許網路使用者存取碼:
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf_backup
sudo gedit /etc/samba/smb.conf

搜尋這一行文字代碼:
; security = user

用下面這幾行取代代碼:
security = user
username map = /etc/samba/smbusers

將下列幾行新增到檔案的最後面,假設允許訪問的使用者為:newsfan。而檔案夾的共用名稱為 Share代碼:
[Share]
comment = Shared Folder with username and password
path = /home/ray/share
public = yes
writable = yes
valid users = newsfan
create mask = 0700
directory mask = 0700
force user = nobody
force group = nogroup
available = yes
browseable = yes

然後順便把這裡改一下,找到[global]把 workgroup = MSHOME 改成代碼:
workgroup = WORKGROUP
display charset = UTF-8
unix charset = UTF-8
dos charset = cp936

 

後面的三行是為了防止出現中文目錄亂碼的情況。其中根據你的local,UTF-8 有可能需要改成 cp936。自己看著辦吧。現在要添加newsfan這個網路訪問帳戶。如果系統中當前沒有這個帳戶,那麼代碼:
sudo useradd newsfan

 

要注意,上面只是增加了newsfan這個使用者,卻沒有給使用者賦予本機登入密碼。所以這個使用者將只能從遠端存取,不能從本機登入。而且samba的登入密碼可以和本機登入密碼不一樣。現在要新增網路使用者的帳號:代碼:
sudo smbpasswd -a newsfan
sudo gedit /etc/samba/smbusers

在建立立的檔案內加入下面這一行並儲存代碼:
newsfan = “network username”

如果將來需要更改newsfan的網路訪問密碼,也用這個命令更改代碼:
sudo smbpasswd -a newsfan

刪除網路使用者的帳號的命令把上面的 -a 改成 -x代碼:
sudo testparm
sudo /etc/init.d/samba restart

2.Ubuntu linux 系統訪問windows xp/2003/2000系統
在我的測試過程中,實現ubuntu linux系統訪問windows系統的方式有3種,我將這幾種方式說明如下:

第一種:用smb訪問
如果在ubuntu linux系統終端pingwindows主機的ip地址可以ping通,且windows電腦中有共用的檔案夾,則開啟位置下的網路伺服器,點擊介面中windows網路->workgroup,在workgroup組中就可以看到windows電腦名稱,雙擊會彈出輸入使用者名稱和密碼的對話方塊,將我們上面設定smb的使用者名稱和密碼輸入就可以進行訪問。

第二種:用ubuntu 系統內建的串連到伺服器功能訪問
在位置中啟動串連到伺服器,在服務類型中選擇“windows共用”,在伺服器中輸入windows電腦的ip地址或電腦名稱,點擊串連,這樣在系統案頭中就會顯示一個串連到windows 電腦的檔案卷。
我們可以像訪問ubuntu系統中的磁碟一樣來訪問它,同樣在訪問的時候要輸入smb的使用者名稱和密碼。

第三種:用mount掛載windows的共用目錄到本地磁碟
首先要在ubuntu系統中建立一個掛載點,在這裡我們建立的掛在點為 /mnt/wind
同樣在保證網路連接正常,且windows中有共用目錄的前提下,進行一下操作
以windows的ip為192.168.0.1,共用資料夾為share為例
命令如下:
mount -t smbfs –o username=wangyh,password=123456 //192.168.0.1/share /mnt/wind
有是這樣在訪問的時候會出現中文亂碼的問題,這樣我們可以按下面命令來執行,可以解決這個問題
mount -t smbfs -o   iocharset=uft8,codepage=cp936,clmask=777,fmask=777,userneme=wangyh,password=123456 //192.168.0.1/share /mnt/wind
註解:usename和password都為smb的使用者和密碼,如果要詳細瞭解mount命令,使用man mount在終端查看詳細用法
提示:要訪問windows中有特殊密碼的檔案夾,可以在samba中建立一個與windows登入相同名相同密碼的使用者,然後mount即可,例:
sudo useradd administrator //不要讓其有登入ubuntu的許可權
sudo smbpasswd -a administrator
然後提示輸入密碼:輸入windows訪問的密碼即可

第四種:使用smbclient 命令
命令如下:
smbclient //192.168.0.1/share -U wangyh
password:輸入smb使用者wangyh的密碼
斷行符號就可以用,用命令get下載檔案,用put上傳檔案。
註解:
smbclient介紹:
命令 說明
?或help [command] 提供關於協助或某個命令的協助
![shell command] 執行所用的SHELL命令,或讓使用者進入 SHELL提示符
cd [目錄] 切換到伺服器端的指定目錄,如未指定,則 smbclient 返回當前本地目錄
lcd [目錄] 切換到用戶端指定的目錄;
dir 或ls 列出目前的目錄下的檔案;
exit 或quit 退出smbclient
get file1 file2 從伺服器上下載file1,並以檔案名稱file2存在本地機上;
如果不想改名,可以把file2省略
mget file1 file2 file3 filen 從伺服器上下載多個檔案;
md或mkdir 目錄 在伺服器上建立目錄
rd或rmdir 目錄 刪除伺服器上的目錄
put file1 [file2] 向伺服器上傳一個檔案file1,傳到伺服器上改名為file2;
mput file1 file2 filen 向伺服器上傳多個檔案

如果說上面的內容沒有幫到你,或者你配置失敗了,那麼請試試下面的方法,保證管用:
http://wiki.ubuntu.org.cn/UbuntuHelp:ComprehensiveSambaGuide

 

 

 

==================================================================

一:
command:
mkdir /home/aaron/share
chmod 777 /home/aaron/share
sudo apt-get install samba
sudo apt-get install smbfs
sudo useradd dog
sudo smbpasswd -a dog
sudo gedit /etc/samba/smb.conf
sudo gedit /etc/samba/smbusers
sudo /etc/init.d/samba restart

登出機器!!

二:
命令說明:

1, useradd dog ; add a dog user
2, smbpasswd -a dog ; 將dog 加為smb使用者
3, gedit /etc/samba/smb.conf; 修改smb.conf檔案 在最後加入如下內容
[Share]
comment = Shared Folder username:dog passwd:110110
path = /home/aaron/share 
public = yes
writable = yes
valid users = dog
create mask = 0700
directory mask = 0700
force user = nobody
force group = nogroup
available = yes
browseable = yes

解釋添加的內容:
[Share] 是顯示的共用資料夾的名字
comment是對此檔案夾的描述最好把訪問的使用者名稱和密碼寫入
path不用說了吧,就是你共用資料夾在原生位置
public是說要不要共用
writable是否可寫
available能不能用
browseable能不能看檔案夾中的檔案
valid users允許的使用者
create mask設定檔案夾的存取權限
directory mask同上
還有兩個不太清楚

找到
; security = user
改成
security = user
username map = /etc/samba/smbusers

4, sudo gedit /etc/samba/smbusers;手動添加一個使用者到列表中,內容如下
dog="network user"

5,sudo /etc/init.d/samba restart ;重起samba服務

6, 登出機器!!

      

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.