使用Samba服務實現文件共享的案例

一、安裝samba

yum install samba -y
systemctl start smb
systemctl enable smb
二、案例

  1. 有2個部門PM和TS。

  2. 各部門的文件夾只允許本部門員工有權訪問;各部門之間交流性質的文件放到公用文件夾Share中。

  3. 每個部門都有一個管理本部門文件夾的管理員賬號和一個只能新建和查看文件的普通用戶權限的賬號。

  4. 公用文件夾Sare中分爲存放工具的Tools文件夾和存放各部門共享文件的文件夾。

  5. 對於各部門自己的文件夾,各部門管理員具有完全控制權限,而各部門普通用戶可以在該部門文件夾下新建文件及文件夾,並且對於自己新建的文件及文件夾有完全控制權限,對於管理員新建及上傳的文件和文件夾只能訪問,不能更改和刪除。不是本部門用戶不能訪問本部門文件夾。

  6. 對於公用文件夾Share中的各部門共享文件夾,各部門管理員具有完全控制權限,而各部門普通用戶可以在該部門文件夾下新建文件及文件夾,並且對於自己新建的文件及文件夾有完全控制權限,對於管理員新建及上傳的文件和文件夾只能訪問,不能更改和刪除。本部門用戶(包括管理員和普通用戶)在訪問其他部門共享文件夾時,只能查看不能修改刪除新建。對於存放工具的Tools文件夾,只有管理員有權限,其他用戶只能訪問。

三、規劃

  1. 在系統分區時單獨分一個Company的區,在該區下有以下幾個文件夾:PM、TS和Share。在Share下又有以下幾個文件夾:PM、TS和Tools。

  2. 各部門對應的文件夾由各部門自己管理,Tools文件夾由管理員維護。

  3. PM管理員賬號:pmadmin;普通用戶賬號:pmuser。

    TS管理員賬號:tsadmin;普通用戶賬號:tsuser。

    Tools管理員賬號:admin。

四、建立文件夾設置權限

1、新建用戶

useradd -s /sbin/nologin pmadmin
useradd -g pmadmin -s /sbin/nologin pmuser
useradd -s /sbin/nologin tsadmin
useradd -g tsadmin -s /sbin/nologin tsuser
useradd -s /sbin/nologin admin
2、設置密碼

smbpasswd -a pmadmin
smbpasswd -a pmuser
smbpasswd -a tsadmin
smbpasswd -a tsuser
smbpasswd -a admin
3、創建目錄

cd /
mkdir Company
cd Company/
mkdir PM TS Share
cd Share/
mkdir PM TS Tools
4、授權

cd /Company/
chown pmadmin.pmadmin PM
chown tsadmin.tsadmin TS
chown admin.admin Share
cd /Company/Share/
chown pmadmin.pmadmin PM && chown tsadmin.tsadmin TS && chown admin.admin Tools
cd /Company/
chmod 1770 PM TS
chmod -R 0755 Share/
cd Share/
chmod 1775 PM TS

五、編輯samba配置文件

vim /etc/samba/smb.conf

#======================= Global Settings =====================================
[global]

----------------------- Network Related Options -------------------------

    workgroup = WORKGROUP
    netbios name = samba
    server string = samaba server %v

--------------------------- Logging Options -----------------------------

    log file = /var/log/samba/log.%m
    max log size = 50

----------------------- Standalone Server Options -----------------------

    security = user
    passdb backend = tdbsam
    #map to guest = Bad User

#============================ Share Definitions ==============================
[PM]
comment = This is a directory of PM.
path = /Company/PM/
public = no
admin users = pmadmin
valid users = @pmadmin
writable = yes
create mask = 0750
directory mask = 0750
[TS]
comment = This is a directory of TS.
path = /Company/TS/
public = no
admin users = tsadmin
valid users = @tsadmin
writable = yes
create mask = 0750
directory mask = 0750
[Share]
comment = This is a share directory.
path = /Company/Share/
public = no
valid users = admin,@pmadmin,@tsadmin
writable = yes
create mask = 0755
directory mask = 0755
#測試配置是否正確

testparm
service smb restart
六、windows訪問samba很慢

將/etc/hostname寫到/etc/hosts裏面

七、windows下切換用戶

“net use”命令查看現有的連接,然後執行“net use \Samba服務器IP地址或者netbios名稱\ipc$ /del”,刪除Samba服務器已經建立的連接。或者執行“net use * /del”將現在所有的連接全部刪除。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章