Linux

如何在 / 上啟用全權限文件瀏覽?

  • March 21, 2019

現在,我知道 ServerFault 上有很多 samba 問題(大約 1400 個),我至少瀏覽了大約一半,但無法使用任何答案來解決我的問題。

我們正在一台新的空白機器上安裝 CentOS 6.2 - 全新安裝;它將作為託管 Asterisk 的網路伺服器執行。

我想配置機器,以便從我的 Windows 工作站對 root(我的意思是“/”root)擁有完全的管理訪問權限。

這將使我能夠使用自己舒適的機器(和 Notepad++)來編輯所有配置文件。換句話說,我應該能夠\\mylinux\etc\samba\在 Windows 資源管理器中打開,然後擁有smb.conf使用我的 Windows 文本編輯器進行編輯的完全權限。

我在 CentOS 4 上執行得很好,但在 CentOS 6.2 上無法正常工作。在舊的作業系統版本中,所有東西都有一個 GUI,但現在我需要從 CLI 學習和做所有事情。我仍然將 GUI 用於一些我還沒有學會如何通過 CLI 完成的事情,所以我仍然會在我的筆記中引用 GUI。

既然您知道我的問題和目標,這裡有一些細節:

  • smb正在執行並安裝並設置為執行級別 35。
  • nmb正在執行並設置為執行級別 35。
  • 防火牆在 eth0 上network完全打開並且處於打開狀態(我執行了這個命令iptables -A INPUT -s 192.168.0.0/255.255.255.0 -j ACCEPT:)
  • 我已經在 linux 機器上添加了我自己的使用者帳戶到root組中。
  • 該使用者帳戶與我的 Windows 電腦具有相同的使用者名和密碼。
  • samba 配置為知道我的 Windows 工作組的名稱
  • 我可以正常 ping通\\mylinux\\mywindows反之亦然。
  • 如果我在 中打開Network\\mylinux我會收到一條錯誤消息:“無法從伺服器檢索共享列表”,我在此處發布。
  • 如果我做一個net viewfrom \\mywindows,那麼它根本看不到\\mylinux
  • samba 配置為共享根驅動器:

.

[root]
comment = Root Directory
path = /
valid users = @root all root group
invalid users = None
writeable = yes
browseable = yes
  • 此外,在 中/etc/samba/smbusers.conf,我已輸入:

myuser = myuser

現在,您會認為我此時可以訪問 linux 共享。但是,當我從我的 Windows 電腦嘗試映射路徑\\mylinux\root\時,我收到一條錯誤消息,指出目標不存在。在我的舊 linux 機器上,我什至可以瀏覽\\oldlinux\並獲取共享列表。我似乎無法複製功能!

$$ EDIT $$

好的,我完全禁用了防火牆,現在我可以在任何我想去的地方瀏覽文件。現在剩下的就是編輯像 smb.conf 這樣的文件的權限。換句話說,我用來瀏覽文件的使用者帳戶(位於root組中)也需要root權限。我怎麼得到它?

終於明白了!做了兩件事: - 禁用 selinux - 取消註釋 smb.conf 中的行

username map = /etc/samba/smbusers

然後,在 smbusers.conf 中,我添加了root = myuser 執行命令:

smbpasswd -a myuser
smbpasswd -e myuser
service smb restart

現在我可以從我的 windows 電腦連接到機器,瀏覽 root 中的文件,並在我的 windows 電腦上使用我最喜歡的文本編輯器編輯它們。

只是給所有人的提示-我確實知道執行我正在工作的程序存在安全風險,但我在安全的防火牆路由器後面,並且只會在 LAN 內以這種方式管理機器。

對於 CentOS7

在 CentOS 7 中,預設情況下它拒絕 ntlm 身份驗證以進行 root 訪問——這意味著你無法連接到 root 帳戶——除非你將它添加到[global]smb.conf 的部分:

ntlm auth = yes

如果您使用 smbusers 文件,請將其添加到 smb.conf 中的同一全域部分:

username map = /etc/samba/smbusers

然後您可以創建該文件,並添加以下內容:

root = myusername

Samba 將您的訪問映射到伺服器上的 Unix 使用者帳戶,並強制執行該使用者的正常權限。因此,這與授予 Unix 使用者對這些文件的寫訪問權限相同。您要麼需要實際成為root使用者(即充當具有寫入權限的文件的所有者),要麼您需要位於對文件具有組寫入權限的組中。後者(略微)更可取,因此將自己添加到root組中並更改文件權限以允許組寫入。(我假設您知道這樣做的安全隱患。)

引用自:https://serverfault.com/questions/391076