知識點041-Samba 的安裝

samba:用於實現Linux和windows之間文件共享linux

功能:實現匿名用戶和本地用戶的文件共享數據庫

工做原理:vim

smb進程:控制發佈目錄與權限,負責文件傳輸TCP 139 445windows

nmb進程:用於名稱解析udp 137 138緩存

Samba安裝:服務器

步驟:(安裝|查詢|軟件列表)工具

#yum install samba -y測試

#rpm -qa|grep samba.net

samba-winbind-3.6.23-36.el6_8.x86_64unix

samba-client-3.6.23-36.el6_8.x86_64     //客戶端

samba-3.6.23-36.el6_8.x86_64            //服務端

samba4-libs-4.0.0-66.el6_6.rc4.x86_64   //庫文件

samba-common-3.6.23-36.el6_8.x86_64     //工具包

samba-winbind-clients-3.6.23-36.el6_8.x86_64

 

[root@Server ~]# rpm -ql samba|grep etc

/etc/logrotate.d/samba  //日誌輪轉

/etc/pam.d/samba        //認證模塊

/etc/rc.d/init.d/nmb    //啓動腳本

/etc/rc.d/init.d/smb    //啓動腳本

/etc/samba/smbusers     //用戶別名

二進制命令

/usr/sbin/nmbd

/usr/sbin/smbd

 

 

/etc/samba/smb.conf   //主配置文件

/usr/bin/smbpasswd      //配置smb用戶密碼命令

/usr/bin/testparm       //檢查語法命令

/usr/bin/smbxlient   //客戶端命令

瞭解主配置文件

#cat /etc/samba/smb.conf|grep -v ^#|grep -v ^';'|grep [a-z]

[global]    //全局選項    

workgroup = MYGROUP //工做組    

server string = Samba Server Version %v //smb服務的版本描述    

# logs split per machine    

log file = /var/log/samba/log.%m    //日誌文件及格式    

# max 50KB per log file, then rotate    

max log size = 50       //日誌的最大大小   

  security = user     //認證模式:user(用戶名密碼),share(匿名用戶),server(外部服務器)   

  passdb backend = tdbsam    

# the login script name depends on the machine name    

# the login script name depends on the unix user used    

# disables profiles support by specifing an empty path   

  load printers = yes //加載打印機    

cups options = raw  //打印機選項    

#obtain list of printers automatically on SystemV

[homes]     //局部選項,默認共享本地用戶的家目錄   

  comment = Home Directories  //描述    

browseable = no         //隱藏標籤    

writable = yes  //可寫

[printers]      //共享名稱    

comment = All Printers    

path = /var/spool/samba   

  browseable = no   

  guest ok = no  ------> public = no    

writable = no  ------> read only = yes    

printable = yes //打印選項

不修改配置文件啓動服務

[root@Server ~]# /etc/init.d/nmb start

[root@Server ~]# /etc/init.d/smb start

默認狀況:

security = user

客戶端測試:

配置oldboy的數據庫密碼

[root@Server ~]# smbpasswd -a oldboy   

-a  打開

-d  關閉

linux客戶端鏈接:

[root@client01 ~]# smbclient -L 192.168.8.132 -U oldboy

[root@client01 ~]# smbclient //192.168.8.132/oldboy -U oldboy

Enter oldboy's password:

Domain=[MYGROUP] OS=[Unix] Server=[Samba 3.6.23-36.el6_8]

smb: \>

windows客戶端鏈接

\\192.168.8.132 ---->輸入用戶名密碼便可訪問

總結:默認狀況,本地用戶能夠訪問本身的家目錄, 可是須要將用戶加入到smb數據庫中,匿名用戶沒有可訪問的目錄.

若是security = share 本地用戶沒法訪問;

security = user 本地用戶能夠訪問, 匿名用戶可否訪問取決因而否有共享目錄容許匿名用戶訪問。

匿名用戶共享:

server: /samba/share

mkdir /samba/share -p

 

[root@Server /]# vim /etc/samba/smb.conf  

security = share

[anon_share]

comment = anon share

