今天講一下samba的一些基礎配置,内容涵蓋了samba的安裝,使用者權限的配置,首先,看一下項目的背景
項目背景
某公司需要搭建内網存儲伺服器,供給不同部門員工進行業務通路,現需求如下:
有四個檔案夾,【财務部】【美術部】【策劃部】【共享軟體】,要求:
1、财務部、美術部和策劃部的員工賬号,互相獨立,隻能通路自己部門的檔案夾,并且能讀、寫、執行;
2、所有員工都能通路共享軟體soft,但隻能讀和執行,不能寫;
3、策劃部的檔案夾下,有g1、g2和g3,三個項目組,要求策劃部,隻有自己項目組的成員才能通路自己項目組的檔案夾,同時,策劃部主管能通路所有項目組的檔案夾;
4、所有檔案夾都采用垃圾站回收,防止使用者誤删除檔案;
5、管理者可以對soft檔案夾進行讀、寫、執行操作。
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsICM38FdsYkRGZkRG9lcvx2bjxiNx8VZ6l2csomSyklNKNTWp5kMMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnL0QTMyUDO1QTM3EzNwkTMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
使用者劃分
顯然,按照需求,不同部門的員工,擁有的權限是不一樣的;同部門的員工,也擁有不同的權限,是以,我們簡單列個表格
使用者名 | 身份 | 所屬組 | 授權目錄 |
caiwu1 | 财務部員工 | caiwu1, caiwu | caiwubu, soft |
meishu1 | 美術部員工 | meishu1, meishu | meishubu, soft |
cehua1 | 策劃部1組 | cehua1, cehua | cehuabu, g1, soft |
cehua2 | 策劃部2組 | cehua2, cehua | cehuabu, g2, soft |
cehua3 | 策劃部3組 | cehua3, cehua | cehuabu, g3, soft |
cehuazhuguan | 策劃部主管 | cehuazhuguan, cehua | cehuabu, g1, g2, g3, soft |
admin | 管理者 | admin | soft |
明确了各個使用者對不同目錄的權限後,我們開始進行samba的配置
配置伺服器
伺服器預安裝CentOS 7 1810,這是一台全新純淨的linux伺服器,剛裝好的系統
安裝samba服務
同時安裝vim軟體,友善後面的配置檔案修改
yum -y install samba samba-client vim
關閉Selinux
vim /etc/selinux/config
儲存并退出,reboot重新開機linux,生效selinux。
建立需求目錄
我們在根目錄下建立一個data目錄,再把所有部門的目錄,都建立在data下
mkdir /data
cd /data
mkdir caiwubu cehuabu meishubu soft
cd cehuabu
mkdir g1 g2 g3
在根目錄下建立data_trash目錄,這個用于我們samba資源回收筒存放使用者誤删除的檔案
mkdir /data_trash
chmod 777 /data_trash
建立需求使用者和使用者組
為了防止samba使用者登入伺服器,必須-s添加此參數
useradd -s /sbin/nologin caiwu1
useradd -s /sbin/nologin meishu1
useradd -s /sbin/nologin cehua1
useradd -s /sbin/nologin cehua2
useradd -s /sbin/nologin cehua3
useradd -s /sbin/nologin cehuazhuguan
useradd -s /sbin/nologin admin
groupadd caiwu
groupadd meishu
groupadd cehua
groupadd g1
groupadd g2
groupadd g3
建立對應的samba使用者
密碼按需求設定,這裡統一用123456弱密碼密碼做測試使用
smbpasswd -a caiwu1
smbpasswd -a meishu1
smbpasswd -a cehua1
smbpasswd -a cehua2
smbpasswd -a cehua3
smbpasswd -a cehuazhuguan
smbpasswd -a admin
修改各個目錄所屬組
cd /data
chown root.caiwu caiwubu
chown root.cehua cehuabu
chown root.meishu meishubu
cd cehuabu
chown root.g1 g1
chown root.g2 g2
chown root.g3 g3
修改目錄權限
chmod 777 /data/soft
chmod 770 /data/cehuabu/g1
chmod 770 /data/cehuabu/g2
chmod 770 /data/cehuabu/g3
配置samba主配置檔案
在配置之前,先将主配置檔案備份一份,防止誤操作
cd /etc/samba
cp smb.conf smb.conf.bak
vim smb.conf
配置【财務部】檔案夾
配置【美術部】檔案夾
配置【策劃部】檔案夾
配置【soft】檔案夾
全局開啟垃圾站回收
儲存并退出
啟動、自啟動samba服務
systemctl start smb.service
systemctl enable smb.service
防火牆放通samba服務
firewall-cmd --permanent --zone=public --add-service=samba
firewall-cmd --reload
驗證目錄是否有效限制權限
目标1:admin使用者隻能進入soft目錄,且能寫檔案進去;其它目錄均不能通路
美術部已被拒絕通路,财務部和策劃部也是
soft能進入,能存放檔案,并删除
删除的檔案已放到資源回收筒
目标2:cehua1能進入策劃部的g1且能夠讀寫,g2和g3不能進入,能執行soft目錄裡的程式,不能删除soft目錄下的檔案
授權cehua1進入g1的權限
usermod -a -G cehua cehua1
usermod -a -G g1 cehua1
systemctl restart smb
目标3:cehuazhuguan能進入策劃部所有項目組的檔案,并能管理所有項目組的檔案
授權cehuazhuguan
usermod -a -G cehua cehuazhuguan
usermod -a -G g1 cehuazhuguan
usermod -a -G g2 cehuazhuguan
usermod -a -G g3 cehuazhuguan
systemctl restart smb
g1正常進入
删除g1的檔案
到g2建立檔案
同樣,策劃主管也能執行soft裡面的軟體安裝包
總結
1、samba的配置,首先要明确需求,确定好目錄結構和使用者權限;
2、目錄權限配置時,先放通所有權限,逐個測試能否正常使用,再按照需求,逐個限制權限;
3、當samba無法通路時,多檢查linux配置,很多時候并不是samba配置限制了,是linux本身的權限限制了。比方說selinux是否關閉,防火牆是否開啟、放通對應的政策和端口等等。