1.安装samba服务器
2.samba配置文件
samba主要的配置文件是/etc/samba/smb.conf,在基本的配置文件中,也只用到其中的一小部分命令选项。 由于SMB是一个非常复杂的协议,所以配置samba的工作就非常的繁琐,大约有超过180项配置项出现smb.conf文件中。该文件有一个清晰的语法结构,与windows的*.ini文件十分类似。文件被分隔成若干节,每一节都由一个被方括号括起来的标志开始(如,[global].[home].[printers]),每一个配置参数或是一个全局参数(影响或控制整个服务器),或是一个服务参数(影响或控制服务器提供的某项服务)。global部分定义的参数用来控制samba的总特性,除该部分外,每一部分都定义了一个专门的服务。查看配置文件:
[root@d1 samba]# grep -v ‘^#’ /etc/samba/smb.conf |grep -v ‘^$’
- # 忽略了注释配置的samba文件#
- #---------------
- # SELINUX NOTES:
- #
- # If you want to use the useradd/groupadd family of binaries please run:
- # setsebool -P samba_domain_controller on
- #
- # If you want to share home directories via samba please run:
- # setsebool -P samba_enable_home_dirs on
- #
- # If you create a new directory you want to share you should mark it as
- # "samba-share_t" so that selinux will let you write into it.
- # Make sure not to do that on system directories as they may already have
- # been marked with othe SELinux labels.
- #
- # Use ls -ldZ /path to see which context a directory has
- #
- # Set labels only on directories you created!
- # To set a label use the following: chcon -t samba_share_t /path
- #
- # If you need to share a system created directory you can use one of the
- # following (read-only/read-write):
- # setsebool -P samba_export_all_ro on
- # or
- # setsebool -P samba_export_all_rw on
- #
- # If you want to run scripts (preexec/root prexec/print command/...) please
- # put them into the /var/lib/samba/scripts directory so that smbd will be
- # allowed to run them.
- # Make sure you COPY them and not MOVE them so that the right SELinux context
- # is applied, to check all is ok use restorecon -R -v /var/lib/samba/scripts
- #
- #--------------
- #
- #======================= Global Settings =====================================
- #这个是配置文件关于全局参数的设置部分
- [global]
- # ----------------------- Netwrok Related Options -------------------------
- #
- # workgroup = NT-Domain-Name or Workgroup-Name, eg: MIDEARTH
- #
- # server string is the equivalent of the NT Description field
- #
- # netbios name can be used to specify a server name not tied to the hostname
- #
- # Interfaces lets you configure Samba to use multiple interfaces
- # If you have multiple network interfaces then you can list the ones
- # you want to listen on (never omit localhost)
- #
- # Hosts Allow/Hosts Deny lets you restrict who can connect, and you can
- # specifiy it as a per share option as well
- #
- #这是设置服务器所要加入的工作组的名称,会再windows 的“网上邻居”中看到MYGROUP工作组,可以再此处设置所需要
- 的工作组名称
- workgroup = MYGROUP
- # 这是设置服务器主机的说明信息,当在windows的“网上邻居”中打开samba上设置工作时,在windows的资源管理器窗口
- 会列出“名称”和“备注”栏,其中“名称”栏会显示samba服务器的NetBIos名称,而“备注”栏则显示此处设置的“samba
- server”.当然,可以修改默认的“samba server ”,使用自己的描述信息。
- server string = d1
- #设置出现在“网上邻居” 中的主机名。默认情况下,使用真正的主机名
- netbios name = samba24
- ; interfaces = lo eth0 192.168.12.2/24 192.168.13.2/24
- #这里是设置允许什么样的IP地址的主机访问samba服务器。默认情况下,hosts allow选项被注视,表示允许所有的Ip地
址的主机访问
; hosts allow = 127. 192.168.228.- # --------------------------- Logging Options -----------------------------
- #
- # Log File let you specify where to put logs and how to split them up.
- #
- # Max Log Size let you specify the max size log files should reach
- # logs split per machine
- #设置日志文件的路径,这一选项要求samba服务器为每一台连接的机器使用一个单独的日志文件,指定文件的位置,名称
- samba会自动将%m转换成连接主机的NetBIOS名
log file = /var/log/samba/log.%m- # max 50KB per log file, then rotate
- #指定日志文件的最大容量(以KB),设置为50KB
- max log size = 50
- # ----------------------- Standalone Server Options ------------------------
- #
- # Scurity can be set to user, share(deprecated) or server(deprecated)
- #
- # Backend to store user information in. New installations should
- # use either tdbsam or ldapsam. smbpasswd is available for backwards
- # compatibility. tdbsam requires no further configuration.
- security = user
- passdb backend = tdbsam
- # ----------------------- Domain Members Options ------------------------
- #
- # Security must be set to domain or ads
- #
- # Use the realm option only with security = ads
- # Specifies the Active Directory realm the host is part of
- #
- # Backend to store user information in. New installations should
- # use either tdbsam or ldapsam. smbpasswd is available for backwards
- # compatibility. tdbsam requires no further configuration.
- #
- # Use password server option only with security = server or if you can't
- # use the DNS to locate Domain Controllers
- # The argument list may include:
- # password server = My_PDC_Name [My_BDC_Name] [My_Next_BDC_Name]
- # or to auto-locate the domain controller/s
- # password server = *
- ; security = domain
- ; passdb backend = tdbsam
- ; realm = MY_REALM
- ; password server = <NT-Server-Name>
- # ----------------------- Domain Controller Options ------------------------
- #
- # Security must be set to user for domain controllers
- #
- # Backend to store user information in. New installations should
- # use either tdbsam or ldapsam. smbpasswd is available for backwards
- # compatibility. tdbsam requires no further configuration.
- #
- # Domain Master specifies Samba to be the Domain Master Browser. This
- # allows Samba to collate browse lists between subnets. Don't use this
- # if you already have a Windows NT domain controller doing this job
- #
- # Domain Logons let Samba be a domain logon server for Windows workstations.
- #
- # Logon Scrpit let yuou specify a script to be run at login time on the client
- # You need to provide it in a share called NETLOGON
- #
- # Logon Path let you specify where user profiles are stored (UNC path)
- #
- # Various scripts can be used on a domain controller or stand-alone
- # machine to add or delete corresponding unix accounts
- #
- ; security = user
- ; passdb backend = tdbsam
- ; domain master = yes
- ; domain logons = yes
- # the login script name depends on the machine name
- ; logon script = %m.bat
- # the login script name depends on the unix user used
- ; logon script = %u.bat
- ; logon path = \\%L\Profiles\%u
- # disables profiles support by specifing an empty path
- ; logon path =
- ; add user script = /usr/sbin/useradd "%u" -n -g users
- ; add group script = /usr/sbin/groupadd "%g"
- ; add machine script = /usr/sbin/useradd -n -c "Workstation (%u)" -M -d /nohome -s /bin/false "%u"
- ; delete user script = /usr/sbin/userdel "%u"
- ; delete user from group script = /usr/sbin/userdel "%u" "%g"
- ; delete group script = /usr/sbin/groupdel "%g"
- # ----------------------- Browser Control Options ----------------------------
- #
- # set local master to no if you don't want Samba to become a master
- # browser on your network. Otherwise the normal election rules apply
- #
- # OS Level determines the precedence of this server in master browser
- # elections. The default value should be reasonable
- #
- # Preferred Master causes Samba to force a local browser election on startup
- # and gives it a slightly higher chance of winning the election
- ; local master = no
- ; os level = 33
- ; preferred master = yes
- #----------------------------- Name Resolution -------------------------------
- # Windows Internet Name Serving Support Section:
- # Note: Samba can be either a WINS Server, or a WINS Client, but NOT both
- #
- # - WINS Support: Tells the NMBD component of Samba to enable it's WINS Server
- #
- # - WINS Server: Tells the NMBD components of Samba to be a WINS Client
- #
- # - WINS Proxy: Tells Samba to answer name resolution queries on
- # behalf of a non WINS capable client, for this to work there must be
- # at least one WINS Server on the network. The default is NO.
- #
- # DNS Proxy - tells Samba whether or not to try to resolve NetBIOS names
- # via DNS nslookups.
- ; wins support = yes
- ; wins server = w.x.y.z
- ; wins proxy = yes
- ; dns proxy = yes
- # --------------------------- Printing Options -----------------------------
- #
- # Load Printers let you load automatically the list of printers rather
- # than setting them up individually
- #
- # Cups Options let you pass the cups libs custom options, setting it to raw
- # for example will let you use drivers on your Windows clients
- #
- # Printcap Name let you specify an alternative printcap file
- #
- # You can choose a non default printing system using the Printing option
- #允许共享打印机,指定是否要加载打印机(使打印机可以共享)。默认值为yes.如果用户想要自动加载打印表,而不是个别地安装,
则必须在此指定以上两项。- load printers = yes
- #
cups options = raw- #设置打印机配置温家安路径,这是指定打印机配置文件的位置。打印守护进程读取printcap文件中的配置信息,监视打印机的工作情况
- ; printcap name = /etc/printcap
- #obtain list of printers automatically on SystemV
- ; printcap name = lpstat
- #设置打印机系统类型,只有在打印系统部是标准的情况下,必须指定;否则 不必指定。指定打印系统类型将影响到smb.conf文件中与打
印机相关的命令(如print、lpq、lppause及plresune)的执行方式。默认的打印系统类型为cups
; printing = cups- # --------------------------- Filesystem Options ---------------------------
- #
- # The following options can be uncommented if the filesystem supports
- # Extended Attributes and they are enabled (usually by the mount option
- # user_xattr). Thess options will let the admin store the DOS attributes
- # in an EA and make samba not mess with the permission bits.
- #
- # Note: these options can also be set just per share, setting them in global
- # makes them the default for all shares
- ; map archive = no
- ; map hidden = no
- ; map read only = no
- ; map system = no
- ; store dos attributes = yes
- #============================ Share Definitions ==============================
- [homes]
- comment = Home Directories
- browseable = no
- writable = yes
- ; valid users = %S
- ; valid users = MYDOMAIN\%S
- [printers]
- comment = All Printers
- path = /var/spool/samba
- browseable = no
- guest ok = no
- writable = no
- printable = yes
- # Un-comment the following and create the netlogon directory for Domain Logons
- ; [netlogon]
- ; comment = Network Logon Service
- ; path = /var/lib/samba/netlogon
- ; guest ok = yes
- ; writable = no
- ; share modes = no
- # Un-comment the following to provide a specific roving profile share
- # the default is to use the user's home directory
- ; [Profiles]
- ; path = /var/lib/samba/profiles
- ; browseable = no
- ; guest ok = yes
- # A publicly accessible directory, but read only, except for people in
- # the "staff" group
- ; [public]
- ; comment = Public Stuff
- ; path = /home/samba
- ; public = yes
- ; writable = yes
- ; printable = no
- ; write list = +staff
由于时间关系,待续。。。。。。。。。