path = /samba/share

public = yes writable = yes

browseable = yes

 

service smb restart     //重啓服務

測試:

#smbclient 192.168.8.132/anon_share

security = share 匿名用戶能夠訪問本地用戶不能夠

基於本地用戶和密碼訪問

[root@Server /]# vim /etc/samba/smb.conf

security = user

[local_share]

comment = local share

path = /samba/local

public = no

writable = yes

browseable = yes

service smb restart     //重啓服務

測試:

#smbclient 192.168.8.132/local_share

======================================================================

samba實踐:

基於用戶名密碼的綜合訪問

需求: 公司:uplooking

一、財務部 /samba/upl_cw cw01用戶有可讀可寫權限,財務部門員工可讀,boss01對其有管理權限

二、市場部 /samba/upl_sc 該部門的員工可讀可寫,公司全部員工能夠查詢相關資料,boss02對其有管理權限

三、人事部 /samba/upl_rs rs01總監可讀寫,人事部門員工能夠對財務部門查詢,vip用戶可查詢人事部門

四、休息區 /samba/upl_pub 全部人均可以本身管理本身的文件

步驟:

一、建立用戶組    

groupadd uplooking

    groupadd cw    

groupadd sc    

groupadd rs

每一個部門2個員工:    

useradd -g cw -G uplooking cw01    

useradd -g cw -G uplooking cw02   

  useradd -g sc -G uplooking sc01    

useradd -g sc -G uplooking sc02    

useradd -g rs -G uplooking rs01    

useradd -g rs -G uplooking rs02

    useradd -g uplooking -G cw boss01    

useradd -g uplooking -G sc boss02    

useradd vip

二、建立目錄及修改相應的權限   

  mkdir /samba/upl_{cw,sc,rs,pub} -p    

chmod 770 /samba -R    

chown root.uplooking /samba    

chown root.cw upl_cw    

chown root.sc upl_sc    

chown root.rs upl_rs    

chmod 1777 upl_pub

三、搭建Samba服務,發佈共享目錄

vim /etc/samba/smb.conf

[財務共享目錄]    

commet = 財務   

  path = /samba/upl_cw    

valid users = @cw,boss01,@rs   

  read list = @cw,boss01,@rs    

write list = cw01,boss01

[市場共享目錄]  

   commet = 市場    

path = /samba/upl_sc  

   valid users = @uplooking   

  read list = @uplooking,boss02,@sc    

write list = boss02,@sc

[HR共享目錄]    

commet = HR   

  path = /samba/upl_rs    

valid users = @rs,vip   

  read list = @rs,vip,boss02  

   write list = rs01

[休息區共享目錄]    

commet = 休息    

path = /samba/upl_pub   

  valid users = @uplooking   

  read list = @uplooking   

  write list = @uplooking

四、檢查語法

/usr/bin/testparm

五、配置smb用戶名密碼

smbpasswd -a cw01

smbpasswd -a cw02

smbpasswd -a rs01

smbpasswd -a rs02

smbpasswd -a sc01

smbpasswd -a sc02

smbpasswd -a boss01

smbpasswd -a boss02

smbpasswd -a vip

/usr/bin/pdbedit -L 列出smb數據庫裏的用戶

五、重啓服務 service smb restart

六、測試驗證 Linux windows cmd ---->net use * /del /y          //清空緩存

七、相應的acl控制策略

#setfacl -m u:rs01:rx upl_cw

#setfacl -m u:vip:rx upl_rs #setfacl -m u:vip:rx .

用戶別名:

#vim /etc/samba/smusers

vip = zhangsan

[global]

username

map = /etc/samba/smbusers

-------------------------------------------------------------------

以上可能須要acl控制權限設置

setfacl 設置文檔訪問控制列表

-b  刪除全部附加的ACL條目

-k 刪除默認的ACL

-m 添加ACL條目

-x 刪除制定的ACL條目

-R 遞歸處理全部的子文件與子目錄

使用getfacl查看文檔的ACL權限,使用setfacl來設置文檔的ACL權限。

相關文章
相關標籤/搜索