需求:
- 全員共享空間,每個人均可編輯,用於內部交換文件,訪問需要輸入用戶名和密碼
- 全員只讀空間,每個人都可以讀,但不能寫,不需要設置訪問限制
配置:
1.安裝samba:
(1)更新當前軟件。
sudo apt-get upgrade
sudo apt-get update
sudo apt-get dist-upgrade
(2)安裝samba服務器。
sudo apt-get install samba samba-common
|
|
2.修改配置文件:
圖形界面可以實現簡單配置:
sudo system-config-samba
在彈出的界面上按照截圖進行配置後,用戶不需要驗證,具有讀寫權限
3. 添加用戶並通過命令行修改smb.conf,用來實現訪問可寫目錄需要驗證功能
1) 創建linux用戶
Sudo useradd -r -m -s /bin/bash test1
2) 給linux用戶開samba權限
Sudo smbpasswd -a test1
3) 添加用戶到共享samba用戶組
Sudo usermod -G sambashare test1
4) 修改linux上的共享目錄的用戶組爲sambashare
Sudo chgrp sambashare /share
5) 添加sambaadm管理員組,並將管理員添加到組
sudo gpasswd -a zhangsan sambaadm
6) 設置smb.conf valid users和以下配置項,即可實現需要的功能
7) 設置smb.conf後,需要重啓smbd服務:
Sudo /etc/init.d/smbd restart
8) 接下來就可以在windows上訪問samba服務器了,通過如下的方式訪問
在linux中可以通過ifconfig 查看地址
4. 常用linux命令
1) Sudo cat /etc/group
查看用戶組
2) Chown [-R] 賬號名稱:組羣 文件/目錄
修改組羣的命令 -R表示嵌套的
3) /etc/init.d/smbd status
或
Service smbd status
查詢samba服務器的狀態
4) Testparm
查看smb.conf 是否配置正確
5) 刪除文件命令
- 創建文件: touch a.txt
- 創建文件夾: mkdir NewFolder
- 刪除文件: rm a.txt
- 刪除文件夾: rmdir NewFolder
- 刪除帶有文件的文件夾: rm -r NewFolder
6) Samba配置項:
inherit permission
繼承父文件的用戶及組權限,會覆蓋create mask/directory mask/force create mask/force directory mask
7) Smbpasswd命令詳解
smbpasswd只有一個參數
-a 新建用戶
使用的時候創建的samba用戶必須在系統用戶中存在。否則samba找不到系統用戶則創建失敗
-d 凍結用戶,就是這個用戶不能在登錄了
-e 恢復用戶,解凍用戶,讓凍結的用戶可以在使用
-n 把用戶的密碼設置成空.
-x 刪除用戶,刪除的是samba中的用戶,而不是系統用戶
8) Samba服務器用戶查看及刪除命令
用tdbsam方式建立samba用戶數據庫,可以不用smbpasswd,用pdbedit命令來完成操作,它的參數很多這裏列出幾個常用的:
pdbedit -a username 添加一個用戶
pdbedit -L username 查看samba用戶
pdbedit -X username 刪除一個用戶
9) 常見錯誤解決方法
Win10客戶端連接samba服務器,\\ip\share_all,輸入用戶名和密碼後,會出現下面的截圖:
原因是samba服務器上的進程smbd出現了3個及以上。初始狀態只有2個該進程。
重啓smbd服務就可以正常使用了。
Sudo /etc/init.d/smbd restart
參考鏈接:
https://www.linuxidc.com/Linux/2016-12/138498.htm
https://jingyan.baidu.com/article/3a2f7c2ed314ef26afd611a1.html
https://blog.csdn.net/Google_huchun/article/details/78116132
https://wenku.baidu.com/view/aaa6ce717fd5360cba1adb0d.html
https://www.freebsd.org/cgi/man.cgi?query=smb.conf
注意:無需密碼登陸的話,私人電腦連入wifi,就可以拷貝數據了