mount samba server失敗 - Linux

Caroline avatar
By Caroline
at 2013-07-29T23:39

Table of Contents

※ 引述《MAGICXX (逢甲阿法)》之銘言:
: 抱歉 因為有不少問題一直浮現 只好一直占用版面= =a
: 我利用了底下推文的大大的方法下去掛載好了
: sudo mount -t cifs //192.168.1.100/share/alpha ~/test -o user=alpha,pass=****
: 然後當我要進去這個檔案的時候...
: alpha@alpha:~$ cd test
: -bash: cd: test: Permission denied
: 然後我去研究了一下權限...
: drwxrwx---+ 17 1008 crontab 0 7?? 18 10:02 test
: 這1008跟crontab我連看都沒看過 囧 更別說權限了
^^^^^^^^^^^^^^^
想進行 samba Server 上分享的目錄與檔案存取,權限關卡是有順序的:
第一關 >> Server 端檔案系統中,分享的實體目錄與檔案的存取權限是否足夠?
第二關 >> smb.conf 中對於開放分享的目錄與檔案所給予的權限是否足夠?

若依照你上面列出的 test 顯示,如果你是在 Server 上執行 ls -l test 的話,
表示屬由 crontab 群組中的使用者所擁有,可能由於帳號不明,所以只顯示 1008,
原因其中很可能是 Server 上的 passwd 根本就沒有該使用者記錄存在。

另外 test 權限開放為 770,表示除 root 或檔案擁有者與同群組使用者,
才擁有完全存取權,其他再無使用者可以操作該目錄或檔案。

我假定 alpha 帳號就是你預期的 1008 號使用者,但卻無法正常顯示為 alpha,
所以我推測你的 alpha 帳號,僅只存在於你的 Client 端,而 Server 系統帳號卻沒有。
在你的例子中,你以 alpha 這個帳號登入 samba 雖成功了,但是,
由於很明顯的你的 Server 系統帳號沒有 GID=1008 (alpha) 的使用者存在,
Server 端對 test 的操作,就硬生生的卡在『第一關』無法獲得存取權限。

反之如果我的假定錯誤,基於 samba 應該必須在 Server 先有名為 alpha 的系統帳號,
才能進一步用 smbpasswd 生成名為 alpha 的 samba 使用者登入帳號,
然後 samba 在你用 alpha 帳號登入後,會使用 alpha 系統帳號權限,
進行檔案與目錄存取。據此,而你卻仍然受限於 Server 自身檔案系統權限的話,
我猜,搞不好,你的 test 在 Server 端的擁有者也許根本不是 alpha。

我不清楚你使用的 samba 是什麼版本,
以下是我猜測你是想要連線取得 alpha 的家目錄分享資源,
以此我做了一個簡略的步驟,你可以嘗試看看:

1、Server 上面先要有你想使用的系統帳號,例如 alpha,至少你的 passwd 裡要有他:

alpha:x:<UID>:<GID>:/home/alpha

有了使用者,才能對 Server 上的檔案存取權限有所依據(即 alpha 系統帳號的權限)。
不然你得對你所有分享的檔案目錄都開啟 666 或 777 權限,
這並不是一個安全的作法。
正確取而代之的方法,應該是將你要存取的檔案與目錄,其權限與擁有者,
都修正為 alpha 才對。

2、建立 alpha 成為 samba 的使用者登入帳號,密碼不一定要跟 passwd 裡面一樣:

#smbpasswd -a alpha

這會建立基於系統帳號 alpha 的 samba 使用者登入帳號,
這樣一來,samba 就會以系統帳號 alpha 的權限來進行存取 Server 上的目錄與檔案。
也就是說,只要擁有者是 alpha 的檔案與目錄,你在遠端就能存取自如。

3、smb.conf 中的設定至少有:

[homes]
comment = Home Directories
browseable = no
writable = yes
create mode = 0664
directory mode = 0775

對於 alpha 來說,家目錄就名為 alpha,這裡 alpha 同時也是分享名稱。

4、重新啟動你的 samba。
5、連線取得 samba 分享資源:

mount -t cifs -o user=alpha,pass=** //<Server IP>/alpha <你想掛載的本機路徑>

如果還是出現問題,建議去 Server 上打開 syslog 檔來看看,或者貼上來。

: 而且在鳥哥的解說上面
: drwxrwx--- 我這邊還多了一個+號 也不知道是甚麼 囧
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
"+" 號表示含有 Linux 的檔案系統之 ACL 設定。
可是 ACL 我不是很熟,也幾乎不使用,沒法給你太多解答,
但大致上可能也會影響我前述所說的『第一關』問題。

: 請問大大們 何解??


<< 以上小弟的文章若有謬誤,還勞煩請高手指點 >>

--
Tags: Linux

All Comments

Elizabeth avatar
By Elizabeth
at 2013-08-03T17:22
大大你好 因為ftp server是架設在買來的NAS上面
不是我自己架的linux server...\
Liam avatar
By Liam
at 2013-08-06T05:13
而且我用filezilla是可以成功登入的~@@
Ula avatar
By Ula
at 2013-08-08T21:23
我是沒有 NAS 的使用經驗,但是相信這一類的東西應
該走他定義好的介面來取得共享,例如透過 NFS 存取。
查詢你的產品官方網頁說明看看,這裡不知道有沒有接
近你的例子:http://www.synology.com/support/tutor
ials_show.php?lang=cht&q_id=566
Charlotte avatar
By Charlotte
at 2013-08-12T02:42
感謝~

mount samba server失敗

Aaliyah avatar
By Aaliyah
at 2013-07-29T17:03
※ 引述《Zoxge (Zoxge)》之銘言: : 小弟用的是 CentOS 6.4 x86_64 : 灌在 Virtual Box 4.2.16 上 : 參考鳥哥的網頁架設samba server : http://linux.vbird.org/linux_server/0370samba.php#ser ...

win8 開啟 linux 問題

Jack avatar
By Jack
at 2013-07-29T16:58
※ 引述《jeff820926 (闇夜公爵)》之銘言: : 我之前想在win8 系統在 D 槽安裝 ubuntu 時,安裝過程中系統說找不到windows 系統,所以我目前先將它安裝到外接硬碟上。後來將外接硬碟接上電腦使用Legacy Bios 後,就可以進入 Ubuntu,而在硬碟接上電腦的情況,將 bio ...

ubuntu useradd顯示PWD

Victoria avatar
By Victoria
at 2013-07-29T12:45
hi,各位版友好 請問一下 在ubuntu用useradd -m test之後, 利用test登入,但是沒有顯示working directory,只有顯示$ 而且也沒有辦法紀錄最近有打過的指令 我看.bashrc跟.profile都有被建立起來, 請問我應該要怎麼改? 謝謝 -- ~宅男的 ...

HackingThursday 固定聚會 (2013-08-01)

Donna avatar
By Donna
at 2013-07-29T12:04
通告網址: [http://www.hackingthursday.org/][1] * * * * 時間: 每週四晚上 19:30 至 22:00 ( 熱食供應至 20:00 ) * 地點: 伯朗咖啡 ( 建國店 ) * 地址: 台北市大安區建國南路一段 166 號 3 樓 * 鄰 ...

Key signing party @ COSCUP 2013

Rachel avatar
By Rachel
at 2013-07-29T10:35
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 Key signing party at COSCUP 2013 參加自由軟體運動,需要跟遠方開發者聯絡嗎? 受不了日漸惡化的網路監視與干預,欲私下聯絡明天拆掉政府了嗎? 你需要一把加密、簽章用 PGP ...