Samba服务器安装及配置
一、Samba安装
Samba的用途:
1.文件及打印共享服务:根据服务的配置情况分发共享的文件与打印机
2.计算机名与IP的解析服务:可以在客户端直接输入Samba服务器名字就能访问到Samba
3.共享的文件或打印机
4.WINS服务的支持:
5.LMB服务的支持:
6.身份验证与访问权限设置(如果配合Linux的Quota还可以实现用户磁盘空间配额):可以
7.根据企业要求灵活设置相应的安全级别
安装Samba所需的包
samba-common-3.0.23c-2 它是samba通用库文件和工具包
samba-3.0.23c-2 这个是samba的主程序包
samba-client-3.0.10-1.4E.2.i386.rpm samba在Linux|unix下的客户端包文件(可选)
system-config-samba-1.2.39-1.el5 这个是图形界面的samba服务配置包文件(可选)
samba-swat-3.0.23c-2 这个包提供本地、远程利用浏览器来配置samba相关服务(可选)
安装Samba命令
samba(sudo apt-get install samba)
smbclient(sudo apt-get install smbclient)
smbfs(sudo apt-get install smbfs).
Samba服务控制:
1、/etc/rc.d/init.d/smb start/stop/restart/status/reload
参数的详细介绍
start 启动服务
stop 停止服务
restart 重启服务
status 查看服务状态
reload 重装载配置文件(Linux一切的服务都是基于配置文件工作的)
查看samba是否成功启动:
  Samba安装后默认的是开机自启动
1、sudo service smbd status 查看运行状态
2、netstat -anp |grep 137 查看是否开启了相应的端口及是否为samba程序开启的
  netstat -anp |grep 138
怎样给文件夹设密码
  netstat -anp |grep 139
  netstat -anp |grep 445
3、netstat -ap |grep smbd  查看samba是否在运行
二、Samba账号
1.添加用户组
如:
[root@localhost ~]# /usr/sbin/groupadd cloudusers
2.添加samba用户
因为samba用户是基于系统用户的,所以必须先建立系统用户才能添加成samba用户
[root@cuc03 ~]# useradd -G cloudusers  -d /CloudSave/user1 -s  /sbin/nologin user1
-G: --groups GROUPS        将用户添加到组cloudusers
-d: --home-dir HOME_DIR    设置用户的登录目录
-s: --shell SHELL            登录时候的shell
将用户添加进组:groupadd
smbpasswd -a user1
输入两次samba密码即可
3.添加samba用户,并设置密码;
我们用的方法是先添加用户,但添加的这些用户都是虚拟用户,因为这些用户是不能通过SHELL登录系统的;另外值得注意的是系统用户密码和Samba用户的密码是不同的。如果您设置了系统用户能登入SHELL,可以设置用户的Samba密码和系统用户通过SHELL登录的密码不同。
我们通过smbpasswd 来添加Samba用户,并设置密码。原理是通过读取/etc/passwd文件中存在的用户名。
[root@localhost sir01]# smbpasswd -a user1
smbpass常用选项:
smbpasswd -h 列出帮助信息
smbpasswd -a 添加用户
smbpasswd -x 删除现有的samba用户
smbpasswd -n 删除现有的samba用户密码
smbpasswd -d 禁用现有的samba用户
smbpasswd -e 启用已禁用的samba用户
4.配置相关目录的权限和归属;
也就是创建SAMBA用户在系统中使用的文件夹。文件夹存放的位置没有要求,这里我们将共享文件夹放在/CloudSave/下。根据自身需要,我们在此将共享分为两类:
1)公共共享文件夹:share
所有用户对其有完全操作权限
mkdir  /CloudSave/share
chown  root:cloudusers  share
chmod  775
2)私人文件夹:user1——user4
每个文件夹只有其所有者和管理员对其有完全权限
mkdir  /CloudSave/user1        //创建文件夹user1
chown  user1:cloudusers  user1  //将文件夹user1的所有者改为user1,组改为cloudusers chmod  755  user1              //修改user1的权限为755
……
三、Samba服务器的配置
配置文件:
samba的配置文件存放在/etc/samba/下面,叫f。
它指定需要共享的文件目录、目录共享权限(记住:它也受本地权限限制的啊)、访问日志名称与路径等.
它分成两大部分
一、Global Settings, 用来指全局设置的变量,如安全级别等,对整个服务器生效,
二、Shared Definitinos,说明共享相关的定义,它以"#"开头为注释行,也有以";"开头的配置范例行,默认是不生效的,如果想设置该行生效,可以把";"去掉即可!
1、全局设置
常用参数:
[global]
workgroup = WORKGROUP 指明共享所在的工作组,可以是NT域名、工作组名
server string =Samba Server 客户端看到的服务器的描述信息
netbios name = share file of samba Windows下看到的netbios信息,默认是没有给出的,要使具用此描述,必须手动添加
hosts allow = 192.168.2. 192.168.1. EXCEPT 192.168.1.10  允许192.168.2.0段和192.168.1.0段访问,但192.168.1.10主机除外(注意:多网段时要用空格隔开)
hosts deny = 192.168.2.10 拒绝192.168.2.10访问(注意:与上一个同时使用时,deny优先生效)
interfaces = 192.168.2.10 当服务器有多个网络接口时,可以指定samba监听端口,默认监听全部端口的访问
smb passwd file = /etc/samba/smbpasswd 指定samba的密码文件所在位置
username map = /etc/samba/smbusers 指定账号映射文件的位置,它是提高安全性的方法,可以防止系统用户直接暴露出来
log file = /var/log/samba/%m.log 默认的日志文件,%m是以主机名称来分别记录日志
max log size = 50 默认日志大小为50K
2.用户共享文件夹设置
[forshare]  中括号里是共享文件名
commont = 共享的描述信息
path = 共享文件路径
public = yes|no  是否可以匿名访问
browsable = yes|no 是否出现共享文件名
read only = yes|no 是否只读
writable = yes|no  是否可写
write list = 用户名,用户,@组名 设置可读权限的用户
valid users = 用户名或@组名 设置有效用户
invalid users = 用户名或@组名 设置无效用户
create mask = 0644                设置创建文件时的权限
directory mask = 0755            设置创建文件夹时的权限