GVKun编程网logo

CentOS6 Squid代理服务器的安装与配置(centos代理服务器搭建)

24

对于CentOS6Squid代理服务器的安装与配置感兴趣的读者,本文将会是一篇不错的选择,我们将详细介绍centos代理服务器搭建,并为您提供关于CentOS6.3下Samba服务器的安装与配置、Ce

对于CentOS6 Squid代理服务器的安装与配置感兴趣的读者,本文将会是一篇不错的选择,我们将详细介绍centos代理服务器搭建,并为您提供关于CentOS 6.3 下 Samba 服务器的安装与配置、CentOS 6.3下rsync服务器的安装与配置、CentOS 6.3下Samba服务器的安装与配置、CentOS 6.3下Samba服务器的安装与配置方法(图文详解)的有用信息。

本文目录一览:

CentOS6 Squid代理服务器的安装与配置(centos代理服务器搭建)

CentOS6 Squid代理服务器的安装与配置(centos代理服务器搭建)

一、简介

代理服务器英文全称是Proxy Server,其功能就是代理网络用户去取得网络信息。Squid是一个缓存Internet 数据的软件,其接收用户的下载申请,并自动处理所下载的数据。当一个用户想要下载一个主页时,可以向Squid 发出一个申请,要Squid 代替其进行下载,然后Squid 连接所申请网站并请求该主页,接着把该主页传给用户同时保留一个备份,当别的用户申请同样的页面时,Squid 把保存的备份立即传给用户,使用户觉得速度相当快。Squid 可以代理HTTP、FTP、GOPHER、SSL和WAIS等协议并且Squid 可以自动地进行处理,可以根据自己的需要设置Squid,使之过滤掉不想要的东西。

1.1 工作流程

当代理服务器中有客户端需要的数据时:
a. 客户端向代理服务器发送数据请求;
b. 代理服务器检查自己的数据缓存;
c. 代理服务器在缓存中找到了用户想要的数据,取出数据;
d. 代理服务器将从缓存中取得的数据返回给客户端。

当代理服务器中没有客户端需要的数据时:
1. 客户端向代理服务器发送数据请求;
2. 代理服务器检查自己的数据缓存;
3. 代理服务器在缓存中没有找到用户想要的数据;
4. 代理服务器向Internet 上的远端服务器发送数据请求;
5. 远端服务器响应,返回相应的数据;
6. 代理服务器取得远端服务器的数据,返回给客户端,并保留一份到自己的数据缓存中。

Squid代理服务器工作在TCP/IP的应用层。

1.2 Squid 分类

按照代理类型的不同,可以将Squid 代理分为正向代理和反向代理,正向代理中,根据实现方式的不同,又可以分为普通代理和透明代理。
• 普通代理:需要客户机在浏览器中指定代理服务器的地址、端口;
• 透明代理:适用于企业的网关主机(共享接入Internet)中,客户机不需要指定代理服务器地址、端口等信息,代理服务器需要设置防火墙策略将客户机的Web访问数据转交给代理服务程序处理;
• 反向代理:是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。

二、系统环境

操作系统:CentOS release 6.5
Squid版本:squid-3.1.10-20.el6_5.3.x86_64
关闭httpd
关闭防火墙

三、安装Squid服务

3.1 检查squid软件是否安装

# rpm -qa|grep squid

3.2 如果未安装,则使用yum 方式安装

# yum -y install squid

3.3 设置开机自启动

# chkconfig --level 35 squid on             //在3、5级别上自动运行squid服务

四、squid服务器的配置文件说明

squid 的主配置文件是 /etc/squid/squid.conf,所有squid的设定都是在这个文件里配置,下面是一些常用的配置选项。

http_port 3128      //设置监听的IP与端口号

cache_mem 64 MB      //额外提供给squid使用的内存,squid的内存总占用为 X * 10+15+“cache_mem”,其中X为squid的cache占用的容量(以GB为单位),
               //比如下面的cache大小是100M,即0.1GB,则内存总占用为0.1*10+15+64=80M,推荐大小为物理内存的1/3-1/2或更多。
maximum_object_size 4 MB   //设置squid磁盘缓存最大文件,超过4M的文件不保存到硬盘

minimum_object_size 0 KB   //设置squid磁盘缓存最小文件

maximum_object_size_in_memory 4096 KB   //设置squid内存缓存最大文件,超过4M的文件不保存到内存

cache_dir ufs /var/spool/squid 100 16 256   //定义squid的cache存放路径 、cache目录容量(单位M)、一级缓存目录数量、二级缓存目录数量

logformat combined %>a %ui %un [%tl] "%rm %ru HTTP/%rv" %Hs %h" "%{User-Agent}>h" %ss:%sh      //log文件日志格式

access_log /var/log/squid/access.log combined  //log文件存放路径和日志格式

cache_log /var/log/squid/cache.log   //设置缓存日志

logfile_rotate 60   //log轮循 60天

cache_swap_high 95  //cache目录使用量大于95%时,开始清理旧的cache

cache_swap_low 90   //cache目录清理到90%时停止。

acl localnet src 192.168.1.0/24  //定义本地网段

http_access allow localnet  //允许本地网段使用

http_access deny all  //拒绝所有

visible_hostname squid.david.dev  //主机名

cache_mgr example@test.com  //管理员邮箱

五、普通代理服务

即标准的、传统的代理服务,需要客户机在浏览器中指定代理服务器的地址、端口。
实验拓扑图如下:

5.1 配置Squid 代理服务器IP地址

将eth1的IP地址修改为200.168.10.1

# ifconfig eth1 200.168.10.1

5.2 编辑squid 主配置文件/etc/squid/squid.conf

http_port 3128 
cache_mem 64 MB 
maximum_object_size 4 MB 
cache_dir ufs /var/spool/squid 100 16 256 
access_log /var/log/squid/access.log 
acl localnet src 192.168.1.0/24 
http_access allow localnet 
http_access deny all 
visible_hostname squid.david.dev 
cache_mgr mchina_tang@qq.com

5.3 初始化

# squid -z

5.4 启动Squid

# /etc/init.d/squid start

5.5 配置Web 服务器

A. 安装Apache

# rpm -qa|grep httpd
# yum -y install httpd

B. 启动Apache并加入开机启动

# /etc/init.d/httpd start
# chkconfig httpd on

C. 创建index.html

# echo "<h1>Squid-Web1/200.168.10.2</h1>" > /var/www/html/index.html

D. 修改Web服务器IP地址
将web服务器的IP地址修改为200.168.10.2

# ifconfig eth0 200.168.10.2

5.6 配置客户端IP地址

5.7 配置浏览器代理

打开浏览器(以IE为例,其他类似),菜单栏 -> 工具 -> Internet 选项 -> 连接 -> 局域网设置 -> 代理服务器,按照以下格式设置。

5.8 测试

六、透明代理服务

适用于企业的网关主机,客户机不需要指定代理服务器地址、端口等信息,通过iptables将客户机的Web访问数据转交给代理服务程序处理。
实验拓扑图如下:

6.1 修改squid 主配置文件/etc/squid/squid.conf

http_port 3128 transparent 
cache_mem 64 MB 
maximum_object_size 4 MB 
cache_dir ufs /var/spool/squid 100 16 256 
access_log /var/log/squid/access.log 
acl localnet src 192.168.1.0/24 
http_access allow localnet 
http_access deny all 
visible_hostname squid.david.dev 
cache_mgr mchina_tang@qq.com

在http_port 3128 后添加transparent 关键字。

6.2 reload

reload 让上面的配置生效。

# /etc/init.d/squid reload

6.3 添加iptables规则,把内部的http请求重定向到3128端口

A. 启动iptables 服务

# /etc/init.d/iptables start

B. 清除现有iptables filter 表规则

# iptables -F

C. 保存iptables 设置

# /etc/init.d/iptables save

D. 在nat表中新增一条规则

# iptables -t nat -I PREROUTING -i eth0 -s 192.168.1.0/24 -p tcp --dport 80 -j REDIRECT --to-port 3128

E. 保存

# /etc/init.d/iptables save

6.4 修改客户端IP地址

将默认网关设置为squid 服务器的内网ip地址。

6.5 在浏览器中,取消代理设置

七、反向代理服务

为Internet用户访问企业Web站点提供缓存加速。
实验拓扑:

7.1 关闭防火墙

# /etc/init.d/iptables stop

7.2 修改Web Server 主页

Web1:
# echo "<h1>Squid-Web1/192.168.1.18</h1>" > /var/www/html/index.html

Web2:
# echo "<h1>Squid-Web1/192.168.1.19</h1>" > /var/www/html/index.html

7.3 配置squid

http_port 80 accel vhost 
http_access allow all 
cache_peer 192.168.1.18 parent 80 0 originserver round-robin weight=1 
cache_peer 192.168.1.19 parent 80 0 originserver round-robin weight=1 
visible_hostname squid.david.dev 
cache_mgr mchina_tang@qq.com

7.4 启动Squid服务


squid启动失败,因为上面设定了squid的监听端口是80,和系统的http服务冲突,所以要将http服务停掉,然后再启动squid。

7.6 测试

squid 采用了round-robin,所以客户端的访问将轮询两台web服务器,采用 "Ctrl + F5" 来深度刷新测试。
Web1:

Web2:

免费提供最新Linux技术教程书籍,为开源技术爱好者努力做得更多更好:http://www.linuxprobe.com/

CentOS 6.3 下 Samba 服务器的安装与配置

CentOS 6.3 下 Samba 服务器的安装与配置

原文来自  

、简介

    Samba 是一个能让 Linux 系统应用 Microsoft 网络通讯协议的软件,而 SMB 是 Server Message Block 的缩写,即为服务器消息块 ,SMB 主要是作为 Microsoft 的网络通讯协议,后来 Samba 将 SMB 通信协议应用到了 Linux 系统上,就形成了现在的 Samba 软件。后来微软又把 SMB 改名为 CIFS(Common Internet File System),即公共 Internet 文件系统,并且加入了许多新的功能,这样一来,使得 Samba 具有了更强大的功能。

  Samba 最大的功能就是可以用于 Linux 与 windows 系统直接的文件共享和打印共享,Samba 既可以用于 windows 与 Linux 之间的文件共享,也可以用于 Linux 与 Linux 之间的资源共享,由于 NFS (网络文件系统)可以很好的完成 Linux 与 Linux 之间的数据共享,因而 Samba 较多的用在了 Linux 与 windows 之间的数据共享上面。

  SMB 是基于客户机 / 服务器型的协议,因而一台 Samba 服务器既可以充当文件共享服务器,也可以充当一个 Samba 的客户端,例如,一台在 Linux 下已经架设好的 Samba 服务器,windows 客户端就可以通过 SMB 协议共享 Samba 服务器上的资源文件,同时,Samba 服务器也可以访问网络中 其它 windows 系统或者 Linux 系统共享出来的文件。
Samba 在 windows 下使用的是 NetBIOS 协议,如果你要使用 Linux 下共享出来的文件,请确认你的 windows 系统下是否安装了 NetBIOS 协议。

  组成 Samba 运行的有两个服务,一个是 SMB,另一个是 NMB;SMB 是 Samba 的核心启动服务,主要负责建立 Linux Samba 服务器与 Samba 客户机之间的对话, 验证用户身份并提供对文件和打印系统的访问,只有 SMB 服务启动,才能实现文件的共享,监听 139 TCP 端口;而 NMB 服务是负责解析用的,类似与 DNS 实现的功能,NMB 可以把 Linux 系统共享的工作组名称与其 IP 对应起来,如果 NMB 服务没有启动,就只能通过 IP 来访问共享文件,监听 137 和 138 UDP 端口。

  例如,某台 Samba 服务器的 IP 地址为 10.0.0.163,对应的工作组名称为 davidsamba,那么在 Windows 的 IE 浏览器输入下面两条指令都可以访问共享文件。其实这就是 Windows 下查看 Linux Samba 服务器共享文件的方法。
  \\10.0.0.163\ 共享目录名称
  \\davidsamba\ 共享目录名称

  Samba 服务器可实现如下功能:WINS 和 DNS 服务; 网络浏览服务; Linux 和 Windows 域之间的认证和授权; UNICODE 字符集和域名映射;满足 CIFS 协议的 UNIX 共享等。

二、系统环境

系统平台:CentOS release 6.3 (Final)

Samba 版本:samba-3.5.10-125.el6.x86_64

Samba Server IP:10.0.0.163

防火墙已关闭 /iptables: Firewall is not running.

SELINUX=disabled

三、安装 Samba 服务

1、在可以联网的机器上使用 yum 工具安装,如果未联网,则挂载系统光盘进行安装。

# yum install samba samba-client samba-swat

有依赖关系的包 samba-common、samba-winbind-clients、libsmbclient 将自动安装上去。

2、查看安装状况

3、安装包说明

samba-common-3.5.10-125.el6.x86_64               // 主要提供 samba 服务器的设置文件与设置文件语法检验程序 testparm
samba-client-3.5.10-125.el6.x86_64                    // 客户端软件,主要提供 linux 主机作为客户端时,所需要的工具指令集
samba-swat-3.5.10-125.el6.x86_64                    // 基于 https 协议的 samba 服务器 web 配置界面
samba-3.5.10-125.el6.x86_64                            // 服务器端软件,主要提供 samba 服务器的守护程序,共享文档,日志的轮替,开机默认选项

Samba 服务器安装完毕,会生成配置文件目录 /etc/samba 和其它一些 samba 可执行命令工具,/etc/samba/smb.conf 是 samba 的核心配置文件,/etc/init.d/smb 是 samba 的启动 / 关闭文件。

4、启动 Samba 服务器

可以通过 /etc/init.d/smb start/stop/restart 来启动、关闭、重启 Samba 服务,启动 SMB 服务如下所示:

5、查看 samba 的服务启动情况

# service smb status

6、设置开机自启动

# chkconfig --level 35 smb on             // 在 3、5 级别上自动运行 samba 服务

四、配置 Samba 服务

Samba 的主配置文件为 /etc/samba/smb.conf

主配置文件由两部分构成

  • Global Settings (55-245 行)

  该设置都是与 Samba 服务整体运行环境有关的选项,它的设置项目是针对所有共享资源的。

  • Share Definitions (246 - 尾行)

  该设置针对的是共享目录个别的设置,只对当前的共享资源起作用。

全局参数:

#==================Global Settings ===================
[global]

config file = /usr/local/samba/lib/smb.conf.%m
说明:config file 可以让你使用另一个配置文件来覆盖缺省的配置文件。如果文件不存在,则该项无效。这个参数很有用,可以使得 samba 配置更灵活,可以让一台 samba 服务器模拟多台不同配置的服务器。比如,你想让 PC1(主机名)这台电脑在访问 Samba Server 时使用它自己的配置文件,那么先在 /etc/samba/host/ 下为 PC1 配置一个名为 smb.conf.pc1 的文件,然后在 smb.conf 中加入:config file = /etc/samba/host/smb.conf.% m。这样当 PC1 请求连接 Samba Server 时,smb.conf.% m 就被替换成 smb.conf.pc1。这样,对于 PC1 来说,它所使用的 Samba 服务就是由 smb.conf.pc1 定义的,而其他机器访问 Samba Server 则还是应用 smb.conf。

workgroup = WORKGROUP
说明:设定 Samba Server 所要加入的工作组或者域。

server string = Samba Server Version %v
说明:设定 Samba Server 的注释,可以是任何字符串,也可以不填。宏 % v 表示显示 Samba 的版本号。

