samba服务器:快速架设apache/vsftpd/samba/sendmail服务器(一)

1 序言
2 参考文档
3 动态域名实现
4 思路方法是指定在设置档案中指定域基本控制器PDC(primary Do Controller)NetBIOS名字这需要使用do controller参 数进行设置
# Enable this you want Samba to be a do logon server for
# Windows95 workstations.
; do logons = yes

# you enable do logons then you may want a per-machine or
# per user logon script
# run a specic logon batch file per workstation (machine)
; logon script = %m.bat
# run a specic logon batch file per username
; logon script = %U.bat

# Where to store roving profiles (only for Win95 and WinNT)
# %L substitutes for this servers netbios name, %U is username
# You must uncomment the [Profiles] share below
; logon path = \%LProfiles\%U
  当用户通过台Windows 9x客户机使用用户级认证访问网路时他可以选择登录进网路中这意味着他不但要在SMB伺服器中进行验证而且会执行伺服器中相应目录中登录脚本以自动执行些相关设置通常这种登录 功能是由Windows NT伺服器来执行然而Samba伺服器也能完成这个任务但必须设定do logons 参数此后就可以对区别客户电脑或区别用户指定相应登录脚本这个功能还必须要求在本配置档案后面设置 netlogon共享选项以便客户机能访问相应登录脚本 [Page]
  除了登录脚本的外Windows NT中为了支持移动用户在区别地点进行漫游也提供了针对每个用户描述其使用环境Profile档案Samba伺服器也可以通过logon path来支持对windows客户机这种漫游能力支持这样当Windows客户机使用漫游功能时候客户机会自动将用户配置档案保存到伺服器上此后每次登录进域时候都重新下载这个配置档案设置Windows桌面环境
# Windows Internet Name Serving Support Section:
# WINS Support - Tells the NMBD component of Samba to enable it's WINS Server
; wins support = yes
# WINS Server - Tells the NMBD components of Samba to be a WINS Client
# Note: Samba can be either a WINS Server, or a WINS Client, but NOT both
; wins server = w.x.y.z

# WINS Proxy - Tells Samba to answer name resolution queries _disibledevent=># DNS Proxy - tells Samba whether or not to try to resolve NetBIOS names
# via DNS nslookups. The built-in default for versions 1.9.17 is yes,
# this has been changed in version 1.9.18 to no.
dns proxy = no
  上面这些选项是用于设置NetBIOS名字解析方式wins support选项使得nmdb能对外表现 为个NBNS伺服器wins server用于指定个外部名字伺服器地址(可以为NT上wins伺服器或另个Samba伺服器)使得nmbd能用做NBNS客户端通过访问该wins名字伺服器解析NetBIOS名字
  此外还有些不使用名字伺服器进行解析NetBIOS客户如果名字伺服器位于另个子网上那么它们就无法正确解析名字而Samba可以使用wins proxy帮助它们使用名字伺服器解析地址例如个WINS服务器在另个子网上本地子网内Samba伺服器配置了wins server地址其他Windows客户没有设置wins伺服器地址它们使用b-node广播方式查询名字在这台Samba伺服器设置了wins proxy能力的后它就能代替wins伺服器回应客户请求因此要用作wins代理就必须本身能使用名字伺服器进行解析就要 求先设置wins server参数
  此外NetBIOS名字解析也可以扩展到通过DNS查询进行帮助使用dns proxy设置就能让Samba 伺服器通过dns进行查询回应NetBIOS名字查询请求
* [homes]个人目录共享
# Share Definitions
[homes]
comment = Home Directories
browseable = no
writable = yes
  [homes]部分使得每个Unix用户通过SMB客户登录上来时候可以共享使用他自己个人目录这个 共享资源具备特别属性当用户登录上的后共享名就不是homes而是被伺服器映射为用户自己标识符
  设置这个特别共享选项就允许每个用户访问自己个人目录而不必为每个用户都配置个共享资源部分正由 于系统会自动映射因此就不需要定义要共享档案目录路径而在其它档案资源共享选项中都需要使用path参数进行 定义
  由于Samba系统会自动将homes共享名改变为用户个人标识符因此要设定browseable=no 设置homes本身这个名字不出现在资源列表中writable为用户写权限设置由于是在用户个人目录下用 户可以具备写权限
* [netlogon]和[Profiles]
# Un-comment the following and create the netlogon directory for Do Logons
; [netlogon]
; comment = Network Logon Service
; path = /usr/local/samba/lib/netlogon
; guest ok = yes
; writable = no
; share modes = no
  当允许Samba伺服器支持客户网路登录功能的后(设置do logon)就需要设置 [netlogon]部分(删除注释符号)为guest用户打开登录路径访问权限以保证每个用户都能访问其自己登录脚本由于需要使用guest对应Unix帐户访问登录脚本这个登录路径及其下面脚本档案都要允许该Unix帐号可 以读取 [Page]
  建立这个目录的后要设定正确权限并且创建这个目录下对应各个电脑或用户登录脚本以提供给客户正确登录脚本
