天天看點

samba基礎配置+執行個體

配置之前先了解一下比較重要的一些配置資訊,有助于我們得心應手地駕馭伺服器:

samba允許單獨加載的使用者配置檔案:

include = /etc/samba/%G.smb.conf

include = /etc/samba/%U.smb.conf

安全性方面:

hosts allow = 192.168.2. EXCEPT 192.168.2.22

interfaces = 192.168.2.126

usrename map = /etc/samba/smbusers 映射虛拟賬号,以保證明體賬号不外洩,格式如:Linux_user = Samba_user1,Samba_user2,...

smb passwd file = /etc/samba/smbpasswd 為提高安全性,請确認此檔案權限:-rw-------  1 root root   103 May  4 19:06

encrypt passwords = yes 以加密的方式通信

利用tcp_wrapper實行通路控制,防止非法通路,在/etc/hosts.allow 和 /etc/hosts.deny加入相應的控制位址,如:hosts.allow裡加入smbd:192.168.2.0/24:allow,在hosts.deny裡加入smbd:all:deny

建立檔案或檔案夾權限方面:

create mask = 0744                設定建立檔案時的權限

directory mask = 0755             設定建立目錄時的權限

Linux權限分為三個部分:使用者所屬使用者、使用者所在組、其它使用者三種通路權限,每部分又可以分為讀(Read)、寫(Write)、執行(eXecute),共占九位數(但ls -l /home/smb 時為什麼看到卻是10位數的呢?其它是這樣的,它的第一位表示檔案類型,其它九位就是檔案權限,常見的檔案類型有:-表示普通檔案、d表示目錄檔案、l表示連結檔案、b表示塊裝置檔案等),任何檔案都有自己的屬主,每個使用者靠使用者的UID号來區分,使用者登入名相同而UID号不同視為不同的使用者

現在企業要求每個部分隻有一個檔案夾,再加一下公共檔案目錄作為共享用,任何人都可以通過公共目錄與其它部門交流檔案,本部門的檔案隻允許本部門操作,同時每個使用者有一個私人目錄用作儲存私有檔案

對于使用者對自己的目錄有絕對權限這個不難,可以成自己的家目錄,系統預設的家目錄權限是700,安全性達到了要求

再建一個公共目錄,權限為1777,1為粘置位,777表示任何人都可以讀、寫、執行,但前面加上1後,使用者隻能完全執行自己的檔案了,防止使用者誤操作而導緻他人檔案丢失的問題,本部門用目錄,隻要把相當使用者加入該組即可,最後一個要求其實就是一個家目錄就行了

實際操作:

先建目錄

         mkdir -p -m 1777/samba/public

         mkdir -m 770 /samba/sale

         mkdir -m 770 /samba/ad

         mkdir -m 770 /samba/pro

建使用者組和使用者:

        groupadd sale

        groupadd ad

        groupadd pro

        useradd -g sale -s /sbin/nologin sale1

        useradd -g sale -s /sbin/nologin sale2

        useradd -g sale -s /sbin/nologin sale3

        useradd -g ad -s /sbin/nologin ad1

        useradd -g ad -s /sbin/nologin ad2

        useradd -g pro -s /sbin/nologin pro1

        useradd -g pro -s /sbin/nologin pro2

        useradd -g pro -s /sbin/nologin pro3

修改目錄權限(保證使用者權限本地權限):

       chown sale1:sale /samba/sale

       chown ad1:ad /samba/ad

       chown pro1:pro /samba/pro

修改配置檔案:

vi /etc/samba/smb.conf

[global]

workgroup = workgroup

server string = samba server   

interface = 192.168.2.126

hosts allow = 192.168.2. EXCEPT 192.168.2.53

security =  user

username map = /etc/samba/smbusers

smb passwd file = /etc/samba/smbpasswd

encrypt passwords = yes

log file=/var/log/samba/%m.log

max log size=50

include = /etc/samba/smb.conf.%U

include = /etc/samba/smb.conf.%G

[Public]

comment = public directory

path = /samba/public

browseable = yes

writable = yes

valid users = %U

create mask = 1644 保證各個使用者自己建立的檔案不被他人删除,如果改成1600,那麼其它人也沒有權限檢視

directory mask = 1755

[homes]

        comment = users directories

        browseable = no

        writable = yes

        valid users = %U

主配置檔案配置完成,Copy成組、使用者的單獨配置檔案

cp /etc/samba/smb.conf /etc/samba/smbc.conf.sale

cp /etc/samba/smb.conf /etc/samba/smbc.conf.ad

cp /etc/samba/smb.conf /etc/samba/smbc.conf.pro

vi /etc/samba/smb.conf.sale

把config file = /etc/samba/smb.conf.%U 和 config file = /etc/samba/smb.conf.%G 行注釋掉,在最後加入如下:

[sale]

comment = sale directory

path = /samba/sale

write list = @sale

valid users = @sale

create mask = 1640 本配置是基于組的,是以1640權限同組使用者隻有讀權限,而其它使用者則無權限

directory mask = 1750

另外兩個組配置文體操作相同,隻是路徑、可寫使用者、有效使用者不同

啟用tcp_wrapper通路控制

vi /etc/hosts.allow

smbd:192.168.2.0/24:allow

nmbd:192.168.2.0/24:allow

vi /etc/hosts.deny

smbd:all:deny

nmbd:all:deny

添加samba使用者

smbpasswd -a sale1

smbpasswd -a sale2

smbpasswd -a ad1

smbpasswd -a ad2

smbpasswd -a pro1

smbpasswd -a pro2

啟用虛拟賬号映射

vi /etc/samba/smbusers

sale1 = sale11

sale2 = sale21

ad1 = ad11

ad2 = ad21

pro1 = pro11

pro2 = pro21

本文還可以基于使用者單獨配置檔案,實作個性化且符合實際需求的設定

總結:

本配置檔案最容易寫錯的地方有:valid users、encrypt passwords 會忘記後面的s,writable會寫成writeable, 按照說明來是應該可以把include這個包含改成config file,但是我設定就是不成功,望有高手幫忙.新手學習過程中難免有很多不懂的地方,待日後見證進步...:)

繼續閱讀