netbios name = smbserver
说明:设置 Samba Server 的 NetBIOS 名称。如果不填,则默认会使用该服务器的 DNS 名称的第一部分。netbios name 和 workgroup 名字不要设置成一样了。

interfaces = lo eth0 192.168.12.2/24 192.168.13.2/24
说明:设置 Samba Server 监听哪些网卡,可以写网卡名,也可以写该网卡的 IP 地址。

hosts allow = 127. 192.168.1. 192.168.10.1
说明:表示允许连接到 Samba Server 的客户端,多个参数以空格隔开。可以用一个 IP 表示,也可以用一个网段表示。hosts deny 与 hosts allow 刚好相反。
例如:hosts allow=172.17.2.EXCEPT172.17.2.50
表示容许来自 172.17.2.* 的主机连接,但排除 172.17.2.50
hosts allow=172.17.2.0/255.255.0.0
表示容许来自 172.17.2.0/255.255.0.0 子网中的所有主机连接
hosts allow=M1,M2
表示容许来自 M1 和 M2 两台计算机连接
hosts allow=@pega
表示容许来自 pega 网域的所有计算机连接

max connections = 0
说明:max connections 用来指定连接 Samba Server 的最大连接数目。如果超出连接数目,则新的连接请求将被拒绝。0 表示不限制。

deadtime = 0
说明:deadtime 用来设置断掉一个没有打开任何文件的连接的时间。单位是分钟,0 代表 Samba Server 不自动切断任何连接。

time server = yes/no
说明:time server 用来设置让 nmdb 成为 windows 客户端的时间服务器。

log file = /var/log/samba/log.%m
说明:设置 Samba Server 日志文件的存储位置以及日志文件名称。在文件名后加个宏 % m(主机名),表示对每台访问 Samba Server 的机器都单独记录一个日志文件。如果 pc1、pc2 访问过 Samba Server,就会在 /var/log/samba 目录下留下 log.pc1 和 log.pc2 两个日志文件。

max log size = 50
说明:设置 Samba Server 日志文件的最大容量,单位为 kB,0 代表不限制。

security = user
说明:设置用户访问 Samba Server 的验证方式,一共有四种验证方式。
1. share:用户访问 Samba Server 不需要提供用户名和口令,安全性能较低。
2. user:Samba Server 共享目录只能被授权的用户访问,由 Samba Server 负责检查账号和密码的正确性。账号和密码要在本 Samba Server 中建立。
3. server:依靠其他 Windows NT/2000 或 Samba Server 来验证用户的账号和密码,是一种代理验证。此种安全模式下,系统管理员可以把所有的 Windows 用户和口令集中到一个 NT 系统上,使用 Windows NT 进行 Samba 认证,远程服务器可以自动认证全部用户和口令,如果认证失败,Samba 将使用用户级安全模式作为替代的方式。
4. domain:域安全级别,使用主域控制器 (PDC) 来完成认证。

passdb backend = tdbsam
说明:passdb backend 就是用户后台的意思。目前有三种后台:smbpasswd、tdbsam 和 ldapsam。sam 应该是 security account manager(安全账户管理)的简写。
1.smbpasswd:该方式是使用 smb 自己的工具 smbpasswd 来给系统用户(真实用户或者虚拟用户)设置一个 Samba 密码,客户端就用这个密码来访问 Samba 的资源。smbpasswd 文件默认在 /etc/samba 目录下,不过有时候要手工建立该文件。
2.tdbsam: 该方式则是使用一个数据库文件来建立用户数据库。数据库文件叫 passdb.tdb,默认在 /etc/samba 目录下。passdb.tdb 用户数据库 可以使用 smbpasswd –a 来建立 Samba 用户,不过要建立的 Samba 用户必须先是系统用户。我们也可以使用 pdbedit 命令来建立 Samba 账户。pdbedit 命令的 参数很多,我们列出几个主要的。
  pdbedit –a username:新建 Samba 账户。
  pdbedit –x username:删除 Samba 账户。
  pdbedit –L:列出 Samba 用户列表,读取 passdb.tdb 数据库文件。
  pdbedit –Lv:列出 Samba 用户列表的详细信息。
  pdbedit –c “[D]” –u username:暂停该 Samba 用户的账号。
  pdbedit –c “[]” –u username:恢复该 Samba 用户的账号。
3.ldapsam:该方式则是基于 LDAP 的账户管理方式来验证用户。首先要建立 LDAP 服务,然后设置 “passdb backend = ldapsam:ldap://LDAP Server”

encrypt passwords = yes/no
说明:是否将认证密码加密。因为现在 windows 操作系统都是使用加密密码,所以一般要开启此项。不过配置文件默认已开启。

smb passwd file = /etc/samba/smbpasswd
说明:用来定义 samba 用户的密码文件。smbpasswd 文件如果没有那就要手工新建。

username map = /etc/samba/smbusers
说明:用来定义用户名映射,比如可以将 root 换成 administrator、admin 等。不过要事先在 smbusers 文件中定义好。比如:root = administrator admin,这样就可以用 administrator 或 admin 这两个用户来代替 root 登陆 Samba Server,更贴近 windows 用户的习惯。

guest account = nobody
说明:用来设置 guest 用户名。

socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
说明:用来设置服务器和客户端之间会话的 Socket 选项,可以优化传输速度。

domain master = yes/no
说明:设置 Samba 服务器是否要成为网域主浏览器,网域主浏览器可以管理跨子网域的浏览服务。

local master = yes/no
说明:local master 用来指定 Samba Server 是否试图成为本地网域主浏览器。如果设为 no,则永远不会成为本地网域主浏览器。但是即使设置为 yes,也不等于该 Samba Server 就能成为主浏览器,还需要参加选举。

preferred master = yes/no
说明:设置 Samba Server 一开机就强迫进行主浏览器选举,可以提高 Samba Server 成为本地网域主浏览器的机会。如果该参数指定为 yes 时,最好把 domain master 也指定为 yes。使用该参数时要注意:如果在本 Samba Server 所在的子网有其他的机器(不论是 windows NT 还是其他 Samba Server)也指定为首要主浏览器时,那么这些机器将会因为争夺主浏览器而在网络上大发广播,影响网络性能。
如果同一个区域内有多台 Samba Server,将上面三个参数设定在一台即可。

os level = 200
说明:设置 samba 服务器的 os level。该参数决定 Samba Server 是否有机会成为本地网域的主浏览器。os level 从 0 到 255,winNT 的 os level 是 32,win95/98 的 os level 是 1。Windows 2000 的 os level 是 64。如果设置为 0,则意味着 Samba Server 将失去浏览选择。如果想让 Samba Server 成为 PDC,那么将它的 os level 值设大些。

domain logons = yes/no
说明:设置 Samba Server 是否要做为本地域控制器。主域控制器和备份域控制器都需要开启此项。

logon script = %u.bat
说明:当使用者用 windows 客户端登陆,那么 Samba 将提供一个登陆档。如果设置成 % u.bat,那么就要为每个用户提供一个登陆档。如果人比较多, 那就比较麻烦。可以设置成一个具体的文件名,比如 start.bat,那么用户登陆后都会去执行 start.bat,而不用为每个用户设定一个登陆档了。 这个文件要放置在 [netlogon] 的 path 设置的目录路径下。

wins support = yes/no
说明:设置 samba 服务器是否提供 wins 服务。

wins server = wins 服务器 IP 地址
说明:设置 Samba Server 是否使用别的 wins 服务器提供 wins 服务。

wins proxy = yes/no
说明:设置 Samba Server 是否开启 wins 代理服务。

dns proxy = yes/no
说明:设置 Samba Server 是否开启 dns 代理服务。

load printers = yes/no
说明:设置是否在启动 Samba 时就共享打印机。

printcap name = cups
说明:设置共享打印机的配置文件。

printing = cups
说明:设置 Samba 共享打印机的类型。现在支持的打印系统有:bsd, sysv, plp, lprng, aix, hpux, qnx
 
共享参数:
#================== Share Definitions ==================
[共享名]

comment = 任意字符串
说明:comment 是对该共享的描述,可以是任意字符串。

path = 共享目录路径
说 明:path 用来指定共享目录的路径。可以用 % u、% m 这样的宏来代替路径里的 unix 用户和客户机的 Netbios 名,用宏表示主要用于 [homes] 共享域。例如:如果我们不打算用 home 段做为客户的共享,而是在 /home/share/ 下为每个 Linux 用户以他的用户名建个目录,作为他的共享目 录,这样 path 就可以写成:path = /home/share/% u; 。用户在连接到这共享时具体的路径会被他的用户名代替,要注意这个用户名路径一定要存在,否则,客户机在访问时会找不到网络路径。同样,如果我们不是以用 户来划分目录,而是以客户机来划分目录,为网络上每台可以访问 samba 的机器都各自建个以它的 netbios 名的路径,作为不同机器的共享资源,就可以 这样写:path = /home/share/% m 。

browseable = yes/no
说明:browseable 用来指定该共享是否可以浏览。

writable = yes/no
说明:writable 用来指定该共享路径是否可写。

available = yes/no
说明:available 用来指定该共享资源是否可用。

admin users = 该共享的管理者
说明:admin users 用来指定该共享的管理员(对该共享具有完全控制权限)。在 samba 3.0 中,如果用户验证方式设置成 “security=share” 时,此项无效。
例如:admin users =david,sandy(多个用户中间用逗号隔开)。

valid users = 允许访问该共享的用户
说明:valid users 用来指定允许访问该共享资源的用户。
例如:valid users = david,@dave ,@tech(多个用户或者组中间用逗号隔开,如果要加入一个组就用 “@组名” 表示。)

invalid users = 禁止访问该共享的用户
说明:invalid users 用来指定不允许访问该共享资源的用户。
例如:invalid users = root,@bob(多个用户或者组中间用逗号隔开。)

write list = 允许写入该共享的用户
说明:write list 用来指定可以在该共享下写入文件的用户。
例如:write list = david,@dave

public = yes/no
说明:public 用来指定该共享是否允许 guest 账户访问。

guest ok = yes/no
说明:意义同 “public”。
 