# Un-comment the following to provide a specic roving profile share
# the default is to use the user's home directory
;[Profiles]
; path = /usr/local/samba/profiles
; browseable = no
; guest ok = yes
  当支持Windows电脑漫游能力时可以设定[Profiles]部分并为相应路径建立目录及分配权限 来为Window电脑用户设置桌面环境
* [Prers]印表机设置
# NOTE: If you have a BSD-style pr system there is no need to
# specically each individual prer
[prers]
comment = All Prers
path = /var/spool/samba
browseable = no
# Set public = yes to allow user 'guest account' to pr
guest ok = no
writable = no
prable = yes
  这个部分就用于设置将prcap中定义所有印表机使用相关设置预设情况下允许所有合法客户使用 所有印表机BSD风格打印系统不需要任何设置就能正确共享所有印表机当然也可以使用prer参数指 定具体印表机以提供共享而path参数定义是印表机缓冲区位置guest ok、writeable用于设 置正确权限而 prable用于设置打印属性
  由于Windows打印驱动已经将要打印档案转化为印表机支持那种描述语言因此这些打印档案不再需要 任何过滤器进行转换因此需要在prcap中定义个不使用任何过滤器、直接将打印文档输出到印表机端口打印 机选项
* 其他专有共享目录
# This _disibledevent=>; path = /tmp
; read _disibledevent=>; public = yes

# A publicly accessible directory, but read _disibledevent=>; path = /home/samba
; public = yes
; writable = yes
; prable = no
; write list = @staff

# Other examples.
#
# A private prer, usable _disibledevent=>; valid users = fred
; path = /homes/fred
; prer = freds_prer
; public = no
; writable = no
; prable = yes

# A private directory, usable _disibledevent=>; path = /usr/somewhere/private
; valid users = fred
; public = no
; writable = yes
; prable = no

# a service which has a dferent directory for each machine that connects
# this allows you to tailor configurations to incoming machines. You could
# also use the %U option to tailor it by user name.
# The %m gets replaced with the machine name that is connecting.
;[pchome]
; comment = PC Directories
; path = /usr/pc/%m
; public = no
; writable = yes

# A publicly accessible directory, read/write to all users. Note that all files
# created in the directory by users will be owned by the default user, so
# any user with access can delete any other user's files. Obviously this
# directory must be writable by the default user. Another user could of course
# be specied, in which all files would be owned by that user instead. [Page]
;[public]
; path = /usr/somewhere//public
; public = yes
; _disibledevent=>; writable = yes
; prable = no

# The following two entries demonstrate how to share a directory so that two
# users can place files there that will be owned by the specic users. In this
# up, the directory should be writable by both users and should have the
# sticky bit _disibledevent=>; path = /usr/somewhere/shared
; valid users = mary fred
; public = no
; writable = yes
; prable = no
; create mask = 0765

d) sendmail.mc详细设定

地址:
http://www.amazepc.com/gugong/gugong/html/sendmail%B4%F3%C8%AB.html

作者: ?

内容(节选):

Sendmail大全

......

divert

通常总是设置为divert(-1)让m4在输出中去掉些垃圾

OSTYPE OSTYPE

定义使用操作系统类型当然在我们情况下就是linux但是定要注意m4中 引号使用方法个反引号和个正引号才代表把对应东西括起来



定义些全局设置对于Linux系统设置了OSTYPE的后可以定义下面些全局 参数如果不定义就使用缺省值例如:

(ALIAS_FILE/etc/aliases)

变量名 介绍说明(方括号中为缺省值)

ALIAS_FILE [/etc/aliases]

别名文件位置如果有多个别名文件需要把它们用引号括起来(别忘了引号规则 !)

confCR_FILE [/etc/mail/relay-dos]

缺省域定义文件在这个域中定义域中机器可以通过你服务器进行邮件发送

HELP_FILE [/usr/lib/sendmail.hf]

此文件中含有对SMTPHELP命令进行响应时要列出信息

QUEUE_DIR [/var/spool/mqueue]

邮件队列文件所在目录

STATUS_FILE [/etc/sendmail.st]

sendmail状态信息文件

LOCAL_MAILER_PATH [/bin/mail]

用于投递本地邮件

LOCAL_MAILER_FLAGS [rmn9]

local mailer要用到标志永远包含标志lsDFM

LOCAL_MAILER_ARGS [mail -d $u]

在投递本地邮件时所传送参数

LOCAL_MAILER_MAX [没有]

如定义了此参数则为此邮件服务器所能接收最大单个邮件大小

LOCAL_MAILER_CHARSET [没有]

如果定义了此参数则被转化为MIME格式从其他地址到local mailer含有8位 信息将被标为此

LOCAL_SHELl_PATH [/bin/sh]

用于投递利用管道功能处理邮件shell.

LOCAL_SHELL_FLAGS [eu9]

prog mailer用到标志在此标志中永远包含标志lsDFM.

LOCAL_SHELL_DIR [$z:/]

shell运行时所要查找目录路径

USENET_MAILER_PATH [/usr/lib, , /s/is]

用于投递电子新闻组名称

USENET_MAILER_FLAGS [rlsDFMmn]

usenet mailer投递标志

USENET_MAILER_ARGS [-m -h -n]

usenet mailer命令行参数

USENET_MAILER_MAX [100000]

usenet mailer所能接收最大信息大小

SMTP_MAILER_FLAGS [没有]

SMTP mailer附加标志对所有基于SMTPmailer其默认标志为mDFMUX;基于esmtp邮差 (mailer)加上a标志;而基于"smtp8"邮差则加上8

SMTP_MAILER_MAX [没有]

使用smtp,smtp8或esmtp传输单个邮件最大容量

SMTP_MAILER_CHARSET [没有]

如果定义了此参数则被转化为MIME格式从其他地址到任个smtp mailer含有8 位信息将被标为此

POP_MAILER_PATH [/usr/lib/mh/spop]

pop邮差路径名

POP_MAILER_FLAGS [Penu]

pop邮差附加标志同时总是加上标志lsDFM [Page]

POP_MAILER_ARGS [pop $u]

传给pop邮差参数

PROCMAIL_MAILER_PATH [/usr/local/bin/procmail]

procmail路径名此外FEATURE(local procmail)也用到此参数

PROCMAIL_MAILER_FlAGS [SPhnu9]加给Procmail邮差标志同时总是加上"DFM"标志

PROCMAIL_MAILER_MAX [没有]

procmail所接收最大单个邮件容量如果你对某些人发送巨大邮件感到困扰启 用这个选项

FEATURE

定义sednamil些运行参数通常对我们来说最重要些选项是:

use_cw_file

读取文件/etc/sendmail.cw以确定这台机器应该替哪些机器接受邮件此主机别名 当你使用 MX记录将此主机定义为其他主机邮件交换机时需要使用这个特性例如: FEATURE(use_cw_file)

relay_hosts_only

通常情况下sendmail为sendmail.cf中明确列出域(般是localhost)和/etc/ mail/relay-dos中定义域进行投递代理缺省下这两处定义都是域名字如 果你定义了这个参数那么这两处内容将被解释为主机名字

use_ct_file

读取文件/etc/sendmail.ct以取得系统“信任”用户名字这些用户可以使用-f设 置其发信信封上from地址而不产生警告信息

redirect

使用REDIRECT特性这个特性允许你对某些已经搬迁用户发出重定向信息(见下 节)例如:

FEATURE(redirect)

mailertable

包含个用于覆盖到特定域路由(routing)"mailer table".此特性参数定义可以是 个关键词定义如未指定任何参数 其定义通常是:

FEATURE(mailertable,`hash -o /etc/mailertable)

dotable

包含个用于提供域名映象"do table"当改变你自已域名时可能有用(如 你公司由oldname.com改为name.com)其定义通常是:

FEATURE(domiaable`hash -o /etc/dotable)

always_add_do

在本地发送邮件时也加上其主机域名例如:

FEATURE(always_add_do)

allmasquerade

如果使用了伪装(masquerading,使用MASQUERADE_AS),则此特性将使接收者地址也伪 装为来自所伪装为主机

limitd_masquerade

通常情况下$w所列出所有主机将被伪装如果使用了此特性则只对那些$m所列出 主机进行伪装

masquerade_entire_do

如使用了伪装且设置了MASQUERADE_DOMAIN,此特性将引起 地址重写使所要伪装网 域整个被隐藏所有含有被伪装域名主机用伪装域名(通常是MASQUERADE_AS)进行重写

masquerade_envelope

用此特性告知sendmail将信封和信件头中上发送者和接收者进行伪装

定义了有关masq选项的后就可以使用伪装了可以直接将伪装命令写入mc模板 举例如下:

MASQUERADE_AS(masq.com)

MASQUERADE_DOMAIN(foo.org)


Tags:  apache服务器安装 apache服务器配置 apache服务器 samba服务器

延伸阅读

最新评论

发表评论