ubuntu查看cpu和內存方法,ubuntu許可權不夠怎麼辦

終於有點時間來解決下家中NAS需求了。一般自製NAS,只有選Samba。速度比FTP快,便利性比Windows文件夾共享好,設置多等等。

▶參考:samba簡介

安裝Samba

$ sudo apt-get update
$ sudo apt-get install samba samba-common-bin

核心步驟:配置Samba

Samba唯一設置的入口就算一個smb.conf文件,所有變化都依次而來,出了問題也只需要在這裡找原因。

配置之前先說明,
這裡我不打算只共享一個文件夾,而是共享樹莓派連接上的所有外置硬碟。
樹莓派的外置硬碟默認掛載在了/media/pi目錄下,每個硬碟掛載為/media/pi/drive1,/media/pi/drive2等。
所以不用一個一個共享,直接把/media/pi共享就OK了。
下面配置還會限制:只有pi這個用戶可以訪問。

常用且肯定沒問題的最簡單配置如下:

# 編輯Samba的配置文件
sudo vim /etc/samba/smb.conf

# 文件末尾添加這個共享文件夾的定義:
[NAS]
comment = NAS External drive
path = /media/pi
public = Yes
browseable = Yes
writeable = Yes
valid users=pi

其中:

  • valid users:只允許指定的用戶和用戶組訪問

設置Samba用戶名和密碼

這一步也至關重要,直接影響各設備的訪問。
注意,這個用戶必須是本機已經在group和user裡面都存在的用戶,且必須許可權設置什麼的符合samba要求才行。否則會導致有些設備完全無法訪問這個文件夾。
之前試了自己groupadd和useradd本地用戶後,又在samba里smbpasswd -a添加用戶名密碼,結果Mac完全訪問不了,Windows也是根據系統的不同有的能訪問有的不能訪問。
所以這裡推薦用樹莓派的默認用戶名pi:

# 輸入Samba用戶的訪問密碼
sudo smbpasswd -a pi

重啟Samba

# 推薦重啟方法(可以看到自檢過程)
$ sudo /etc/init.d/samba restart

到這一步,如果沒出問題的話,就會顯示成功:

低配高體驗,PC機改裝ubuntu當NAS伺服器圖文教程

按照之前的配置,現在你就可以訪問Samba共享文件夾了。

訪問方法

一般訪問方法如下:

  • Windows:直接打開桌面的網路(網上鄰居)-> RaspberryPi(樹莓派的網路名),然後就可以看到樹莓派上所有共享的文件夾和設備了。
  • Mac: 稍微麻煩一點,在Finder中點擊菜單 -> Go -> Connect to server -> 輸入smb://IP地址,按照要求輸入本機或樹莓派的Samba用戶名密碼:
低配高體驗,PC機改裝ubuntu當NAS伺服器圖文教程

然後可以看到,目錄中和本地目錄幾乎沒什麼區別:能看預覽,支持所有文件夾正常的快捷鍵,隨意拷貝粘貼,這是FTP遠不能比的。

低配高體驗,PC機改裝ubuntu當NAS伺服器圖文教程

將Samba的共享目錄映射到本地

Windows上,直接在文件夾里點擊菜單->工具->映射網路驅動器。然後選擇映射出來的驅動盤字母,點擊瀏覽,選擇網路鄰居里的樹莓派,確定完成。就會在本地的計算機里顯示出映射磁碟了。

Mac上,一般在文件夾裡面通過Cmd+K連接伺服器後打開共享文件夾後,系統就會自動把它掛載到/Volumes/你的共享文件夾名這裡。可以直接通過命令行隨意訪問。然後即使桌面上的文件夾關閉後,也還是可以在命令行里正常訪問。

多用戶訪問Samba

我們用Samba,就肯定有多用戶需求。
但是多用戶問題恰是Samba最麻煩的地方,如果是像我這樣對Linux用戶許可權不熟悉的話。

首先需要明了:
Samba的裡面添加的用戶,必須是Linux已經存在的用戶!
而且這個用戶必須有相應的許可權,才行。

所以多用戶策略大概如下:

  • 創建Linux本機用戶組,並賦予相應許可權
  • 創建Linux本機的用戶,並賦予相應許可權
  • 創建共享文件夾,修改文件夾許可權,修改文件夾所有者,改為對應的Samba用戶或用戶組
  • 創建與Linux用戶對應的Samba用戶,並創建密碼
  • 在Samba配置文件裡面,聲明有權訪問共享文件夾的用戶或用戶組

注意:掛載的NTFS磁碟,是不支持unix體系的group和user的,所以裡面的文件默認所有者和所屬組都是root。要解決這個,需要在mount掛載時就指定所有者,但是也不能分別指定裡面某個文件夾或目錄的所有者。

Samba調試

Samba的自檢程序testparm

自動測試,並顯示Samba所有的共享和定義:

$ testparm
低配高體驗,PC機改裝ubuntu當NAS伺服器圖文教程

列出當前所有已註冊的Samba用戶

$ sudo pdbedit -L
低配高體驗,PC機改裝ubuntu當NAS伺服器圖文教程

使用smbclient測試

smbclinet是命令行客戶端,需要下載安裝使用:

# 安裝
$ sudo apt-get install smbclient

# 連接Samba伺服器
$ smbclient //192.168.1.111/share -U sambaUser01

$ smb: ls

如果連接成功,就會進入smb的交互shell,然後輸入ls,成功列出目錄,則連接完全成功。
這是常用的最方便的測試方法,如果有任何一點不成功,這個連接命令都無法執行。
只要這裡能夠正常訪問,那麼其它地方都沒有問題。

常見問題

Mac上能用guest訪問卻不能用設置了的用戶訪問

這個是你的Samba用戶設置出了問題。
有可能是Samba中定義的用戶,在本機中許可權不夠。
解決方法就是:

  • 直接用樹莓派的原生用戶pi,或
  • 仔細研究新創建的用戶許可權,添加好了再到Samba配置中設置

原生用戶pi以外的用戶都不能訪問外置磁碟

嘗試過多用戶方案,只要不是外置磁碟,都能正常訪問、讀寫。
但是插的U盤,外置移動硬碟,除了pi用戶以外全都只能進入,不能寫入。
就算把新建用戶升級到超級用戶,
就算把文件目錄的所有者改為新建的用戶,
也還是一樣的。

消除來自Mac的.DS_Store文件安全隱患

Mac上訪問遠程文件夾會留下.DS_Store文件,其中包含太多信息這樣很不安全。
所以我們要在Mac上設置,在訪問遠程文件夾時不留下這個文件:

$ defaults write com.apple.desktopservices DSDontWriteNetworkStores true

但是以上方法不是完全生效,目前MacOS 10.12以上都不一定能生效。

訪問外置硬碟Permission Denied

這個也是用戶許可權問題,配置原生pi用戶就沒問題了。

原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/231105.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
投稿專員的頭像投稿專員
上一篇 2024-12-10 18:46
下一篇 2024-12-10 18:46

相關推薦

發表回復

登錄後才能評論