几个特殊共享:
[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
 
[netlogon]
comment = Network Logon Service
path = /var/lib/samba/netlogon
guest ok = yes
writable = no
share modes = no
 
[Profiles]
path = /var/lib/samba/profiles
browseable = no
guest ok = yes

Samba 安装好后,使用 testparm 命令可以测试 smb.conf 配置是否正确。使用 testparm –v 命令可以详细的列出 smb.conf 支持的配置参数。

默认的 smb.conf 有很多个选项和内容,比较繁琐,这里我们按照案例来讲解配置选项,先备份一下自己的 smb.conf 文件,然后重新建立一个 smb.conf。

# cp -p /etc/samba/smb.conf    /etc/samba/smb.conf.orig

案例一、公司现有一个工作组 workgroup,需要添加 samba 服务器作为文件服务器,并发布共享目录 /share,共享名为 public,此共享目录允许所有员工访问。

a. 修改 samba 的主配置文件如下:

复制代码

#======================= Global Settings =====================================

[global]                                                  //该设置与Samba服务整体运行环境有关,它的设置项目针对所有共享资源       # ----------------------- Network 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

        workgroup = WORKGROUP                             //定义工作组,也就是windows中的工作组概念
        server string = David Samba Server Version %v     //定义Samba服务器的简要说明
        netbios name = DavidSamba                         //定义windows中显示出来的计算机名称

# --------------------------- Logging Options -----------------------------
#
# Log File let you specify where to put logs and how to split them up.

        log file = /var/log/samba/log.%m                  //定义Samba用户的日志文件,%m代表客户端主机名
                                                          //Samba服务器会在指定的目录中为每个登陆主机建立不同的日志文件# ----------------------- Standalone Server Options ------------------------
#
# Scurity can be set to user, share(deprecated) or server(deprecated)

        security = share                                  //共享级别,用户不需要账号和密码即可访问

#============================ Share Definitions ==============================

[public]                                                  //设置针对的是共享目录个别的设置,只对当前的共享资源起作用
        comment = Public Stuff                            //对共享目录的说明文件,自己可以定义说明信息
        path = /share                                     //用来指定共享的目录,必选项
        public = yes                                      //所有人可查看,等效于guest ok = yes

复制代码

b. 建立共享目录

上面设置了共享目录为 /share,下面就需要建立 /share 目录:

由于要设置匿名用户可以下载或上传共享文件,所以要给 /share 目录授权为 nobody 权限。

c. 重启 smb 服务

d. 测试 smb.conf 配置是否正确

e. 访问 Samba 服务器的共享文件

  • 在 Linux 下访问 Samba 服务器的共享文件

  • 在 windows 下访问 Samba 服务器的共享文件

案例二、公司现有多个部门,因工作需要,将 TS 部的资料存放在 samba 服务器的 /ts 目录中集中管理,以便 TS 人员浏览,并且该目录只允许 TS 部员工访问。

a. 添加 TS 部组和用户

建立用户的同时加入到相应的组中的方式:useradd -g 组名 用户名

b. 在根目录下建立 /ts 文件夹

c. 将刚才建立的两个帐户添加到 samba 的账户中

d. 修改主配置文件如下:

复制代码

#======================= Global Settings =====================================

[global]

# ----------------------- Network 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

        workgroup = WORKGROUP
        server string = David Samba Server Version %v
        netbios name = DavidSamba

# --------------------------- Logging Options -----------------------------
#
# Log File let you specify where to put logs and how to split them up.

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

# ----------------------- Standalone Server Options ------------------------
#
# Scurity can be set to user, share(deprecated) or server(deprecated)

        security = user                                   //用户级别,由提供服务的Samba服务器负责检查账户和密码#============================ Share Definitions ==============================

[homes]                                                   //设置用户宿主目录
        comment = Home Directories
        browseable = no
        writable = yes
;       valid users = %S
;       valid users = MYDOMAIN\%S

[public]
        comment = Public Stuff
        path = /share
        public = yes

[ts]                                                      //ts 组目录,只允许ts组成员访问
        comment = TS
        path = /ts
        valid users = @ts

复制代码

e. 重新加载配置

f. 到 windows 客户端验证,访问 \\10.0.0.163,提示输入用户名和密码,在此输入 sandy 验证,如下图:

g. 访问成功,可以看到公共的 public 目录,用户 sandy 的宿主目录,和其有权限访问的 ts 目录

h. 进入 ts 目录,有刚才创建的 newyork.city 文件

案例三、实现不同的用户访问同一个共享目录具有不同的权限,便于管理和维护。基本上能满足一些企业用户的需求。(整理自网络)

a. 需求

1. 某公司有 5 个大部门,分别为:人事行政部(HR & Admin Dept)、财务部(Financial Management Dept)、技术支持部(Technical Support Dept)、项目部(Project Dept)、客服部(Customer Service Dept)。
2. 各部门的文件夹只允许本部门员工有权访问;各部门之间交流性质的文件放到公用文件夹中。
3. 每个部门都有一个管理本部门文件夹的管理员账号和一个只能新建和查看文件的普通用户权限的账号。
4. 公用文件夹中分为存放工具的文件夹和存放各部门共享文件的文件夹。
5. 对于各部门自己的文件夹,各部门管理员具有完全控制权限,而各部门普通用户可以在该部门文件夹下新建文件及文件夹,并且对于自己新建的文件及文件夹有完全控制权限,对于管理员新建及上传的文件和文件夹只能访问,不能更改和删除。不是本部门用户不能访问本部门文件夹。
6. 对于公用文件夹中的各部门共享文件夹,各部门管理员具有完全控制权限,而各部门普通用户可以在该部门文件夹下新建文件及文件夹,并且对于自己新建的文件及文件夹有完全控制权限,对于管理员新建及上传的文件和文件夹只能访问,不能更改和删除。本部门用户(包括管理员和普通用户)在访问其他部门共享文件夹时,只能查看不能修改删除新建。对于存放工具的文件夹,只有管理员有权限,其他用户只能访问。

b. 规划

根据公司需求情况,现做出如下规划:
1. 在系统分区时单独分一个 Company 的区,在该区下有以下几个文件夹:HR、 FM、TS、PRO、CS 和 Share。在 Share 下又有以下几个文件夹:HR、FM、TS、PRO、CS 和 Tools。
2. 各部门对应的文件夹由各部门自己管理,Tools 文件夹由管理员维护。
3. HR 管理员账号:hradmin;普通用户账号:hruser。
   FM 管理员账号:fmadmin;普通用户账号:fmuser。
   TS 管理员账号:tsadmin;普通用户账号:tsuser。
   PRO 管理员账号:proadmin;普通用户账号:prouser。
   CS 管理员账号:csadmin;普通用户账号:csuser。
   Tools 管理员账号:admin。

文件夹之间的关系见下图:

c. 新建用户

使用 useradd 命令新建系统账户,然后再使用 smbpasswd –a 建立 SMB 账户。

复制代码

[root@TS-DEV ~]# useradd -s /sbin/nologin hradmin          
[root@TS-DEV ~]# useradd -g hradmin -s /sbin/nologin hruser
[root@TS-DEV ~]# useradd -s /sbin/nologin fmadmin            
[root@TS-DEV ~]# useradd -g fmadmin -s /sbin/nologin fmuser     
[root@TS-DEV ~]# useradd -s /sbin/nologin tsadmin
[root@TS-DEV ~]# useradd -g tsadmin -s /sbin/nologin tsuser
[root@TS-DEV ~]# useradd -s /sbin/nologin proadmin         
[root@TS-DEV ~]# useradd -g proadmin -s /sbin/nologin prouser 
[root@TS-DEV ~]# useradd -s /sbin/nologin csadmin
[root@TS-DEV ~]# useradd -g csadmin -s /sbin/nologin csuser
[root@TS-DEV ~]# useradd -s /sbin/nologin admin            
[root@TS-DEV ~]

[root@TS-DEV ~]# smbpasswd -a hradmin
New SMB password:
Retype new SMB password:
Added user fmuser.
[root@TS-DEV ~]# smbpasswd -a hruser
[root@TS-DEV ~]# smbpasswd -a fmadmin
[root@TS-DEV ~]# smbpasswd -a fmuser
[root@TS-DEV ~]# smbpasswd -a tsadmin
[root@TS-DEV ~]# smbpasswd -a tsuser
[root@TS-DEV ~]# smbpasswd -a proadmin
[root@TS-DEV ~]# smbpasswd -a prouser
[root@TS-DEV ~]# smbpasswd -a csadmin 
[root@TS-DEV ~]# smbpasswd -a csuser
[root@TS-DEV ~]# smbpasswd -a admin    
[root@TS-DEV ~]#

复制代码

d. 新建目录

e. 更改目录属性

[root@TS-DEV Company]# chown hradmin.hradmin HR
[root@TS-DEV Company]# chown fmadmin.fmadmin FM
[root@TS-DEV Company]# chown tsadmin.tsadmin TS    
[root@TS-DEV Company]# chown proadmin.proadmin PRO    
[root@TS-DEV Company]# chown csadmin.csadmin CS      
[root@TS-DEV Company]# chown admin.admin Share

[root@TS-DEV Company]# cd Share/
[root@TS-DEV Share]# chown hradmin.hradmin HR && chown fmadmin.fmadmin FM && chown tsadmin.tsadmin TS && chown proadmin.proadmin PRO && chown csadmin.csadmin CS && chown admin.admin Tools
[root@TS-DEV Share]# chmod 1775 HR FM TS PRO CS

f. 配置 samba 如下:

复制代码

#======================= Global Settings =====================================

[global]

# ----------------------- Network 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

        workgroup = WORKGROUP
        server string = David Samba Server Version %v
        netbios name = DavidSamba

# --------------------------- Logging Options -----------------------------
#
# Log File let you specify where to put logs and how to split them up.

        log file = /var/log/samba/log.%m
        max log size = 50

# ----------------------- Standalone Server Options ------------------------
#
# Scurity can be set to user, share(deprecated) or server(deprecated)

        security = user
        passdb backend = tdbsam

#============================ Share Definitions ==============================

[HR]
     comment = This is a directory of HR.
     path = /Company/HR/
     public = no
     admin users = hradmin
     valid users = @hradmin
     writable = yes
     create mask = 0750
     directory mask = 0750
 
[FM]
     comment = This is a directory of FM.
     path = /Company/FM/
     public = no
     admin users = fmadmin
     valid users = @fmadmin
     writable = yes
     create mask = 0750
     directory mask = 0750
 
[TS]
     comment = This is a directory of TS.
     path = /Company/TS/
     public = no
     admin users = tsadmin
     valid users = @tsadmin
     writable = yes
     create mask = 0750
     directory mask = 0750
 
[PRO]
     comment = This is a PRO directory.
     path = /Company/PRO/
     public = no
     admin users = proadmin
     valid users = @proadmin
     writable = yes
     create mask = 0750
     directory mask = 0750
 
[CS]
     comment = This is a directory of CS.
     path = /Company/CS/
     public = no
     admin users = csadmin
     valid users = @csadmin
     writable = yes
     create mask = 0750
     directory mask = 0750
 
[Share]
     comment = This is a share directory.
     path = /Company/Share/
     public = no
     valid users = admin,@hradmin,@fmadmin,@tsadmin,@proadmin,@csadmin
     writable = yes
     create mask = 0755
     directory mask = 0755

复制代码

g. 测试

以 hradmin 登录系统

试图访问 ts 部门文件夹,要求输入用户名及密码

试图在 \\10.0.0.163\Share\TS 下新建文件

在自己部门所属文件夹下新建成功

其他测试自行完成。

配置完毕。

五、将共享目录映射成 Windows 的驱动器

将 Samba 共享的 public 目录,映射成 Windows 的一个驱动器盘符:

a. 右击 “计算机”-->“映射网络驱动器”

b. 在文件夹栏输入共享地址及路径,点击 “完成” 输入用户名和密码

c. 映射完毕后,打开资源管理器可以看到映射的共享目录

Tips:

在 windows 下通过 “\\ip 地址” 的方式访问其它文件资源时,一般第一次需要输入密码,以后就无需输入密码直接登陆了,那么如果我们要切换到其它 Samba 用户怎么办呢?可以在 windows 下执行如下指令实现:
首先通过开始 --> 运行 -->cmd 输入:“net use” 命令查看现有的连接,然后执行 “net use \\Samba 服务器 IP 地址或者 netbios 名称 \ipc$  /del”,删除 Samba 服务器已经建立的连接。或者执行 “net use * /del” 将现在所有的连接全部删除。最后,再次执行 “\\ip 地址” 时,就可以切换用户了。

六、Linux 客户端访问操作

上面介绍了 windows 客户端访问 Samba 服务器的操作,那么在 Linux 作为客户端时,查看其它 Linux Samba 服务器共享的文件时,应该如何操作呢?

这就要用到 smbclient 这个工具,系统默认自带了这个命令,Smbclient 常见用法介绍如下:

1、查看 Samba 服务器的共享资料

# smbclient  –L  //Samba 服务器的 ip 地址  -U  Samba 用户名

 “-L” 即为 list 的含义,“-U” 是 user 的意思,如果 Samba 服务器是无密码访问的话,可以省略 “-U  Samba 用户名”。

例如:samba 需要密码登陆时,查看共享方法如下:

# smbclient  -L //10.0.0.163/public –U david

Samba 无密码访问时,执行如下命令:

# smbclient  -L //10.0.0.163/public

password: 直接回车即可。

2、登陆 Samba 服务器

如果需要在 Linux 客户端登陆 Samba 服务器,用法如下:

# smbclient  //Samba 服务器的 ip 地址  -U  Samba 用户名

请看下面执行的操作:

# smbclient //10.0.0.163/public -U david

smb: \> ?                     // 在这里输入?即可查看在 smb 命令行可用的所有命令。

操作过程与登陆 FTP 服务器很类似,登陆 Samba 服务器后,就可以进行文件的上传与下载,如果有足够的权限,还可以进行修改文件操作。

此外,Samba 服务器共享出来的文件还可以在 Linux 客户端进行挂载,这就要用到 mount 命令,如下所示:

# mount -t cifs -l //10.0.0.163/public /mnt/samba/

七、Samba Web 管理工具 SWAT

SWAT(Samba WEB Administration Tool) 是通过浏览器对 Samba 进行管理的工具之一。通过 SWAT,可以在 Samba 允许访问范围内的客户端,用浏览器对服务端的 Samba 进行控制。在线文档的阅览、smb.conf 的确认和编辑,以及密码的变更、服务的重启等等都可以通过 SWAT 来完成,它的直观让 Samba 变得温和化,对那些不喜欢文本界面管理服务器的朋友来说,是一个强大的工具。

swat 工具嵌套在 xinetd 超级守护进程中,要通过启用 xinetd 进程来启用 swat。因此要先安装 xinetd 工具包,然后安装 swat 工具包。上面已经安装过 samba-swat-3.5.10-125.el6.x86_64,这里不再赘述。

1、配置 swat

因为 swat 是 xinetd 超级守护进程的一个子进程,所以 swat 工具配置文件在 xinetd 目录中。我们要设置 swat 配置文件,开启此子进程,以便在启用 xinetd 进程是来启用 swat。swat 配置文件在 /etc/xinetd.d 目录中。

打开并编辑 /etc/xinetd.d/swat

复制代码

# default: off
# description: SWAT is the Samba Web Admin Tool. Use swat \
#              to configure your Samba server. To use SWAT, \
#              connect to port 901 with your favorite web browser.
service swat
{
        port            = 901                    //swat默认使用tcp的901端口, 可以修改
        socket_type     = stream                 //通过web来配置samba, 默认使用root账号进入, 可以修改成其他的系统用户
        wait            = no
        only_from       = 127.0.0.1              
       only_from       = 10.0.0.0               //添加此行, 将“only_from=127.0.0.1”改成“only_from=10.0.0.0”, 只允许内网范围对SWAT进行访问        user            = root        server          = /usr/sbin/swat         //swat的执行程序默认在/usr/sbin目录下        log_on_failure  += USERID        disable         = yes                    //将“disable=yes”改成“disable=no”, 这样swat子进程就可以随xinetd超级守护进程一起启动了}

复制代码

2、启动 swat

因为 swat 是 xinetd 的子进程,所以只要启用了 xinetd,那么 swat 也就会伴随 xinetd 启动。

3、打开 swat

在服务端启动 swat 后,我们就可以通过 swat 允许范围内的客户机的浏览器中,通过 http:// 服务器的内网 IP:901 来访问服务端的 swat 了,输入 root 用户的用户名及密码进入 swat 的管理首页,如下所示:

swat 管理中心的首页

通过 swat 管理 Samba 与直接修改 smb.conf 的方式,在本质上并无差异,但通过浏览器访问的方式,可以使 Samba 的管理更加温和化,更加适用于不擅长使用文本界面、直接修改配置文件的朋友。

4、通过 swat 配置 samba

在 swat 页面我们可以看到有 8 个选项,每个选项可以配置 samba 的不同功能。

HOME:Samba 相关程序及文件说明。

GLOBALS:设置 Samba 的全局参数。即 smb.conf 文件的 [global]。

SHARES:设置 Samba 的共享参数。

PRINTERS:设置 Samba 的打印参数。

WIZARD:Samba 配置向导。

STATUS:查看和设置 Samba 的服务状况。

VIEW:查看 Samba 的文本配置文件,即 smb.conf。

PASSWORD:设置 Samba 用户,可以修改密码,新建删除用户。

详细设置请自行查阅资料,以下仅供参考:

http://yuanbin.blog.51cto.com/363003/117105

至此,Samba 服务器的所有配置完成。


CentOS 6.3下rsync服务器的安装与配置

CentOS 6.3下rsync服务器的安装与配置

CentOS 6.3下rsync服务器的安装与配置

一、rsync 简介

  Rsync(remote synchronize)是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件,也可以使用 Rsync 同步本地硬盘中的不同目录。

  Rsync 是用于取代rcp的一个工具,Rsync使用所谓的 “Rsync 算法” 来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。您可以参考How Rsync Works A Practical Overview进一步了解 rsync 的运作机制。

  Rsync支持大多数的类Unix系统,无论是Linux、Solaris还是BSD上都经过了良好的测试。此外,它在windows平台下也有相应的版本,比较知名的有cwRsync和Sync2NAS。

  Rsync 的初始作者是 Andrew Tridgell 和 Paul Mackerras,它当前由http://rsync.samba.org维护。

  Rsync的基本特点如下:

  1. 可以镜像保存整个目录树和文件系统;

  2. 可以很容易做到保持原来文件的权限、时间、软硬链接等;

  3. 无须特殊权限即可安装;

  4. 优化的流程,文件传输效率高;

  5. 可以使用rcp、ssh等方式来传输文件,当然也可以通过直接的socket连接;

  6. 支持匿名传输,以方便进行网站镜像。

  在使用 rsync 进行远程同步时,可以使用两种方式:远程 Shell 方式(建议使用 ssh,用户验证由 ssh 负责)和 C/S 方式(即客户连接远程 rsync 服务器,用户验证由 rsync 服务器负责)。

  无论本地同步目录还是远程同步数据,首次运行时将会把全部文件拷贝一次,以后再运行时将只拷贝有变化的文件(对于新文件)或文件的变化部分(对于原有文件)。

  rsync 在首次复制时没有速度优势,速度不如 tar,因此当数据量很大时您可以考虑先使用 tar 进行首次复制,然后再使用 rsync 进行数据同步。

二、系统环境

系统平台:CentOS release 6.3 (Final)

rsync 版本:rsync-3.0.9-2.el6.rfx.x86_64.rpm

rsync 服务器:TS-DEV (172.16.1.135)

rsync 客户端:TS-CLIENT (172.16.1.136)

三、服务器端安装rsync服务

3.1. 检查rsync 是否已经安装

# rpm -qa|grep rsync

若已经安装,则使用rpm -e 命令卸载。

3.2. 下载RPM包

# wget http://pkgs.repoforge.org/rsync/rsync-3.0.9-2.el6.rfx.x86_64.rpm

3.3. 安装rsync

# rpm -ivh rsync-3.0.9-2.el6.rfx.x86_64.rpm

四、配置 rsync 服务

4.1. 配置 rsync 服务器的步骤

  • 首先要选择服务器启动方式

    • 对于负荷较重的 rsync 服务器应该使用独立运行方式

    • 对于负荷较轻的 rsync 服务器可以使用 xinetd 运行方式

  • 创建配置文件 rsyncd.conf

  • 对于非匿名访问的 rsync 服务器还要创建认证口令文件

4.2. 以 xinetd 运行 rsync 服务

CentOS 默认以 xinetd 方式运行 rsync 服务。rsync 的 xinetd 配置文件
在 /etc/xinetd.d/rsync。要配置以 xinetd 运行的 rsync 服务需要执行如下的命令:

#chkconfigrsyncon
#servicexinetdrestart

管理员可以修改 /etc/xinetd.d/rsync 配置文件以适合您的需要。例如,您可以修改配置行

server_args=--daemon

在后面添加 rsync 的服务选项。

4.3. 独立运行 rsync 服务

最简单的独立运行 rsync 服务的方法是执行如下的命令:

#/usr/bin/rsync--daemon

您可以将上面的命令写入 /etc/rc.local 文件以便在每次启动服务器时运行 rsync 服务。当然,您也可以写一个脚本在开机时自动启动 rysnc 服务。

4.4.配置文件 rsyncd.conf

两种 rsync 服务运行方式都需要配置 rsyncd.conf,其格式类似于 samba 的主配置文件。
配置文件 rsyncd.conf 默认在 /etc 目录下。为了将所有与 rsync 服务相关的文件放在单独的目录下,可以执行如下命令:

#mkdir/etc/rsyncd
#touch/etc/rsyncd/rsyncd.conf
#ln-s/etc/rsyncd/rsyncd.conf/etc/rsyncd.conf

配置文件 rsyncd.conf 由全局配置和若干模块配置组成。配置文件的语法为:

  • 模块以 [模块名] 开始

  • 参数配置行的格式是 name = value ,其中 value 可以有两种数据类型:

    • 字符串(可以不用引号定界字符串)

    • 布尔值(1/0 或 yes/no 或 true/false)

  • 以 # 或 ; 开始的行为注释

  • \ 为续行符

全局参数

在文件中 [module] 之外的所有配置行都是全局参数。当然也可以在全局参数部分定义模块参数,这时该参数的值就是所有模块的默认值。

参数 说明 默认值
address 在独立运行时,用于指定的服务器运行的 IP 地址。由 xinetd 运行时将忽略此参数,使用命令行上的 �address 选项替代。 本地所有IP
port 指定 rsync 守护进程监听的端口号。 由 xinetd 运行时将忽略此参数,使用命令行上的�port 选项替代。 873
motd file 指定一个消息文件,当客户连接服务器时该文件的内容显示给客户。
pid file rsync 的守护进程将其 PID 写入指定的文件。
log file 指定 rsync 守护进程的日志文件,而不将日志发送给 syslog。
syslog facility 指定 rsync 发送日志消息给 syslog 时的消息级别。 daemon
socket options 指定自定义 TCP 选项。

模块参数

模块参数主要用于定义 rsync 服务器哪个目录要被同步。模块声明的格式必须为 [module] 形式,这个名字就是在 rsync 客户端看到的名字,类似于 Samba 服务器提供的共享名。而服务器真正同步的数据是通过 path 来指定的。可以根据自己的需要,来指定多个模块,模块中可以定义以下参数:

a. 基本模块参数

默认值
path 指定当前模块在 rsync 服务器上的同步路径,该参数是必须指定的。
comment 给模块指定一个描述,该描述连同模块名在客户连接得到模块列表时显示给客户。

b. 模块控制参数

默认值
use chroot 若为 true,则 rsync 在传输文件之前首先 chroot 到 path 参数所指定的目录下。这样做的原因是实现额外的安全防护,但是缺点是需要 root 权限,并且不能备份指向 path 外部的符号连接所指向的目录文件。 true
uid 指定该模块以指定的 UID 传输文件。 nobody
gid 指定该模块以指定的 GID 传输文件。 nobody
max connections 指定该模块的最大并发连接数量以保护服务器,超过限制的连接请求将被告知随后再试。 0(没有限制)
lock file 指定支持 max connections 参数的锁文件。 /var/run/rsyncd.lock
list 指定当客户请求列出可以使用的模块列表时,该模块是否应该被列出。如果设置该选项为 false,可以创建隐藏的模块。 true
read only 指定是否允许客户上传文件。若为 true 则不允许上传;若为 false 并且服务器目录也具有读写权限则允许上传。 true
write only 指定是否允许客户下载文件。若为 true 则不允许下载;若为 false 并且服务器目录也具有读权限则允许下载。 false
ignore errors 指定在 rsync 服务器上运行 delete 操作时是否忽略 I/O 错误。一般来说 rsync 在出现 I/O 错误时将将跳过 �delete 操作,以防止因为暂时的资源不足或其它 I/O 错误导致的严重问题。 true
ignore nonreadable 指定 rysnc 服务器完全忽略那些用户没有访问权限的文件。这对于在需要备份的目录中有些不应该被备份者获得的文件时是有意义的。 false
timeout 该选项可以覆盖客户指定的 IP 超时时间。从而确保 rsync 服务器不会永远等待一个崩溃的客户端。对于匿名 rsync 服务器来说,理想的数字是 600(单位为秒)。 0 (未限制)
dont compress 用来指定那些在传输之前不进行压缩处理的文件。该选项可以定义一些不允许客户对该模块使用的命令选项列表。必须使用选项全名,而不能是简称。当发生拒绝某个选项的情况时,服务器将报告错误信息然后退出。例如,要防止使用压缩,应该是:”dont compress = *”。 *.gz *.tgz *.zip *.z *.rpm *.deb *.iso *.bz2 *.tbz

c. 模块文件筛选参数

默认值
exclude 指定多个由空格隔开的多个文件或目录(相对路径),并将其添加到 exclude 列表中。这等同于在客户端命令中使用 �exclude 来指定模式。
exclude from 指定一个包含 exclude 规则定义的文件名,服务器从该文件中读取 exclude 列表定义。
include 指定多个由空格隔开的多个文件或目录(相对路径),并将其添加到 include 列表中。这等同于在客户端命令中使用 �include 来指定模式 。
include from 指定一个包含 include 规则定义的文件名,服务器从该文件中读取 include 列表定义。
  • 一个模块只能指定一个exclude 参数、一个include 参数。

  • 结合 include 和 exclude 可以定义复杂的exclude/include 规则 。

  • 这几个参数分别与相应的rsync 客户命令选项等价,唯一不同的是它们作用在服务器端。

  • 关于如何书写规则文件的内容请参考http://www.howtocn.org/rsync:use_rsync。

d. 模块用户认证参数

默认值
auth users 指定由空格或逗号分隔的用户名列表,只有这些用户才允许连接该模块。这里的用户和系统用户没有任何关系。用户名和口令以明文方式存放在 secrets file 参数指定的文件中。 (匿名方式)
secrets file 指定一个 rsync 认证口令文件。只有在 auth users 被定义时,该文件才起作用。
strict modes 指定是否监测口令文件的权限。若为 true 则口令文件只能被 rsync 服务器运行身份的用户访问,其他任何用户不可以访问该文件。 true
  • rsync 认证口令文件的权限一定是 600,否则客户端将不能连接服务器。

  • rsync 认证口令文件中每一行指定一个 用户名:口令 对,格式为:

    username:passwd

  • 一般来说口令最好不要超过8个字符。若您只配置匿名访问的 rsync 服务器,则无需设置上述参数。

e. 模块访问控制参数

默认值
hosts allow 用一个主机列表指定哪些主机客户允许连接该模块。不匹配主机列表的主机将被拒绝。 *
hosts deny 用一个主机列表指定哪些主机客户不允许连接该模块。

客户主机列表定义可以是以下形式:

  • 单个IP地址。例如:192.168.0.1

  • 整个网段。例如:192.168.0.0/24,192.168.0.0/255.255.255.0

  • 可解析的单个主机名。例如:centos,centos.bsmart.cn

  • 域内的所有主机。例如:*.bsmart.cn

  • “*”则表示所有。

  • 多个列表项要用空格间隔。

f. 模块日志参数

默认值
transfer logging 使 rsync 服务器将传输操作记录到传输日志文件。 false
log format 指定传输日志文件的字段。 ”%o %h [%a] %m (%u) %f %l”

设置了”log file”参数时,在日志每行的开始会添加”%t [%p]“。

可以使用的日志格式定义符如下所示:

  • %a - 远程IP地址

  • %h - 远程主机名

  • %l - 文件长度字符数

  • %p - 该次 rsync 会话的 PID

  • %o - 操作类型:”send” 或 “recv”

  • %f - 文件名

  • %P - 模块路径

  • %m - 模块名

  • %t - 当前时间

  • %u - 认证的用户名(匿名时是 null)

  • %b - 实际传输的字节数

  • %c - 当发送文件时,记录该文件的校验码

五、rsync 服务器应用案例

5.1.在服务器端TS-DEV上配置rsync 服务

a. 编辑配置文件

# vi /etc/rsyncd/rsyncd.conf

复制代码

#Minimalconfigurationfileforrsyncdaemon
#Seersync(1)andrsyncd.conf(5)manpagesforhelp

#Thislineisrequiredbythe/etc/init.d/rsyncdscript
#GLOBALOPTIONS
uid=root
gid=root
usechroot=no
readonly=yes

#limitaccesstoprivateLANs
hostsallow=172.16.0.0/255.255.0.0192.168.1.0/255.255.255.010.0.1.0/255.255.255.0
hostsdeny=*
maxconnections=5

pidfile=/var/run/rsyncd.pid

secretsfile=/etc/rsyncd/rsyncd.secrets
#lockfile=/var/run/rsync.lock
motdfile=/etc/rsyncd/rsyncd.motd

#Thiswillgiveyouaseparatelogfile
logfile=/var/log/rsync.log

#Thiswilllogeveryfiletransferred-upto85,000+peruser,persync
transferlogging=yes

logformat=%t%a%m%f%b
syslogfacility=local3
timeout=300
#MODULEOPTIONS
[davidhome]
path=/home/david/
list=yes
ignoreerrors
authusers=david
comment=Davidhome
exclude=important/

[chinatmp]
path=/tmp/china/
list=no
ignoreerrors
authusers=china
comment=tmp_china

复制代码

b. 建立/etc/rsyncd/rsyncd.secrets文件

# vim /etc/rsyncd/rsyncd.secrets

david:asdf #格式 用户名:口令
china:jk #该用户不要求是系统用户

c. 为了密码的安全性,我们把权限设为600

# chown root:root /etc/rsyncd/rsyncd.secrets

# chmod 600 /etc/rsyncd/rsyncd.secrets

d. 建立连接到服务器的客户端看到的欢迎信息文件/etc/rsyncd/rsyncd.motd

# vim /etc/rsyncd/rsyncd.motd

+++++++++++++++++++++++++++
+ David Camp +
+++++++++++++++++++++++++++

e. 启动rsync

# /etc/init.d/xinetd restart

f. 查看873端口是否起来

# netstat -an | grep 873

如果rsync启动成功的话可以看到873端口已经在监听了。

g. 服务器端文件详细

5.2. 客户端配置

a. 客户端安装rsync

# yum -y install rsync

b. 通过rsync客户端来同步数据

场景一:

# rsync -avzP david@172.16.1.135::davidhome /tmp/david/

Password: 这里要输入david的密码,是服务器端提供的,在前面的例子中,我们用的是 asdf,输入的密码并不显示出来;输好后就回车;
注:这个命令的意思就是说,用david 用户登录到服务器上,把davidhome数据,同步到本地目录/tmp/david/上。当然本地的目录是可以你自己定义的,比如 dave也是可以的;当你在客户端上,当前操作的目录下没有davidhome这个目录时,系统会自动为你创建一个;当存在davidhome这个目录中,你要注意它的写权限。

说明:
-a 参数,相当于-rlptgoD,-r 是递归 -l 是链接文件,意思是拷贝链接文件;-p 表示保持文件原有权限;-t 保持文件原有时间;-g 保持文件原有用户组;-o 保持文件原有属主;-D 相当于块设备文件;
-z 传输时压缩;
-P 传输进度;
-v 传输时的进度等信息,和-P有点关系,自己试试。可以看文档;

场景二:
# rsync -avzP --delete david@172.16.1.135::davidhome /tmp/david/

这回我们引入一个 �delete 选项,表示客户端上的数据要与服务器端完全一致,如果 /tmp/david/目录中有服务器上不存在的文件,则删除。最终目的是让/tmp/david/目录上的数据完全与服务器上保持一致;用的时候要小心点,最好不要把已经有重要数所据的目录,当做本地更新目录,否则会把你的数据全部删除;

场景三:
# rsync -avzP --delete --password-file=/tmp/rsync.password david@172.16.1.135::davidhome /tmp/david/

这次我们加了一个选项 �password-file=rsync.password ,这时当我们以david用户登录rsync服务器同步数据时,密码将读取 /tmp/rsync.password 这个文件。这个文件内容只是david用户的密码。我们要如下做;

# touch /tmp/rsync.password
# chmod 600 /tmp/rsync.password
# echo "asdf"> /tmp/rsync.password
# rsync -avzP --delete --password-file=/tmp/rsync.password david@172.16.1.135::davidhome /tmp/david/

注:这样就不需要密码了;其实这是比较重要的,因为服务器通过crond 计划任务还是有必要的;

5.3. rsync 客户端自动与服务器同步数据

编辑crontab
# crontab -e
加入如下代码:

100***rsync-avzP--delete--password-file=/tmp/rsync.passworddavid@172.16.1.135::davidhome/tmp/david/

表示每天0点10分执行后面的命令。

六、错误分析

@ERROR: chdir Failed

rsync error: error starting client-server protocol (code 5) at main.c(1530) [receiver=3.0.6]

rsync: opendir "." (in xxxxxxx) Failed: Permission denied (13)

解决办法:

1、将 selinux 对 rsync 的限制全部去掉:
# /usr/sbin/setsebool -P rsync_disable_trans 1
# service xinetd restart

2、狠一点,禁止整个 selinux :
# vim /etc/selinux/config
将其中的 SELINUX=enforcing 修改为 SELINUX=disabled
保存退出后,重启机器。

至此,rsync服务器配置完毕。

七、参考

关于rsync 命令的使用,请参考:http://www.howtocn.org/rsync:use_rsync

关于rsync 服务的详细说明,请参考:http://www.howtocn.org/rsync:use_rsync_server

http://www.cnblogs.com/mchina/p/2829944.html

CentOS 6.3下Samba服务器的安装与配置

CentOS 6.3下Samba服务器的安装与配置

一、简介

  Samba是一个能让Linux系统应用Microsoft网络通讯协议的软件,而SMB是Server Message Block的缩写,即为服务器消息块 ,SMB主要是作为Microsoft的网络通讯协议,后来Samba将SMB通信协议应用到了Linux系统上,就形成了现在的Samba软件。后来微软又把 SMB 改名为 CIFS(Common Internet File System),即公共 Internet 文件系统,并且加入了许多新的功能,这样一来,使得Samba具有了更强大的功能。

  Samba最大的功能就是可以用于Linux与windows系统直接的文件共享和打印共享,Samba既可以用于windows与Linux之间的文件共享,也可以用于Linux与Linux之间的资源共享,由于NFS(网络文件系统)可以很好的完成Linux与Linux之间的数据共享,因而 Samba较多的用在了Linux与windows之间的数据共享上面。

  SMB是基于客户机/服务器型的协议,因而一台Samba服务器既可以充当文件共享服务器,也可以充当一个Samba的客户端,例如,一台在Linux 下已经架设好的Samba服务器,windows客户端就可以通过SMB协议共享Samba服务器上的资源文件,同时,Samba服务器也可以访问网络中 其它windows系统或者Linux系统共享出来的文件。
Samba在windows下使用的是NetBIOS协议,如果你要使用Linux下共享出来的文件,请确认你的windows系统下是否安装了NetBIOS协议。

  组成Samba运行的有两个服务,一个是SMB,另一个是NMB;SMB是Samba 的核心启动服务,主要负责建立 Linux Samba服务器与Samba客户机之间的对话, 验证用户身份并提供对文件和打印系统的访问,只有SMB服务启动,才能实现文件的共享,监听139 TCP端口;而NMB服务是负责解析用的,类似与DNS实现的功能,NMB可以把Linux系统共享的工作组名称与其IP对应起来,如果NMB服务没有启动,就只能通过IP来访问共享文件,监听137和138 UDP端口。

  例如,某台Samba服务器的IP地址为10.0.0.163,对应的工作组名称为davidsamba,那么在Windows的IE浏览器输入下面两条指令都可以访问共享文件。其实这就是Windows下查看Linux Samba服务器共享文件的方法。
  \\10.0.0.163\共享目录名称
  \\davidsamba\共享目录名称

  Samba服务器可实现如下功能:WINS和DNS服务; 网络浏览服务; Linux和Windows域之间的认证和授权; UNICODE字符集和域名映射;满足CIFS协议的UNIX共享等。

二、系统环境

系统平台:CentOS release 6.3 (Final)

Samba版本:samba-3.5.10-125.el6.x86_64

Samba Server IP:10.0.0.163

防火墙已关闭/iptables: Firewall is not running.

SELINUX=disabled

三、安装Samba服务

1、在可以联网的机器上使用yum工具安装,如果未联网,则挂载系统光盘进行安装。

# yum install samba samba-client samba-swat

有依赖关系的包samba-common、samba-winbind-clients、libsmbclient将自动安装上去。

2、查看安装状况

3、安装包说明

samba-common-3.5.10-125.el6.x86_64               //主要提供samba服务器的设置文件与设置文件语法检验程序testparm
samba-client-3.5.10-125.el6.x86_64                    //客户端软件,主要提供linux主机作为客户端时,所需要的工具指令集
samba-swat-3.5.10-125.el6.x86_64                    //基于https协议的samba服务器web配置界面
samba-3.5.10-125.el6.x86_64                            //服务器端软件,主要提供samba服务器的守护程序,共享文档,日志的轮替,开机默认选项

Samba服务器安装完毕,会生成配置文件目录/etc/samba和其它一些samba可执行命令工具,/etc/samba/smb.conf是samba的核心配置文件,/etc/init.d/smb是samba的启动/关闭文件。

4、启动Samba服务器

可以通过/etc/init.d/smb start/stop/restart来启动、关闭、重启Samba服务,启动SMB服务如下所示:

5、查看samba的服务启动情况

# service smb status

6、设置开机自启动

# chkconfig --level 35 smb on             //在3、5级别上自动运行samba服务

四、配置Samba服务

Samba的主配置文件为/etc/samba/smb.conf

主配置文件由两部分构成

  • Global Settings (55-245行)

  该设置都是与Samba服务整体运行环境有关的选项,它的设置项目是针对所有共享资源的。

  • Share Definitions (246-尾行)

  该设置针对的是共享目录个别的设置,只对当前的共享资源起作用。

全局参数:

#==================Global Settings ===================
[global]

config file = /usr/local/samba/lib/smb.conf.%m
说明:config file可以让你使用另一个配置文件来覆盖缺省的配置文件。如果文件不存在,则该项无效。这个参数很有用,可以使得samba配置更灵活,可以让一台 samba服务器模拟多台不同配置的服务器。比如,你想让PC1(主机名)这台电脑在访问Samba Server时使用它自己的配置文件,那么先在/etc/samba/host/下为PC1配置一个名为smb.conf.pc1的文件,然后在 smb.conf中加入:config file = /etc/samba/host/smb.conf.%m。这样当PC1请求连接Samba Server时,smb.conf.%m就被替换成smb.conf.pc1。这样,对于PC1来说,它所使用的Samba服务就是由 smb.conf.pc1定义的,而其他机器访问Samba Server则还是应用smb.conf。

workgroup = WORKGROUP
说明:设定 Samba Server 所要加入的工作组或者域。

server string = Samba Server Version %v
说明:设定 Samba Server 的注释,可以是任何字符串,也可以不填。宏%v表示显示Samba的版本号。

netbios name = smbserver
说明:设置Samba Server的NetBIOS名称。如果不填,则默认会使用该服务器的DNS名称的第一部分。netbios name和workgroup名字不要设置成一样了。

interfaces = lo eth0 192.168.12.2/24 192.168.13.2/24
说明:设置Samba Server监听哪些网卡,可以写网卡名,也可以写该网卡的IP地址。

hosts allow = 127. 192.168.1. 192.168.10.1
说明:表示允许连接到Samba Server的客户端,多个参数以空格隔开。可以用一个IP表示,也可以用一个网段表示。hosts deny 与hosts allow 刚好相反。
例如:hosts allow=172.17.2.EXCEPT172.17.2.50
表示容许来自172.17.2.*的主机连接,但排除172.17.2.50
hosts allow=172.17.2.0/255.255.0.0
表示容许来自172.17.2.0/255.255.0.0子网中的所有主机连接
hosts allow=M1,M2
表示容许来自M1和M2两台计算机连接
hosts allow=@pega
表示容许来自pega网域的所有计算机连接

max connections = 0
说明:max connections用来指定连接Samba Server的最大连接数目。如果超出连接数目,则新的连接请求将被拒绝。0表示不限制。

deadtime = 0
说明:deadtime用来设置断掉一个没有打开任何文件的连接的时间。单位是分钟,0代表Samba Server不自动切断任何连接。

time server = yes/no
说明:time server用来设置让nmdb成为windows客户端的时间服务器。

log file = /var/log/samba/log.%m
说明:设置Samba Server日志文件的存储位置以及日志文件名称。在文件名后加个宏%m(主机名),表示对每台访问Samba Server的机器都单独记录一个日志文件。如果pc1、pc2访问过Samba Server,就会在/var/log/samba目录下留下log.pc1和log.pc2两个日志文件。

max log size = 50
说明:设置Samba Server日志文件的最大容量,单位为kB,0代表不限制。

security = user
说明:设置用户访问Samba Server的验证方式,一共有四种验证方式。
1. share:用户访问Samba Server不需要提供用户名和口令, 安全性能较低。
2. user:Samba Server共享目录只能被授权的用户访问,由Samba Server负责检查账号和密码的正确性。账号和密码要在本Samba Server中建立。
3. server:依靠其他Windows NT/2000或Samba Server来验证用户的账号和密码,是一种代理验证。此种安全模式下,系统管理员可以把所有的Windows用户和口令集中到一个NT系统上,使用 Windows NT进行Samba认证, 远程服务器可以自动认证全部用户和口令,如果认证失败,Samba将使用用户级安全模式作为替代的方式。
4. domain:域安全级别,使用主域控制器(PDC)来完成认证。

passdb backend = tdbsam
说明:passdb backend就是用户后台的意思。目前有三种后台:smbpasswd、tdbsam和ldapsam。sam应该是security account manager(安全账户管理)的简写。
1.smbpasswd:该方式是使用smb自己的工具smbpasswd来给系统用户(真实用户或者虚拟用户)设置一个Samba密码,客户端就用这个密码来访问Samba的资源。smbpasswd文件默认在/etc/samba目录下,不过有时候要手工建立该文件。
2.tdbsam: 该方式则是使用一个数据库文件来建立用户数据库。数据库文件叫passdb.tdb,默认在/etc/samba目录下。passdb.tdb用户数据库 可以使用smbpasswd –a来建立Samba用户,不过要建立的Samba用户必须先是系统用户。我们也可以使用pdbedit命令来建立Samba账户。pdbedit命令的 参数很多,我们列出几个主要的。
  pdbedit –a username:新建Samba账户。
  pdbedit –x username:删除Samba账户。
  pdbedit –L:列出Samba用户列表,读取passdb.tdb数据库文件。
  pdbedit –Lv:列出Samba用户列表的详细信息。
  pdbedit –c “[D]” –u username:暂停该Samba用户的账号。
  pdbedit –c “[]” –u username:恢复该Samba用户的账号。
3.ldapsam:该方式则是基于LDAP的账户管理方式来验证用户。首先要建立LDAP服务,然后设置“passdb backend = ldapsam:ldap://LDAP Server”

encrypt passwords = yes/no
说明:是否将认证密码加密。因为现在windows操作系统都是使用加密密码,所以一般要开启此项。不过配置文件默认已开启。

smb passwd file = /etc/samba/smbpasswd
说明:用来定义samba用户的密码文件。smbpasswd文件如果没有那就要手工新建。

username map = /etc/samba/smbusers
说明:用来定义用户名映射,比如可以将root换成administrator、admin等。不过要事先在smbusers文件中定义好。比如:root = administrator admin,这样就可以用administrator或admin这两个用户来代替root登陆Samba Server,更贴近windows用户的习惯。

guest account = nobody
说明:用来设置guest用户名。

socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
说明:用来设置服务器和客户端之间会话的Socket选项,可以优化传输速度。

domain master = yes/no
说明:设置Samba服务器是否要成为网域主浏览器,网域主浏览器可以管理跨子网域的浏览服务。

local master = yes/no
说明:local master用来指定Samba Server是否试图成为本地网域主浏览器。如果设为no,则永远不会成为本地网域主浏览器。但是即使设置为yes,也不等于该Samba Server就能成为主浏览器,还需要参加选举。

preferred master = yes/no
说明:设置Samba Server一开机就强迫进行主浏览器选举,可以提高Samba Server成为本地网域主浏览器的机会。如果该参数指定为yes时,最好把domain master也指定为yes。使用该参数时要注意:如果在本Samba Server所在的子网有其他的机器(不论是windows NT还是其他Samba Server)也指定为首要主浏览器时,那么这些机器将会因为争夺主浏览器而在网络上大发广播,影响网络性能。
如果同一个区域内有多台Samba Server,将上面三个参数设定在一台即可。

os level = 200
说明:设置samba服务器的os level。该参数决定Samba Server是否有机会成为本地网域的主浏览器。os level从0到255,winNT的os level是32,win95/98的os level是1。Windows 2000的os level是64。如果设置为0,则意味着Samba Server将失去浏览选择。如果想让Samba Server成为PDC,那么将它的os level值设大些。

domain logons = yes/no
说明:设置Samba Server是否要做为本地域控制器。主域控制器和备份域控制器都需要开启此项。

logon script = %u.bat
说明:当使用者用windows客户端登陆,那么Samba将提供一个登陆档。如果设置成%u.bat,那么就要为每个用户提供一个登陆档。如果人比较多, 那就比较麻烦。可以设置成一个具体的文件名,比如start.bat,那么用户登陆后都会去执行start.bat,而不用为每个用户设定一个登陆档了。 这个文件要放置在[netlogon]的path设置的目录路径下。

wins support = yes/no
说明:设置samba服务器是否提供wins服务。

wins server = wins服务器IP地址
说明:设置Samba Server是否使用别的wins服务器提供wins服务。

wins proxy = yes/no
说明:设置Samba Server是否开启wins代理服务。

dns proxy = yes/no
说明:设置Samba Server是否开启dns代理服务。

load printers = yes/no
说明:设置是否在启动Samba时就共享打印机。

printcap name = cups
说明:设置共享打印机的配置文件。

printing = cups
说明:设置Samba共享打印机的类型。现在支持的打印系统有:bsd, sysv, plp, lprng, aix, hpux, qnx
 
共享参数:
#================== Share Definitions ==================
[共享名]

comment = 任意字符串
说明:comment是对该共享的描述,可以是任意字符串。

path = 共享目录路径
说 明:path用来指定共享目录的路径。可以用%u、%m这样的宏来代替路径里的unix用户和客户机的Netbios名,用宏表示主要用于[homes] 共享域。例如:如果我们不打算用home段做为客户的共享,而是在/home/share/下为每个Linux用户以他的用户名建个目录,作为他的共享目 录,这样path就可以写成:path = /home/share/%u; 。用户在连接到这共享时具体的路径会被他的用户名代替,要注意这个用户名路径一定要存在,否则,客户机在访问时会找不到网络路径。同样,如果我们不是以用 户来划分目录,而是以客户机来划分目录,为网络上每台可以访问samba的机器都各自建个以它的netbios名的路径,作为不同机器的共享资源,就可以 这样写:path = /home/share/%m 。

browseable = yes/no
说明:browseable用来指定该共享是否可以浏览。

writable = yes/no
说明:writable用来指定该共享路径是否可写。

available = yes/no
说明:available用来指定该共享资源是否可用。

admin users = 该共享的管理者
说明:admin users用来指定该共享的管理员(对该共享具有完全控制权限)。在samba 3.0中,如果用户验证方式设置成“security=share”时,此项无效。
例如:admin users =david,sandy(多个用户中间用逗号隔开)。

valid users = 允许访问该共享的用户
说明:valid users用来指定允许访问该共享资源的用户。
例如:valid users = david,@dave,@tech(多个用户或者组中间用逗号隔开,如果要加入一个组就用“@组名”表示。)

invalid users = 禁止访问该共享的用户
说明:invalid users用来指定不允许访问该共享资源的用户。
例如:invalid users = root,@bob(多个用户或者组中间用逗号隔开。)

write list = 允许写入该共享的用户
说明:write list用来指定可以在该共享下写入文件的用户。
例如:write list = david,@dave

public = yes/no
说明:public用来指定该共享是否允许guest账户访问。

guest ok = yes/no
说明:意义同“public”。
 
几个特殊共享:
[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
 
[netlogon]
comment = Network Logon Service
path = /var/lib/samba/netlogon
guest ok = yes
writable = no
share modes = no
 
[Profiles]
path = /var/lib/samba/profiles
browseable = no
guest ok = yes

Samba安装好后,使用testparm命令可以测试smb.conf配置是否正确。使用testparm –v命令可以详细的列出smb.conf支持的配置参数。

默认的smb.conf有很多个选项和内容,比较繁琐,这里我们按照案例来讲解配置选项,先备份一下自己的smb.conf文件,然后重新建立一个smb.conf。

# cp -p /etc/samba/smb.conf    /etc/samba/smb.conf.orig

案例一、公司现有一个工作组workgroup,需要添加samba服务器作为文件服务器,并发布共享目录/share,共享名为public,此共享目录允许所有员工访问。

a. 修改samba的主配置文件如下:

复制代码

#======================= Global Settings =====================================

[global]                                                  //该设置与Samba服务整体运行环境有关,它的设置项目针对所有共享资源       # ----------------------- Network 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

        workgroup = WORKGROUP                             //定义工作组,也就是windows中的工作组概念
        server string = David Samba Server Version %v     //定义Samba服务器的简要说明
        netbios name = DavidSamba                         //定义windows中显示出来的计算机名称

# --------------------------- Logging Options -----------------------------
#
# Log File let you specify where to put logs and how to split them up.

        log file = /var/log/samba/log.%m                  //定义Samba用户的日志文件,%m代表客户端主机名
                                                          //Samba服务器会在指定的目录中为每个登陆主机建立不同的日志文件# ----------------------- Standalone Server Options ------------------------
#
# Scurity can be set to user, share(deprecated) or server(deprecated)

        security = share                                  //共享级别,用户不需要账号和密码即可访问

#============================ Share Definitions ==============================

[public]                                                  //设置针对的是共享目录个别的设置,只对当前的共享资源起作用
        comment = Public Stuff                            //对共享目录的说明文件,自己可以定义说明信息
        path = /share                                     //用来指定共享的目录,必选项
        public = yes                                      //所有人可查看,等效于guest ok = yes

复制代码

b. 建立共享目录

上面设置了共享目录为/share,下面就需要建立/share目录:

由于要设置匿名用户可以下载或上传共享文件,所以要给/share目录授权为nobody权限。

c. 重启smb服务

d. 测试smb.conf配置是否正确

e. 访问Samba服务器的共享文件

  • 在Linux下访问Samba服务器的共享文件

  • 在windows下访问Samba服务器的共享文件

案例二、公司现有多个部门,因工作需要,将TS部的资料存放在samba服务器的/ts 目录中集中管理,以便TS人员浏览,并且该目录只允许TS部员工访问。

a. 添加TS部组和用户

建立用户的同时加入到相应的组中的方式:useradd -g 组名 用户名

b. 在根目录下建立/ts 文件夹

c. 将刚才建立的两个帐户添加到samba的账户中

d. 修改主配置文件如下:

复制代码

#======================= Global Settings =====================================

[global]

# ----------------------- Network 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

        workgroup = WORKGROUP
        server string = David Samba Server Version %v
        netbios name = DavidSamba

# --------------------------- Logging Options -----------------------------
#
# Log File let you specify where to put logs and how to split them up.

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

# ----------------------- Standalone Server Options ------------------------
#
# Scurity can be set to user, share(deprecated) or server(deprecated)

        security = user                                   //用户级别,由提供服务的Samba服务器负责检查账户和密码#============================ Share Definitions ==============================

[homes]                                                   //设置用户宿主目录
        comment = Home Directories
        browseable = no
        writable = yes
;       valid users = %S
;       valid users = MYDOMAIN\%S

[public]
        comment = Public Stuff
        path = /share
        public = yes

[ts]                                                      //ts 组目录,只允许ts组成员访问
        comment = TS
        path = /ts
        valid users = @ts

复制代码

e. 重新加载配置

f. 到windows客户端验证,访问\\10.0.0.163,提示输入用户名和密码,在此输入sandy验证,如下图:

g. 访问成功,可以看到公共的public目录,用户sandy的宿主目录,和其有权限访问的ts目录

h. 进入ts目录,有刚才创建的newyork.city文件

案例三、实现不同的用户访问同一个共享目录具有不同的权限,便于管理和维护。基本上能满足一些企业用户的需求。(整理自网络)

a. 需求

1. 某公司有5个大部门,分别为:人事行政部(HR & Admin Dept)、财务部(Financial Management Dept)、技术支持部(Technical Support Dept)、项目部(Project Dept)、客服部(Customer Service Dept)。
2. 各部门的文件夹只允许本部门员工有权访问;各部门之间交流性质的文件放到公用文件夹中。
3. 每个部门都有一个管理本部门文件夹的管理员账号和一个只能新建和查看文件的普通用户权限的账号。
4. 公用文件夹中分为存放工具的文件夹和存放各部门共享文件的文件夹。
5. 对于各部门自己的文件夹,各部门管理员具有完全控制权限,而各部门普通用户可以在该部门文件夹下新建文件及文件夹,并且对于自己新建的文件及文件夹有完全控制权限,对于管理员新建及上传的文件和文件夹只能访问,不能更改和删除。不是本部门用户不能访问本部门文件夹。
6. 对于公用文件夹中的各部门共享文件夹,各部门管理员具有完全控制权限,而各部门普通用户可以在该部门文件夹下新建文件及文件夹,并且对于自己新建的文件及文件夹有完全控制权限,对于管理员新建及上传的文件和文件夹只能访问,不能更改和删除。本部门用户(包括管理员和普通用户)在访问其他部门共享文件夹时,只能查看不能修改删除新建。对于存放工具的文件夹,只有管理员有权限,其他用户只能访问。

b. 规划

根据公司需求情况,现做出如下规划:
1. 在系统分区时单独分一个Company的区,在该区下有以下几个文件夹:HR、 FM、TS、PRO、CS和Share。在Share下又有以下几个文件夹:HR、FM、TS、PRO、CS和Tools。
2. 各部门对应的文件夹由各部门自己管理,Tools文件夹由管理员维护。
3. HR管理员账号:hradmin;普通用户账号:hruser。
   FM管理员账号:fmadmin;普通用户账号:fmuser。
   TS管理员账号:tsadmin;普通用户账号:tsuser。
   PRO管理员账号:proadmin;普通用户账号:prouser。
   CS管理员账号:csadmin;普通用户账号:csuser。
   Tools管理员账号:admin。

文件夹之间的关系见下图:

c. 新建用户

使用useradd命令新建系统账户,然后再使用smbpasswd –a建立SMB账户。

复制代码

[root@TS-DEV ~]# useradd -s /sbin/nologin hradmin          
[root@TS-DEV ~]# useradd -g hradmin -s /sbin/nologin hruser
[root@TS-DEV ~]# useradd -s /sbin/nologin fmadmin            
[root@TS-DEV ~]# useradd -g fmadmin -s /sbin/nologin fmuser     
[root@TS-DEV ~]# useradd -s /sbin/nologin tsadmin
[root@TS-DEV ~]# useradd -g tsadmin -s /sbin/nologin tsuser
[root@TS-DEV ~]# useradd -s /sbin/nologin proadmin         
[root@TS-DEV ~]# useradd -g proadmin -s /sbin/nologin prouser 
[root@TS-DEV ~]# useradd -s /sbin/nologin csadmin
[root@TS-DEV ~]# useradd -g csadmin -s /sbin/nologin csuser
[root@TS-DEV ~]# useradd -s /sbin/nologin admin            
[root@TS-DEV ~]# 

[root@TS-DEV ~]# smbpasswd -a hradmin
New SMB password:
Retype new SMB password:
Added user fmuser.
[root@TS-DEV ~]# smbpasswd -a hruser
[root@TS-DEV ~]# smbpasswd -a fmadmin
[root@TS-DEV ~]# smbpasswd -a fmuser
[root@TS-DEV ~]# smbpasswd -a tsadmin
[root@TS-DEV ~]# smbpasswd -a tsuser
[root@TS-DEV ~]# smbpasswd -a proadmin
[root@TS-DEV ~]# smbpasswd -a prouser
[root@TS-DEV ~]# smbpasswd -a csadmin 
[root@TS-DEV ~]# smbpasswd -a csuser
[root@TS-DEV ~]# smbpasswd -a admin    
[root@TS-DEV ~]#

复制代码

d. 新建目录

e. 更改目录属性

[root@TS-DEV Company]# chown hradmin.hradmin HR
[root@TS-DEV Company]# chown fmadmin.fmadmin FM
[root@TS-DEV Company]# chown tsadmin.tsadmin TS    
[root@TS-DEV Company]# chown proadmin.proadmin PRO    
[root@TS-DEV Company]# chown csadmin.csadmin CS      
[root@TS-DEV Company]# chown admin.admin Share

[root@TS-DEV Company]# cd Share/
[root@TS-DEV Share]# chown hradmin.hradmin HR && chown fmadmin.fmadmin FM && chown tsadmin.tsadmin TS && chown proadmin.proadmin PRO && chown csadmin.csadmin CS && chown admin.admin Tools
[root@TS-DEV Share]# chmod 1775 HR FM TS PRO CS

f. 配置samba如下:

复制代码

#======================= Global Settings =====================================

[global]

# ----------------------- Network 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

        workgroup = WORKGROUP
        server string = David Samba Server Version %v
        netbios name = DavidSamba

# --------------------------- Logging Options -----------------------------
#
# Log File let you specify where to put logs and how to split them up.

        log file = /var/log/samba/log.%m
        max log size = 50

# ----------------------- Standalone Server Options ------------------------
#
# Scurity can be set to user, share(deprecated) or server(deprecated)

        security = user
        passdb backend = tdbsam

#============================ Share Definitions ==============================

[HR]
     comment = This is a directory of HR.
     path = /Company/HR/
     public = no
     admin users = hradmin
     valid users = @hradmin
     writable = yes
     create mask = 0750
     directory mask = 0750
 
[FM]
     comment = This is a directory of FM.
     path = /Company/FM/
     public = no
     admin users = fmadmin
     valid users = @fmadmin
     writable = yes
     create mask = 0750
     directory mask = 0750
 
[TS]
     comment = This is a directory of TS.
     path = /Company/TS/
     public = no
     admin users = tsadmin
     valid users = @tsadmin
     writable = yes
     create mask = 0750
     directory mask = 0750
 
[PRO]
     comment = This is a PRO directory.
     path = /Company/PRO/
     public = no
     admin users = proadmin
     valid users = @proadmin
     writable = yes
     create mask = 0750
     directory mask = 0750
 
[CS]
     comment = This is a directory of CS.
     path = /Company/CS/
     public = no
     admin users = csadmin
     valid users = @csadmin
     writable = yes
     create mask = 0750
     directory mask = 0750
 
[Share]
     comment = This is a share directory.
     path = /Company/Share/
     public = no
     valid users = admin,@hradmin,@fmadmin,@tsadmin,@proadmin,@csadmin
     writable = yes
     create mask = 0755
     directory mask = 0755

复制代码

g. 测试

以 hradmin登录系统

试图访问ts部门文件夹,要求输入用户名及密码

试图在\\10.0.0.163\Share\TS下新建文件

在自己部门所属文件夹下新建成功

其他测试自行完成。

配置完毕。

五、将共享目录映射成Windows的驱动器

将Samba共享的public目录,映射成 Windows 的一个驱动器盘符:

a. 右击“计算机”-->“映射网络驱动器”

b. 在文件夹栏输入共享地址及路径,点击“完成”输入用户名和密码

c. 映射完毕后,打开资源管理器可以看到映射的共享目录

Tips:

在windows下通过“\\ip地址”的方式访问其它文件资源时,一般第一次需要输入密码,以后就无需输入密码直接登陆了,那么如果我们要切换到其它Samba用户怎么办呢?可以在windows下执行如下指令实现:
首先通过开始-->运行-->cmd 输入:“net use”命令查看现有的连接,然后执行“net use \\Samba服务器IP地址或者netbios名称\ipc$  /del”,删除Samba服务器已经建立的连接。或者执行“net use * /del”将现在所有的连接全部删除。最后,再次执行“\\ip地址”时,就可以切换用户了。

六、Linux客户端访问操作

上面介绍了windows客户端访问Samba服务器的操作,那么在Linux作为客户端时,查看其它Linux Samba服务器共享的文件时,应该如何操作呢?

这就要用到smbclient这个工具,系统默认自带了这个命令,Smbclient常见用法介绍如下:

1、查看Samba服务器的共享资料

# smbclient  –L  //Samba服务器的ip地址  -U  Samba用户名

 “-L”即为list的含义,“-U”是user的意思,如果Samba服务器是无密码访问的话,可以省略“-U  Samba用户名”。

例如:samba需要密码登陆时,查看共享方法如下:

# smbclient  -L //10.0.0.163/public –U david

Samba无密码访问时,执行如下命令:

# smbclient  -L //10.0.0.163/public

password: 直接回车即可。

2、登陆Samba服务器

如果需要在Linux客户端登陆Samba服务器,用法如下:

# smbclient  //Samba服务器的ip地址  -U  Samba用户名

请看下面执行的操作:

# smbclient //10.0.0.163/public -U david

smb: \> ?                     //在这里输入?即可查看在smb命令行可用的所有命令。

操作过程与登陆FTP服务器很类似,登陆Samba服务器后,就可以进行文件的上传与下载,如果有足够的权限,还可以进行修改文件操作。

此外,Samba服务器共享出来的文件还可以在Linux客户端进行挂载,这就要用到mount命令,如下所示:

# mount -t cifs -l //10.0.0.163/public /mnt/samba/

七、Samba Web管理工具 SWAT

SWAT(Samba WEB Administration Tool) 是通过浏览器对 Samba 进行管理的工具之一。通过 SWAT,可以在 Samba 允许访问范围内的客户端,用浏览器对服务端的 Samba 进行控制。在线文档的阅览、smb.conf 的确认和编辑,以及密码的变更、服务的重启等等都可以通过 SWAT 来完成,它的直观让 Samba 变得温和化,对那些不喜欢文本界面管理服务器的朋友来说,是一个强大的工具。

swat工具嵌套在xinetd超级守护进程中,要通过启用xinetd进程来启用swat。因此要先安装xinetd工具包,然后安装swat工具包。上面已经安装过samba-swat-3.5.10-125.el6.x86_64,这里不再赘述。

1、配置swat

因为swat是xinetd超级守护进程的一个子进程,所以swat工具配置文件在xinetd目录中。我们要设置swat配置文件,开启此子进程,以便在启用xinetd进程是来启用swat。swat配置文件在/etc/xinetd.d目录中。

打开并编辑 /etc/xinetd.d/swat

复制代码

# default: off
# description: SWAT is the Samba Web Admin Tool. Use swat \
#              to configure your Samba server. To use SWAT, \
#              connect to port 901 with your favorite web browser.
service swat
{
        port            = 901                    //swat默认使用tcp的901端口, 可以修改
        socket_type     = stream                 //通过web来配置samba, 默认使用root账号进入, 可以修改成其他的系统用户
        wait            = no
        only_from       = 127.0.0.1              
       only_from       = 10.0.0.0               //添加此行, 将“only_from=127.0.0.1”改成“only_from=10.0.0.0”, 只允许内网范围对SWAT进行访问        user            = root        server          = /usr/sbin/swat         //swat的执行程序默认在/usr/sbin目录下        log_on_failure  += USERID        disable         = yes                    //将“disable=yes”改成“disable=no”, 这样swat子进程就可以随xinetd超级守护进程一起启动了}

复制代码

2、启动 swat

因为swat是xinetd的子进程,所以只要启用了xinetd,那么swat也就会伴随xinetd启动。

3、打开 swat

在服务端启动 swat后,我们就可以通过 swat允许范围内的客户机的浏览器中,通过 http://服务器的内网IP:901 来访问服务端的 swat了,输入 root用户的用户名及密码进入 swat的管理首页,如下所示:

swat管理中心的首页

通过 swat管理 Samba 与直接修改 smb.conf 的方式,在本质上并无差异,但通过浏览器访问的方式,可以使 Samba 的管理更加温和化,更加适用于不擅长使用文本界面、直接修改配置文件的朋友。

4、通过swat配置samba

在swat页面我们可以看到有8个选项,每个选项可以配置samba的不同功能。

HOME:Samba相关程序及文件说明。

GLOBALS:设置Samba的全局参数。即smb.conf文件的[global]。

SHARES:设置Samba的共享参数。

PRINTERS:设置Samba的打印参数。

WIZARD:Samba配置向导。

STATUS:查看和设置Samba的服务状况。

VIEW:查看Samba的文本配置文件,即smb.conf。

PASSWORD:设置Samba用户,可以修改密码,新建删除用户。

详细设置请自行查阅资料,以下仅供参考:

http://yuanbin.blog.51cto.com/363003/117105

至此,Samba服务器的所有配置完成。


CentOS 6.3下Samba服务器的安装与配置方法(图文详解)

CentOS 6.3下Samba服务器的安装与配置方法(图文详解)

一、简介

Samba是一个能让Linux系统应用Microsoft网络通讯协议的软件,而SMB是Server Message Block的缩写,即为服务器消息块 ,SMB主要是作为Microsoft的网络通讯协议,后来Samba将SMB通信协议应用到了Linux系统上,就形成了现在的Samba软件。后来微软又把 SMB 改名为 CIFS(Common Internet File System),即公共 Internet 文件系统,并且加入了许多新的功能,这样一来,使得Samba具有了更强大的功能。

Samba最大的功能就是可以用于Linux与windows系统直接的文件共享和打印共享,Samba既可以用于windows与Linux之间的文件共享,也可以用于Linux与Linux之间的资源共享,由于NFS(网络文件系统)可以很好的完成Linux与Linux之间的数据共享,因而 Samba较多的用在了Linux与windows之间的数据共享上面。

SMB是基于客户机/服务器型的协议,因而一台Samba服务器既可以充当文件共享服务器,也可以充当一个Samba的客户端,例如,一台在Linux 下已经架设好的Samba服务器,windows客户端就可以通过SMB协议共享Samba服务器上的资源文件,同时,Samba服务器也可以访问网络中 其它windows系统或者Linux系统共享出来的文件。

Samba在windows下使用的是NetBIOS协议,如果你要使用Linux下共享出来的文件,请确认你的windows系统下是否安装了NetBIOS协议。

组成Samba运行的有两个服务,一个是SMB,另一个是NMB;SMB是Samba 的核心启动服务,主要负责建立 Linux Samba服务器与Samba客户机之间的对话, 验证用户身份并提供对文件和打印系统的访问,只有SMB服务启动,才能实现文件的共享,监听139 TCP端口;而NMB服务是负责解析用的,类似与DNS实现的功能,NMB可以把Linux系统共享的工作组名称与其IP对应起来,如果NMB服务没有启动,就只能通过IP来访问共享文件,监听137和138 UDP端口。

例如,某台Samba服务器的IP地址为10.0.0.163,对应的工作组名称为davidsamba,那么在Windows的IE浏览器输入下面两条指令都可以访问共享文件。其实这就是Windows下查看Linux Samba服务器共享文件的方法。

\10.0.0.163共享目录名称

\davidsamba共享目录名称

Samba服务器可实现如下功能:WINS和DNS服务; 网络浏览服务; Linux和Windows域之间的认证和授权; UNICODE字符集和域名映射;满足CIFS协议的UNIX共享等。

二、系统环境

系统平台:CentOS release 6.3 (Final)Samba版本:samba-3.5.10-125.el6.x86_64Samba Server IP:10.0.0.163防火墙已关闭/iptables: Firewall is not running.SELINUX=disabled三、安装Samba服务1、在可以联网的机器上使用yum工具安装,如果未联网,则挂载系统光盘进行安装。# yum install samba samba-client samba-swat有依赖关系的包samba-common、samba-winbind-clients、libsmbclient将自动安装上去。

2、查看安装状况

3、安装包说明samba-common-3.5.10-125.el6.x86_64               //主要提供samba服务器的设置文件与设置文件语法检验程序testparmsamba-client-3.5.10-125.el6.x86_64                    //客户端软件,主要提供linux主机作为客户端时,所需要的工具指令集samba-swat-3.5.10-125.el6.x86_64                    //基于https协议的samba服务器web配置界面samba-3.5.10-125.el6.x86_64                            //服务器端软件,主要提供samba服务器的守护程序,共享文档,日志的轮替,开机默认选项Samba服务器安装完毕,会生成配置文件目录/etc/samba和其它一些samba可执行命令工具,/etc/samba/smb.conf是samba的核心配置文件,/etc/init.d/smb是samba的启动/关闭文件。4、启动Samba服务器可以通过/etc/init.d/smb start/stop/restart来启动、关闭、重启Samba服务,启动SMB服务如下所示:

5、查看samba的服务启动情况# service smb status

6、设置开机自启动# chkconfig –level 35 smb on             //在3、5级别上自动运行samba服务

四、配置Samba服务Samba的主配置文件为/etc/samba/smb.conf主配置文件由两部分构成Global Settings (55-245行)该设置都是与Samba服务整体运行环境有关的选项,它的设置项目是针对所有共享资源的。Share DeFinitions (246-尾行)该设置针对的是共享目录个别的设置,只对当前的共享资源起作用。全局参数:#==================Global Settings ===================[global]config file = /usr/local/samba/lib/smb.conf.%m说明:config file可以让你使用另一个配置文件来覆盖缺省的配置文件。如果文件不存在,则该项无效。这个参数很有用,可以使得samba配置更灵活,可以让一台 samba服务器模拟多台不同配置的服务器。比如,你想让PC1(主机名)这台电脑在访问Samba Server时使用它自己的配置文件,那么先在/etc/samba/host/下为PC1配置一个名为smb.conf.pc1的文件,然后在 smb.conf中加入:config file = /etc/samba/host/smb.conf.%m。这样当PC1请求连接Samba Server时,smb.conf.%m就被替换成smb.conf.pc1。这样,对于PC1来说,它所使用的Samba服务就是由 smb.conf.pc1定义的,而其他机器访问Samba Server则还是应用smb.conf。workgroup = WORKGROUP说明:设定 Samba Server 所要加入的工作组或者域。server string = Samba Server Version %v说明:设定 Samba Server 的注释,可以是任何字符串,也可以不填。宏%v表示显示Samba的版本号。netbios name = smbserver说明:设置Samba Server的NetBIOS名称。如果不填,则默认会使用该服务器的DNS名称的第一部分。netbios name和workgroup名字不要设置成一样了。interfaces = lo eth0 192.168.12.2/24 192.168.13.2/24说明:设置Samba Server监听哪些网卡,可以写网卡名,也可以写该网卡的IP地址。hosts allow = 127. 192.168.1. 192.168.10.1说明:表示允许连接到Samba Server的客户端,多个参数以空格隔开。可以用一个IP表示,也可以用一个网段表示。hosts deny 与hosts allow 刚好相反。例如:hosts allow=172.17.2.EXCEPT172.17.2.50表示容许来自172.17.2.*的主机连接,但排除172.17.2.50hosts allow=172.17.2.0/255.255.0.0表示容许来自172.17.2.0/255.255.0.0子网中的所有主机连接hosts allow=M1,M2表示容许来自M1和M2两台计算机连接hosts allow=@pega表示容许来自pega网域的所有计算机连接max connections = 0说明:max connections用来指定连接Samba Server的最大连接数目。如果超出连接数目,则新的连接请求将被拒绝。0表示不限制。deadtime = 0说明:deadtime用来设置断掉一个没有打开任何文件的连接的时间。单位是分钟,0代表Samba Server不自动切断任何连接。time server = yes/no说明:time server用来设置让nmdb成为windows客户端的时间服务器。log file = /var/log/samba/log.%m说明:设置Samba Server日志文件的存储位置以及日志文件名称。在文件名后加个宏%m(主机名),表示对每台访问Samba Server的机器都单独记录一个日志文件。如果pc1、pc2访问过Samba Server,就会在/var/log/samba目录下留下log.pc1和log.pc2两个日志文件。max log size = 50说明:设置Samba Server日志文件的最大容量,单位为kB,0代表不限制。security = user说明:设置用户访问Samba Server的验证方式,一共有四种验证方式。1. share:用户访问Samba Server不需要提供用户名和口令,安全性能较低。2. user:Samba Server共享目录只能被授权的用户访问,由Samba Server负责检查账号和密码的正确性。账号和密码要在本Samba Server中建立。3. server:依靠其他Windows NT/2000或Samba Server来验证用户的账号和密码,是一种代理验证。此种安全模式下,系统管理员可以把所有的Windows用户和口令集中到一个NT系统上,使用 Windows NT进行Samba认证,远程服务器可以自动认证全部用户和口令,如果认证失败,Samba将使用用户级安全模式作为替代的方式。4. domain:域安全级别,使用主域控制器(PDC)来完成认证。passdb backend = tdbsam说明:passdb backend就是用户后台的意思。目前有三种后台:smbpasswd、tdbsam和ldapsam。sam应该是security account manager(安全账户管理)的简写。1.smbpasswd:该方式是使用smb自己的工具smbpasswd来给系统用户(真实用户或者虚拟用户)设置一个Samba密码,客户端就用这个密码来访问Samba的资源。smbpasswd文件默认在/etc/samba目录下,不过有时候要手工建立该文件。2.tdbsam: 该方式则是使用一个数据库文件来建立用户数据库。数据库文件叫passdb.tdb,默认在/etc/samba目录下。passdb.tdb用户数据库 可以使用smbpasswd –a来建立Samba用户,不过要建立的Samba用户必须先是系统用户。我们也可以使用pdbedit命令来建立Samba账户。pdbedit命令的 参数很多,我们列出几个主要的。pdbedit –a username:新建Samba账户。pdbedit –x username:删除Samba账户。pdbedit –L:列出Samba用户列表,读取passdb.tdb数据库文件。pdbedit –Lv:列出Samba用户列表的详细信息。pdbedit –c “[D]” –u username:暂停该Samba用户的账号。pdbedit –c “[]” –u username:恢复该Samba用户的账号。3.ldapsam:该方式则是基于LDAP的账户管理方式来验证用户。首先要建立LDAP服务,然后设置“passdb backend = ldapsam:ldap://LDAP Server”encrypt passwords = yes/no说明:是否将认证密码加密。因为现在windows操作系统都是使用加密密码,所以一般要开启此项。不过配置文件默认已开启。smb passwd file = /etc/samba/smbpasswd说明:用来定义samba用户的密码文件。smbpasswd文件如果没有那就要手工新建。username map = /etc/samba/smbusers说明:用来定义用户名映射,比如可以将root换成administrator、admin等。不过要事先在smbusers文件中定义好。比如:root = administrator admin,这样就可以用administrator或admin这两个用户来代替root登陆Samba Server,更贴近windows用户的习惯。guest account = nobody说明:用来设置guest用户名。socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192说明:用来设置服务器和客户端之间会话的Socket选项,可以优化传输速度。domain master = yes/no说明:设置Samba服务器是否要成为网域主浏览器,网域主浏览器可以管理跨子网域的浏览服务。local master = yes/no说明:local master用来指定Samba Server是否试图成为本地网域主浏览器。如果设为no,则永远不会成为本地网域主浏览器。但是即使设置为yes,也不等于该Samba Server就能成为主浏览器,还需要参加选举。preferred master = yes/no说明:设置Samba Server一开机就强迫进行主浏览器选举,可以提高Samba Server成为本地网域主浏览器的机会。如果该参数指定为yes时,最好把domain master也指定为yes。使用该参数时要注意:如果在本Samba Server所在的子网有其他的机器(不论是windows NT还是其他Samba Server)也指定为首要主浏览器时,那么这些机器将会因为争夺主浏览器而在网络上大发广播,影响网络性能。如果同一个区域内有多台Samba Server,将上面三个参数设定在一台即可。os level = 200说明:设置samba服务器的os level。该参数决定Samba Server是否有机会成为本地网域的主浏览器。os level从0到255,winNT的os level是32,win95/98的os level是1。Windows 2000的os level是64。如果设置为0,则意味着Samba Server将失去浏览选择。如果想让Samba Server成为PDC,那么将它的os level值设大些。domain logons = yes/no说明:设置Samba Server是否要做为本地域控制器。主域控制器和备份域控制器都需要开启此项。logon script = %u.bat说明:当使用者用windows客户端登陆,那么Samba将提供一个登陆档。如果设置成%u.bat,那么就要为每个用户提供一个登陆档。如果人比较多, 那就比较麻烦。可以设置成一个具体的文件名,比如start.bat,那么用户登陆后都会去执行start.bat,而不用为每个用户设定一个登陆档了。 这个文件要放置在[netlogon]的path设置的目录路径下。wins support = yes/no说明:设置samba服务器是否提供wins服务。wins server = wins服务器IP地址说明:设置Samba Server是否使用别的wins服务器提供wins服务。wins proxy = yes/no说明:设置Samba Server是否开启wins代理服务。dns proxy = yes/no说明:设置Samba Server是否开启dns代理服务。load printers = yes/no说明:设置是否在启动Samba时就共享打印机。printcap name = cups说明:设置共享打印机的配置文件。printing = cups说明:设置Samba共享打印机的类型。现在支持的打印系统有:bsd,sysv,plp,lprng,aix,hpux,qnx 共享参数:#================== Share DeFinitions ==================[共享名]comment = 任意字符串说明:comment是对该共享的描述,可以是任意字符串。path = 共享目录路径说 明:path用来指定共享目录的路径。可以用%u、%m这样的宏来代替路径里的unix用户和客户机的Netbios名,用宏表示主要用于[homes] 共享域。例如:如果我们不打算用home段做为客户的共享,而是在/home/share/下为每个Linux用户以他的用户名建个目录,作为他的共享目 录,这样path就可以写成:path = /home/share/%u; 。用户在连接到这共享时具体的路径会被他的用户名代替,要注意这个用户名路径一定要存在,否则,客户机在访问时会找不到网络路径。同样,如果我们不是以用 户来划分目录,而是以客户机来划分目录,为网络上每台可以访问samba的机器都各自建个以它的netbios名的路径,作为不同机器的共享资源,就可以 这样写:path = /home/share/%m 。browseable = yes/no说明:browseable用来指定该共享是否可以浏览。writable = yes/no说明:writable用来指定该共享路径是否可写。available = yes/no说明:available用来指定该共享资源是否可用。admin users = 该共享的管理者说明:admin users用来指定该共享的管理员(对该共享具有完全控制权限)。在samba 3.0中,如果用户验证方式设置成“security=share”时,此项无效。例如:admin users =david,sandy(多个用户中间用逗号隔开)。valid users = 允许访问该共享的用户说明:valid users用来指定允许访问该共享资源的用户。例如:valid users = david,@dave,@tech(多个用户或者组中间用逗号隔开,如果要加入一个组就用“@组名”表示。)invalid users = 禁止访问该共享的用户说明:invalid users用来指定不允许访问该共享资源的用户。例如:invalid users = root,@bob(多个用户或者组中间用逗号隔开。)write list = 允许写入该共享的用户说明:write list用来指定可以在该共享下写入文件的用户。例如:write list = david,@davepublic = yes/no说明:public用来指定该共享是否允许guest账户访问。guest ok = yes/no说明:意义同“public”。 几个特殊共享:[homes]comment = Home Directoriesbrowseable = Nowritable = yesvalid users = %s; valid users = MYDOMAIN%s [printers]comment = All Printerspath = /var/spool/sambabrowseable = noguest ok = Nowritable = noprintable = yes [netlogon]comment = Network logon Servicepath = /var/lib/samba/netlogonguest ok = yeswritable = noshare modes = no [Profiles]path = /var/lib/samba/profilesbrowseable = noguest ok = yesSamba安装好后,使用testparm命令可以测试smb.conf配置是否正确。使用testparm –v命令可以详细的列出smb.conf支持的配置参数。默认的smb.conf有很多个选项和内容,比较繁琐,这里我们按照案例来讲解配置选项,先备份一下自己的smb.conf文件,然后重新建立一个smb.conf。# cp -p /etc/samba/smb.conf    /etc/samba/smb.conf.orig案例一、公司现有一个工作组workgroup,需要添加samba服务器作为文件服务器,并发布共享目录/share,共享名为public,此共享目录允许所有员工访问。a. 修改samba的主配置文件如下:XML/HTML Code复制内容到剪贴板#======================= Global Settings =====================================     [global]                                                  //该设置与Samba服务整体运行环境有关,它的设置项目针对所有共享资源            # ———————– Network 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             workgroup = WORKGROUP                             //定义工作组,也就是windows中的工作组概念           server string = David Samba Server Version %v     //定义Samba服务器的简要说明           netbios name = DavidSamba                         //定义windows中显示出来的计算机名称     # ————————— Logging Options —————————–   #   # Log File let you specify where to put logs and how to split them up.             log file = /var/log/samba/log.%m                  //定义Samba用户的日志文件,%m代表客户端主机名                                                             //Samba服务器会在指定的目录中为每个登陆主机建立不同的日志文件   # ———————– Standalone Server Options ————————   #   # Scurity can be set to user, share(deprecated) or server(deprecated)             security = share                                  //共享级别,用户不需要账号和密码即可访问     #============================ Share DeFinitions ==============================     [public]                                                  //设置针对的是共享目录个别的设置,只对当前的共享资源起作用           comment = Public Stuff                            //对共享目录的说明文件,自己可以定义说明信息           path = /share                                     //用来指定共享的目录,必选项           public = yes                                      //所有人可查看,等效于guest ok = yes  b. 建立共享目录上面设置了共享目录为/share,下面就需要建立/share目录:

由于要设置匿名用户可以下载或上传共享文件,所以要给/share目录授权为nobody权限。

c. 重启smb服务

d. 测试smb.conf配置是否正确

e. 访问Samba服务器的共享文件在Linux下访问Samba服务器的共享文件

在windows下访问Samba服务器的共享文件

案例二、公司现有多个部门,因工作需要,将TS部的资料存放在samba服务器的/ts 目录中集中管理,以便TS人员浏览,并且该目录只允许TS部员工访问。a. 添加TS部组和用户

建立用户的同时加入到相应的组中的方式:useradd -g 组名 用户名b. 在根目录下建立/ts 文件夹

c. 将刚才建立的两个帐户添加到samba的账户中

d. 修改主配置文件如下:XML/HTML Code复制内容到剪贴板#======================= Global Settings =====================================     [global]     # ———————– Network 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             workgroup = WORKGROUP          server string = David Samba Server Version %v           netbios name = DavidSamba    # ————————— Logging Options —————————–   #   # Log File let you specify where to put logs and how to split them up.             log file = /var/log/samba/log.%m     # ———————– Standalone Server Options ————————   #   # Scurity can be set to user, share(deprecated) or server(deprecated)             security = user                                   //用户级别,由提供服务的Samba服务器负责检查账户和密码     #============================ Share DeFinitions ==============================     [homes]                                                   //设置用户宿主目录           comment = Home Directories           browseable = no          writable = yes  ;       valid users = %s   ;       valid users = MYDOMAIN%s     [public]           comment = Public Stuff           path = /share           public = yes    [ts]                                                      //ts 组目录,只允许ts组成员访问           comment = TS          path = /ts           valid users = @ts  e. 重新加载配置

f. 到windows客户端验证,访问\10.0.0.163,提示输入用户名和密码,在此输入sandy验证,如下图:

g. 访问成功,可以看到公共的public目录,用户sandy的宿主目录,和其有权限访问的ts目录

h. 进入ts目录,有刚才创建的newyork.city文件

案例三、实现不同的用户访问同一个共享目录具有不同的权限,便于管理和维护。基本上能满足一些企业用户的需求。(整理自网络)a. 需求1. 某公司有5个大部门,分别为:人事行政部(HR & Admin Dept)、财务部(Financial Management Dept)、技术支持部(Technical Support Dept)、项目部(Project Dept)、客服部(Customer Service Dept)。2. 各部门的文件夹只允许本部门员工有权访问;各部门之间交流性质的文件放到公用文件夹中。3. 每个部门都有一个管理本部门文件夹的管理员账号和一个只能新建和查看文件的普通用户权限的账号。4. 公用文件夹中分为存放工具的文件夹和存放各部门共享文件的文件夹。5. 对于各部门自己的文件夹,各部门管理员具有完全控制权限,而各部门普通用户可以在该部门文件夹下新建文件及文件夹,并且对于自己新建的文件及文件夹有完全控制权限,对于管理员新建及上传的文件和文件夹只能访问,不能更改和删除。不是本部门用户不能访问本部门文件夹。6. 对于公用文件夹中的各部门共享文件夹,各部门管理员具有完全控制权限,而各部门普通用户可以在该部门文件夹下新建文件及文件夹,并且对于自己新建的文件及文件夹有完全控制权限,对于管理员新建及上传的文件和文件夹只能访问,不能更改和删除。本部门用户(包括管理员和普通用户)在访问其他部门共享文件夹时,只能查看不能修改删除新建。对于存放工具的文件夹,只有管理员有权限,其他用户只能访问。b. 规划根据公司需求情况,现做出如下规划:1. 在系统分区时单独分一个Company的区,在该区下有以下几个文件夹:HR、 FM、TS、PRO、CS和Share。在Share下又有以下几个文件夹:HR、FM、TS、PRO、CS和Tools。2. 各部门对应的文件夹由各部门自己管理,Tools文件夹由管理员维护。3. HR管理员账号:hradmin;普通用户账号:hruser。   FM管理员账号:fmadmin;普通用户账号:fmuser。   TS管理员账号:tsadmin;普通用户账号:tsuser。   PRO管理员账号:proadmin;普通用户账号:prouser。   CS管理员账号:csadmin;普通用户账号:csuser。   Tools管理员账号:admin。文件夹之间的关系见下图:

c. 新建用户使用useradd命令新建系统账户,然后再使用smbpasswd –a建立SMB账户。bash/shell Code复制内容到剪贴板[root@TS-DEV ~]# useradd -s /sbin/nologin hradmin             [root@TS-DEV ~]# useradd -g hradmin -s /sbin/nologin hruser   [root@TS-DEV ~]# useradd -s /sbin/nologin fmadmin               [root@TS-DEV ~]# useradd -g fmadmin -s /sbin/nologin fmuser        [root@TS-DEV ~]# useradd -s /sbin/nologin tsadmin   [root@TS-DEV ~]# useradd -g tsadmin -s /sbin/nologin tsuser   [root@TS-DEV ~]# useradd -s /sbin/nologin proadmin            [root@TS-DEV ~]# useradd -g proadmin -s /sbin/nologin prouser    [root@TS-DEV ~]# useradd -s /sbin/nologin csadmin   [root@TS-DEV ~]# useradd -g csadmin -s /sbin/nologin csuser   [root@TS-DEV ~]# useradd -s /sbin/nologin admin               [root@TS-DEV ~]#      [root@TS-DEV ~]# smbpasswd -a hradmin   New SMB password:   Retype new SMB password:   Added user fmuser.   [root@TS-DEV ~]# smbpasswd -a hruser   [root@TS-DEV ~]# smbpasswd -a fmadmin   [root@TS-DEV ~]# smbpasswd -a fmuser   [root@TS-DEV ~]# smbpasswd -a tsadmin   [root@TS-DEV ~]# smbpasswd -a tsuser   [root@TS-DEV ~]# smbpasswd -a proadmin   [root@TS-DEV ~]# smbpasswd -a prouser   [root@TS-DEV ~]# smbpasswd -a csadmin    [root@TS-DEV ~]# smbpasswd -a csuser   [root@TS-DEV ~]# smbpasswd -a admin       [root@TS-DEV ~]#  d. 新建目录

e. 更改目录属性bash/shell Code复制内容到剪贴板[root@TS-DEV Company]# chown hradmin.hradmin HR   [root@TS-DEV Company]# chown fmadmin.fmadmin FM   [root@TS-DEV Company]# chown tsadmin.tsadmin TS       [root@TS-DEV Company]# chown proadmin.proadmin PRO       [root@TS-DEV Company]# chown csadmin.csadmin CS         [root@TS-DEV Company]# chown admin.admin Share  

bash/shell Code复制内容到剪贴板[root@TS-DEV Company]# cd Share/   [root@TS-DEV Share]# chown hradmin.hradmin HR && chown fmadmin.fmadmin FM && chown tsadmin.tsadmin TS && chown proadmin.proadmin PRO && chown csadmin.csadmin CS && chown admin.admin Tools   [root@TS-DEV Share]# chmod 1775 HR FM TS PRO CS  

f. 配置samba如下:XML/HTML Code复制内容到剪贴板#======================= Global Settings =====================================     [global]     # ———————– Network 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             workgroup = WORKGROUP          server string = David Samba Server Version %v           netbios name = DavidSamba    # ————————— Logging Options —————————–   #   # Log File let you specify where to put logs and how to split them up.             log file = /var/log/samba/log.%m           max log size = 50    # ———————– Standalone Server Options ————————   #   # Scurity can be set to user, share(deprecated) or server(deprecated)             security = user          passdb backend = tdbsam    #============================ Share DeFinitions ==============================     [HR]        comment = This is a directory of HR.        path = /Company/HR/        public = no       admin users = hradmin       valid users = @hradmin        writable = yes       create mask = 0750       directory mask = 0750      [FM]        comment = This is a directory of FM.        path = /Company/FM/        public = no       admin users = fmadmin       valid users = @fmadmin        writable = yes       create mask = 0750       directory mask = 0750      [TS]        comment = This is a directory of TS.        path = /Company/TS/        public = no       admin users = tsadmin       valid users = @tsadmin        writable = yes       create mask = 0750       directory mask = 0750      [PRO]        comment = This is a PRO directory.        path = /Company/PRO/        public = no       admin users = proadmin       valid users = @proadmin        writable = yes       create mask = 0750       directory mask = 0750      [CS]        comment = This is a directory of CS.        path = /Company/CS/        public = no       admin users = csadmin       valid users = @csadmin        writable = yes       create mask = 0750       directory mask = 0750      [Share]        comment = This is a share directory.        path = /Company/Share/        public = no       valid users = admin,@hradmin,@fmadmin,@tsadmin,@proadmin,@csadmin        writable = yes       create mask = 0755       directory mask = 0755  g. 测试以 hradmin登录系统

试图访问ts部门文件夹,要求输入用户名及密码

试图在\10.0.0.163ShareTS下新建文件

在自己部门所属文件夹下新建成功其他测试自行完成。配置完毕。五、将共享目录映射成Windows的驱动器将Samba共享的public目录,映射成 Windows 的一个驱动器盘符:a. 右击“计算机”–>“映射网络驱动器”b. 在文件夹栏输入共享地址及路径,点击“完成”输入用户名和密码c. 映射完毕后,打开资源管理器可以看到映射的共享目录Tips:在windows下通过“\ip地址”的方式访问其它文件资源时,一般第一次需要输入密码,以后就无需输入密码直接登陆了,那么如果我们要切换到其它Samba用户怎么办呢?可以在windows下执行如下指令实现:首先通过开始–>运行–>cmd 输入:“net use”命令查看现有的连接,然后执行“net use \Samba服务器IP地址或者netbios名称ipc$ /del”,删除Samba服务器已经建立的连接。或者执行“net use * /del”将现在所有的连接全部删除。最后,再次执行“\ip地址”时,就可以切换用户了。六、Linux客户端访问操作上面介绍了windows客户端访问Samba服务器的操作,那么在Linux作为客户端时,查看其它Linux Samba服务器共享的文件时,应该如何操作呢?这就要用到smbclient这个工具,系统默认自带了这个命令,Smbclient常见用法介绍如下:1、查看Samba服务器的共享资料# smbclient  –L  //Samba服务器的ip地址  -U  Samba用户名 “-L”即为list的含义,“-U”是user的意思,如果Samba服务器是无密码访问的话,可以省略“-U  Samba用户名”。例如:samba需要密码登陆时,查看共享方法如下:# smbclient  -L //10.0.0.163/public –U davidSamba无密码访问时,执行如下命令:# smbclient  -L //10.0.0.163/publicpassword: 直接回车即可。2、登陆Samba服务器如果需要在Linux客户端登陆Samba服务器,用法如下:# smbclient  //Samba服务器的ip地址  -U  Samba用户名请看下面执行的操作:# smbclient //10.0.0.163/public -U davidsmb: > ?                     //在这里输入?即可查看在smb命令行可用的所有命令。操作过程与登陆FTP服务器很类似,登陆Samba服务器后,就可以进行文件的上传与下载,如果有足够的权限,还可以进行修改文件操作。此外,Samba服务器共享出来的文件还可以在Linux客户端进行挂载,这就要用到mount命令,如下所示:# mount -t cifs -l //10.0.0.163/public /mnt/samba/七、Samba Web管理工具 SWATSWAT(Samba WEB Administration Tool) 是通过浏览器对 Samba 进行管理的工具之一。通过 SWAT,可以在 Samba 允许访问范围内的客户端,用浏览器对服务端的 Samba 进行控制。在线文档的阅览、smb.conf 的确认和编辑,以及密码的变更、服务的重启等等都可以通过 SWAT 来完成,它的直观让 Samba 变得温和化,对那些不喜欢文本界面管理服务器的朋友来说,是一个强大的工具。swat工具嵌套在xinetd超级守护进程中,要通过启用xinetd进程来启用swat。因此要先安装xinetd工具包,然后安装swat工具包。上面已经安装过samba-swat-3.5.10-125.el6.x86_64,这里不再赘述。1、配置swat因为swat是xinetd超级守护进程的一个子进程,所以swat工具配置文件在xinetd目录中。我们要设置swat配置文件,开启此子进程,以便在启用xinetd进程是来启用swat。swat配置文件在/etc/xinetd.d目录中。打开并编辑 /etc/xinetd.d/swatXML/HTML Code复制内容到剪贴板# default: off   # description: SWAT is the Samba Web Admin Tool. Use swat    #              to configure your Samba server. To use SWAT,    #              connect to port 901 with your favorite web browser.   service swat   {           port            = 901                    //swat默认使用tcp的901端口, 可以修改           socket_type     = stream                 //通过web来配置samba, 默认使用root账号进入, 可以修改成其他的系统用户           wait            = no          only_from       = 127.0.0.1                         only_from       = 10.0.0.0               //添加此行, 将“only_from=127.0.0.1”改成“only_from=10.0.0.0”, 只允许内网范围对SWAT进行访问           user            = root          server          = /usr/sbin/swat         //swat的执行程序默认在/usr/sbin目录下           log_on_failure  += USERID           disable         = yes                    //将“disable=yes”改成“disable=no”, 这样swat子进程就可以随xinetd超级守护进程一起启动了   }  2、启动 swat因为swat是xinetd的子进程,所以只要启用了xinetd,那么swat也就会伴随xinetd启动。3、打开 swat在服务端启动 swat后,我们就可以通过 swat允许范围内的客户机的浏览器中,通过 http://服务器的内网IP:901 来访问服务端的 swat了,输入 root用户的用户名及密码进入 swat的管理首页,如下所示:swat管理中心的首页通过 swat管理 Samba 与直接修改 smb.conf 的方式,在本质上并无差异,但通过浏览器访问的方式,可以使 Samba 的管理更加温和化,更加适用于不擅长使用文本界面、直接修改配置文件的朋友。4、通过swat配置samba在swat页面我们可以看到有8个选项,每个选项可以配置samba的不同功能。HOME:Samba相关程序及文件说明。GLOBALS:设置Samba的全局参数。即smb.conf文件的[global]。SHARES:设置Samba的共享参数。PRINTERS:设置Samba的打印参数。WIZARD:Samba配置向导。STATUS:查看和设置Samba的服务状况。VIEW:查看Samba的文本配置文件,即smb.conf。PASSWORD:设置Samba用户,可以修改密码,新建删除用户。详细设置请自行查阅资料,以下仅供参考:https://www.jb51.net/LINUXjishu/398109.html至此,Samba服务器的所有配置完成。

我们今天的关于CentOS6 Squid代理服务器的安装与配置centos代理服务器搭建的分享就到这里,谢谢您的阅读,如果想了解更多关于CentOS 6.3 下 Samba 服务器的安装与配置、CentOS 6.3下rsync服务器的安装与配置、CentOS 6.3下Samba服务器的安装与配置、CentOS 6.3下Samba服务器的安装与配置方法(图文详解)的相关信息,可以在本站进行搜索。

本文标签: