天天看點

smb server

samba伺服器架設

特點:支援跨平台的檔案共享

         增加了一些通路控制,權限

samba-client.i386

samba-common.i386

samba.i386

   配置目錄: /etc/samba

   配置檔案: smb.conf

[global]

       workgroup = mygroup

       server string = samba server version %v

       # logs split per machine

       # max 50kb per log file, then rotate

       security = user <-- share,server,ads,domain

       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

       writable = no

       printable = yes

一、安裝

[root@www ~]# yum install samba* -y

loaded plugins: rhnplugin, security

this system is not registered with rhn.

rhn support will be disabled.

setting up install process

parsing package install arguments

resolving dependencies

--> running transaction check

---> package samba-client.i386 0:3.0.33-3.14.el5 set to be updated

---> package samba-common.i386 0:3.0.33-3.14.el5 set to be updated

---> package samba-swat.i386 0:3.0.33-3.14.el5 set to be updated

---> package samba.i386 0:3.0.33-3.14.el5 set to be updated

--> processing dependency: perl(convert::asn1) for package: samba

---> package perl-convert-asn1.noarch 0:0.20-1.1 set to be updated

--> finished dependency resolution

dependencies resolved

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

package               arch       version              repository          size

installing:

samba                 i386       3.0.33-3.14.el5      rhel-debuginfo      16 m

samba-swat            i386       3.0.33-3.14.el5      rhel-debuginfo     8.2 m

updating:

samba-client          i386       3.0.33-3.14.el5      rhel-debuginfo     5.7 m

samba-common          i386       3.0.33-3.14.el5      rhel-debuginfo     8.7 m

installing for dependencies:

perl-convert-asn1     noarch     0.20-1.1             rhel-debuginfo      41 k

transaction summary

install      3 package(s)        

update       2 package(s)        

remove       0 package(s)        

total download size: 39 m

downloading packages:

(1/5): perl-convert-asn1-0.20-1.1.noarch.rpm             |  41 kb     00:00    

(2/5): samba-client-3.0.33-3.14.el5.i386.rpm             | 5.7 mb     00:01    

(3/5): samba-swat-3.0.33-3.14.el5.i386.rpm               | 8.2 mb     00:01    

(4/5): samba-common-3.0.33-3.14.el5.i386.rpm             | 8.7 mb     00:02    

(5/5): samba-3.0.33-3.14.el5.i386.rpm                    |  16 mb     00:03    

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

total                                           3.8 mb/s |  39 mb     00:10    

running rpm_check_debug

running transaction test

finished transaction test

transaction test succeeded

running transaction

 updating       : samba-common                                      [1/7]

 updating       : samba-client                                      [2/7]

 installing     : perl-convert-asn1                                 [3/7]

 installing     : samba                                             [4/7]

 installing     : samba-swat                                        [5/7]

 cleanup        : samba-client                                      [6/7]

 cleanup        : samba-common                                      [7/7]

installed: samba.i386 0:3.0.33-3.14.el5 samba-swat.i386 0:3.0.33-3.14.el5

dependency installed: perl-convert-asn1.noarch 0:0.20-1.1

updated: samba-client.i386 0:3.0.33-3.14.el5 samba-common.i386 0:3.0.33-3.14.el5

complete!

you have new mail in /var/spool/mail/root

二、配置共享檔案

samba伺服器使用的帳号的是系統必須存在的帳号,但帳号的密碼是samba獨立

[root@www ~]# useradd wych

[root@www ~]# passwd wych

changing password for user wych.

new unix password:

bad password: it is way too short

retype new unix password:

passwd: all authentication tokens updated successfully.

[root@www ~]# servce smb restart

-bash: servce: command not found

[root@www ~]# service smb restart

shutting down smb services:                                [failed]

shutting down nmb services:                                [failed]

starting smb services:                                     [  ok  ]

starting nmb services:                                     [  ok  ]

[root@www ~]# smbpasswd wych

new smb password:

retype new smb password:

failed to find entry for user wych.

failed to modify password entry for user wych

例子1:

[root@squid conf]# smbpasswd  -a tom

added user tom.

[root@squid conf]# smbpasswd  -a bean

added user bean.

service smb restart

匿名掃描

smbclient -l //10.1.1.21

使用某個帳号列出資源

# smbclient -l //10.1.1.21  -u tom

通路資源

smbclient  //10.1.1.21/bean  -u bean

例子2:增加自定義共享

[uplooking]

       comment = just for test

       path = /www

       browseable = yes

# smbclient //10.1.1.21/uplooking

password:

anonymous login successful

domain=[mygroup] os=[unix] server=[samba 3.0.33-3.7.el5]

tree connect failed: nt_status_access_denied

# smbclient //10.1.1.21/uplooking -u tom

在user模式下,把資源讓匿名可以通路,資源可寫

       public = yes  《-- guest ok =yes

       read only = no <--- writeable = yes

在windows下通路的格式

//10.1.1.21/uplooking

關閉已經建立好的資源通路

net use * /del /y

在user模式下,就算是通路匿名資源也必須提供帳号,是以說,不能通路

更改成share模式之後:

security = share

例子3:關于可寫資源檔案的權限問題

使用兩個獨立帳号分别上傳檔案,發現可以互相删除,原因:隻要擁有者對檔案有寫的權限,其他帳号就可以對它進行删除。

怎麼去解決?讓别人不能随便删除其他的檔案。

對資源目錄設定stick bit

chmod o+t /www

第2種辦法:

   讓檔案上傳之後,自動去掉擁有者寫權限

       create mask = 0444  <--對于這樣的權限,擁有者也不能删除自己的檔案

       directory mask = 0755    

例子4: 通路控制,必須把級别改成user

控制資源參數

   write list = tom <--如果存在read only = no 那麼write list失效

   valid users = tom,bean <--- invalid users =

控制通路來源

       hosts deny = 10.1.1.

       hosts allow = 10.1.1.20  《--隻允許10.1.1.20通路,别的都拒絕

總結:當deny和allow重疊的時候,allow說了算。

   實作拒絕所有人通路,但是10.1.1.0/24可以通路,但是10.1.1.20不允通路

   hosts deny = all

   hosts allow = 10.1.1. except 10.1.1.20

   如果使用域名來實作,那麼必須dns支援正向和方向解析

   hosts allow = .upl.com

例子5: 在user模式下,實作tom可以上傳下載下傳,bean隻能下載下傳,其他使用者不能登入,拒絕匿名通路。

   valid users = tom,bean

   guest ok = no

   write list = tom

   read list = bean <---可選

SMB