Ubuntu 運用CIFS掛載網路磁碟機至本機

1. 安裝CIFS
sudo apt-get install cifs-utils

2. 把網路硬碟掛載到本機路徑
sudo mount -t cifs //172.16.1.123/public /home/user/public -o vers=2.0,user=userName,pass=password

指令說明:

//172.16.1.123/public  -->  代表在網路上硬碟的位置,包含IP、欲連接的資料夾名稱

/home/user/public  -->  代表你設定要放在本機的路徑(資料夾要先創建好)

user=userName  -->  網路硬碟登入時的使用者名稱

pass=password  -->  網路硬碟登入時的使用者密碼



有些網路硬碟因版本的差異,可能需更改"vers=2.0",目前經驗是vers=1.0或vers=2.0 嘗試過後可運用


3. 設定開機自動載入網路硬碟

建立一個*.sh檔

裡面寫入以下SAMPLE指令
echo sudoPassword|sudo -S mount -t cifs //172.16.4.167/public /home/user/public -o vers=2.0,user=etd,pass=7130,gid="1000",uid="1000"

指令說明:

sudoPassword  -->  sudo指令使用的密碼

gid="1000" uid="1000"  -->  GID與UID是給與可寫入權限用,代號意義不清楚

備註1:在BASH檔裡寫入SUDO密碼並不是很好的做法,不過目前會的就這個方法。就先暫用囉

備註2:製作好*.sh檔後,可把檔案複製到/usr/local/bin/下或其他路徑,並且在開機時利用自動啟動bash檔載入網路硬碟(在Startup Applications Preferences裡設定執行路徑)

備註3:其他很多指令我也只是照網路上KEY的,意義並不完全明白。總之這樣可以把網路硬碟掛載到本機,並且開機自動執行

4. 設定在BASH檔裡不用輸入密碼也可執行BASH檔

開啟終端機,並輸入指令:
sudo visudo

之後會開啟一個視窗,再最後一行加入指令:
username ALL=(ALL) NOPASSWD:/usr/local/bin/*.sh
之後按儲存並關閉(CTRL+X)

以後執行指定好的*.sh就不用再輸入密碼就可以執行了
之後在startup裡設定開機執行指令:
sudo /usr/local/bin/*.sh

並給與*.sh權限(沒有給與權限無法直接執行):
sudo chmod +x /usr/local/bin/*.sh

之後就會自動執行我們設定好的BASH檔了

PS: 記得執行我們要的BASH的指令,直接把SUDO -S拿掉喔
例如:mount -t cifs //172.16.4.167/public /home/user/public -o vers=2.0,user=etd,pass=7130,gid="1000",uid="1000"

參考 reference:

CIFS設定的參考網址
https://forum.libreelec.tv/thread/10485-can-t-mount-smb-share-in-ubuntu-16-04/

https://blog.csdn.net/xushx_bigbear/article/details/12966625

https://blog.csdn.net/stelalala/article/details/16827611

BASH檔無需密碼執行的參考網址
https://unix.stackexchange.com/questions/430451/how-to-run-sudo-command-in-a-bash-script

https://www.tecmint.com/run-sudo-command-without-password-linux/

留言

熱門文章