mount samba server失敗 - Linux

By Caroline
at 2013-07-29T23:39
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 我不是很熟,也幾乎不使用,沒法給你太多解答,
但大致上可能也會影響我前述所說的『第一關』問題。
: 請問大大們 何解??
<< 以上小弟的文章若有謬誤,還勞煩請高手指點 >>
--
: 抱歉 因為有不少問題一直浮現 只好一直占用版面= =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

By Elizabeth
at 2013-08-03T17:22
at 2013-08-03T17:22

By Liam
at 2013-08-06T05:13
at 2013-08-06T05:13

By Ula
at 2013-08-08T21:23
at 2013-08-08T21:23

By Charlotte
at 2013-08-12T02:42
at 2013-08-12T02:42
Related Posts
mount samba server失敗

By Aaliyah
at 2013-07-29T17:03
at 2013-07-29T17:03
win8 開啟 linux 問題

By Jack
at 2013-07-29T16:58
at 2013-07-29T16:58
ubuntu useradd顯示PWD

By Victoria
at 2013-07-29T12:45
at 2013-07-29T12:45
HackingThursday 固定聚會 (2013-08-01)

By Donna
at 2013-07-29T12:04
at 2013-07-29T12:04
Key signing party @ COSCUP 2013

By Rachel
at 2013-07-29T10:35
at 2013-07-29T10:35