一、基本设置
- 安装Samba服务
yum -y install samba
- 操作Samba服务器
//启动/etc/init.d/smb start //关闭 /etc/init.d/smb stop//重启Samba服务/etc/init.d/smb restart
- 设置开机自启动
//在3、5级别上自动运行samba服务chkconfig --level 35 smb on
- 防火墙设置
// 设置端口过滤iptables -I RH-Firewall-1-INPUT 5 -m state --state NEW -m tcp -p tcp --dport 139 -j ACCEPTiptables -I RH-Firewall-1-INPUT 5 -m state --state NEW -m tcp -p tcp --dport 445 -j ACCEPTiptables -I RH-Firewall-1-INPUT 5 -p udp -m udp --dport 137 -j ACCEPTiptables -I RH-Firewall-1-INPUT 5 -p udp -m udp --dport 138-j ACCEPTiptables -saveservice iptables restart
- 配置
//备份原配置文件cp /etc/samba/smb.conf /etc/samba/smb.conf.backup
编辑smb.conf文件
[global] # 与主机名有关的设定信息 workgroup = Yumihouse netbios name = 172.16.57.99 server string = This is Yumi's samba server log file = /var/log/samba/log.%m # 与登录文件有关的设定项目,注意变量 (%m) max log size = 50 security = share # 这里才是与密码有关的设定项目![homes] comment = Home Directories read only = No browseable = No[printers] # 打印机相关设置 comment = All Printers path = /var/spool/samba printable = Yes print ok = Yes browseable = No#=====================================#文件末尾加上,自定义目录[ShareDocument] #分享资源名称 comment = 文件夹描述 #简单的解释此资源 path = /home/share #实际Linux分享的目录 writable = yes #是否可写入?在此例为是的 browseable = yes #能不能被浏览到资源名称
二、用户管理
- 基本用户 Samba用户必须为Linux系统用户,但是Samba管理密码和Linux系统密码是不同的。
smbpasswd -a user #增加用户(要增加的用户必须以是系统用户)smbpasswd -d user #冻结用户,就是这个用户不能在登录了smbpasswd -e user #恢复用户,解冻用户,让冻结的用户可以在使用smbpasswd -n user #把用户的密码设置成空,要在global中写入 null passwords -truesmbpasswd -x user #删除用户
- 组用户管理需求: 1)首先服务器采用用户验证的方式,每个用户可以访问自己的宿主目录,并且只有该用户能访问宿主目录,并具有完全的权限,而其他人不能看到你的宿主目录; 2)建立一个caiwu的文件夹,希望caiwu组和lingdao组的人能看到,network02也可以访问,但只有caiwu01有写的权限; 3)建立一个lindao的目录,只有领导组的人可以访问并读写,还有network02也可以访问,但外人看不到那个目录; 4)建立一个文件交换目录exchange,所有人都能读写,包括guest用户,但每个人不能删除别人的文件; 5)建立一个公共的只读文件夹public,所有人只读这个文件夹的内容。准备
//建立3个组:#groupadd caiwu#groupadd network#groupadd lingdao//添加用户并加入相关的组当中:#useradd caiwu01 -g caiwu#useradd caiwu02 -g caiwu#useradd network01 -g network#useradd network02 -g network#useradd lingdao01 -g lingdao#useradd lingdao02 -g lingdao//添加目录#mkdir /home/samba#mkdir /home/samba/caiwu#mkdir /home/samba/lingdao#mkdir /home/samba/exchange#mkdir /home/samba/public
smb.conf配置
[global] workgroup = bmit #我的网络工作组 server string = Frank's Samba File Server #我的服务器名描述 security = user #使用用户验证机制 encrypt passwords = yes smb passwd file = /etc/samba/smbpasswd #使用加密密码机制,在win95和winnt使用的是明文其他的基本上可以按照默认的来。#homes段满足第1条件[homes] comment = Home Directories browseable = no writable = yes valid users = %S create mode = 0664 directory mode = 0775#caiwu段满足我们的第2要求[caiwu] comment = caiwu path = /home/samba/caiwu public = no valid users = @caiwu,@lingdao,network02 write list = caiwu01 printable = no#lingdao段能满足我们的第3要求[lingdao] comment = lingdao path = /home/samba/lingdao public = no browseable = no valid users = @lingdao,network02 printable = no#exchange段基本能满足我们的第4要求,但不能满足每个人不能删除别人的文件这个条件,即使里设置了mask也是没用,其实这个条件只要unix设置一个粘着位就行chmod -R 1777 /home/samba/exchange注意这里权限是1777,类似的系统目录/tmp也具有相同的权限,这个权限能实现每个人能自由写文件,但不能删除别人的文件这个要求[exchage] comment = Exchange File Directory path = /home/samba/exchange public = yes writable = yes[public] comment = Read Only Public path = /home/samba/public public = yes read only = yes