sam文件丢失 (sam文件丢失了怎么办)

Samba文件共享服务

一 Samba服务介绍

Samba是著名的开源软件之一,它在linux上实现了微软的SMB/CIFS网络协议,能跨平台实现文件互访问题

1 Samba软件包构成

samba-3.0.33-3.28.el5 //服务端软件(默认安装)

samba-common-3.0.33-3.28.el5 //公共组件(默认安装)

samba-client-3.0.33-3.28.el5 //客户端软件(默认安装)

samba-swat-3.0.33-3.28.el5.i386.rpm //web图形管理软件

2 Samba服务器的主要程序

smbd:提供对服务器中文件、打印资源的共享访问

nmbd:提供基于NetBIOS主机名称的解析

3 Samba的服务脚本

/etc/init.d/smb

4 Samba的配置目录及文件

/etc/samba/

/etc/samba/smb.conf

配置文件检查工具:testparm

二 主配置文件smb.conf

1 配置文件默认共享

:vim /etc/samba/smb.conf

[global] //全局设置

workgroup = MYGROUP //所在工作组名称

server string = Samba Server Version %v //服务器描述信息

security = user //安全级别,可用值如下: share、user、server、domain

passdb backend = tdbsam //设置共享账户文件的类型

load printers = yes

cups options = raw

[homes] //宿主目录共享设置

comment = Home Directories //对共享目录的注释、说明信息

browseable = no //该共享目录在“网上邻居”中是否可见

writable = yes //是否可写,与read only的作用相反

[printers] //打印机共享设置

comment = All Printers

path = /var/spool/samba //共享目录在服务器中对应的实际路径

browseable = no

guest ok = no //是否允许所有人访问,等效于“public

writable = no

printable = yes

2 自定义共享目录

:vim /etc/samba/smb.conf

[global] //全局设置

workgroup = MYGROUP //所在工作组名称

server string = Samba Server Version %v //服务器描述信息

security = user //安全级别,可用值如下: share、user、server、domain

passdb backend = tdbsam //设置共享账户文件的类型

load printers = yes

cups options = raw

[homes] //宿主目录共享设置

comment = Home Directories //对共享目录的注释、说明信息

browseable = no //该共享目录在“网上邻居”中是否可见

writable = yes //是否可写,与read only的作用相反

[newname]

comment = RHEL 5.5 DVD directory.

path = /media/cdrom

public = yes //是否用户验证

read only = yes

三 构建文件共享服务器

1 安装samba软件

:yum install samba //安装

:rpm -qa samb* //查看

2 可匿名访问的共享

1)创建共享目录

:mkdir t227

2)修改smb.conf配置文件

:vim /etc/samba/smb.conf

[global]

security = share //允许匿名

[t227]

comment=dddddddddd

path=/t227

public=yes //不需要用户验证,所有人都可以访问

readonly=yes //只能读取不能写入

3)可上传的匿名共享

A) 给共享文件夹写入权限

:chmod o+rwx t227

B) 修改配置文件

:vim /etc/samba/smb.conf

[global]

security = share

[t227]

comment=dddddddddd

path=/t227

public=yes //无需用户验证

readonly=no //将只读禁止即可

3 需用户验证的共享

Samba使用独立的共享账户数据库文件,其中账户名称必须与它同名的系统用户名相对应,以便对读写权限进行控制,共享账户的密码可以与系统用户的密码不一样

1)创建共享账户

:useradd //创建对应系统账户

:pdbedit -a u1 //创建同名共享账户

:pdbedit -L //查看共享账户列表

:pdbedit -x u1 //删除共享账户

2)设置用户访问授权

A)新建共享目录 //注意不要将目录创建到root下了

:mkdir t227

B)修改配置文

:vim /etc/samba/smb.conf

[global]

security = user

[t227]

comment=alll

path=/t227

public=no

readonly=no //可写入

valid users=lisi,zhangsan //指定访问的用户

write list =lisi //可上传用户

注:有时候在windows上登录时验证时间比较长,即使输入正确的密码也提示错误,只要耐心等待一会即可

C)确定用户访问权限

:chmod o+rw t227 //设置目录写入权限

D)设置上传文件和目录的默认权限

: vi /etc/samba/smb.conf

[tools]

……

directory mask = 0755

create mask = 0644

4 重启服务

:service smb reload

四 用户映射及访问地址限制

1 共享账号映射(别名)

:vim /etc/samba/smbusers

root = administrator admin //可以设置多个别名

nobody = guest pcguest smbguest

lisi = nimei qianqian

:vim /etc/samba/smb.conf //添加全局配置启用别名

username map=/etc/samba/smbusers

:service smb restart //重启服务

2 访问地址限制

一般用在全局配置[global]部分,也可以用于某个具体的共享配置

hosts allow配置项:仅允许特定的客户机

hosts deny配置项:仅拒绝特定的客户机

客户机地址表示形式:

以空格分隔多个地址

主机名或IP地址,例如: 192.168.168.11 或者 prtsvr

网络地址,例如:173.17. 或者 173.17.0.0/255.255.0.0

: vi /etc/samba/smb.conf

hosts allow = 192.168.4. 173.17.

五 访问共享文件夹

1 在linux客户机上的访问

1)查询目标主机上的共享资源列表

:smbclient -L 192.168.4.11 //无需输入密码,直接回车即可

登录并访问共享文件件

:smbclient -U lisi //192.168.4.11/t227

Password:

Domain=[LOCALHOST] OS=[Unix] Server=[Samba 3.0.33-3.28.el5]

smb: \> pwd //查看当前路径

smb: \> ls //显示目录列表

smb: \> lcd /root //切换到本地下载目录

smb: \> cd t227 //切换到共享目录

smb: \> mget share* //下载share开头的文件到/root下

smb: \> quit //退出

使用mount挂载共享文件夹

挂载后可直接查看共享文件内容

:mkdir /media/smbdir //创建挂载目录

:mount -o username=lisi //192.168.4.11/tools /media/smbdir/ //挂载

:mount | tail -1 //查看挂载状态

//192.168.4.11/tools on /media/smbdir type cifs (rw,mand)

2 windows客户机访问

方法:在运行里输入\\192.168.1.1即可访问

注:需要切换用户时在CMD里输入net use * /del

清除共享用户缓存,清不掉时多执行几次命令即可

六 swat 图像管理工具

1 swat介绍

SWAT是Samba的图形化管理工具。我们可以通过浏览器利用swat工具来设置samba

SWAT工具嵌套在xinetd超级守护进程中,要通过启用xinetd进程来启用swat。因此要先安装xinetd工具包,然后安装swat工具包。

2 编辑swat配置文件

因为swat是xinetd超级守护进程的一个子进程,所以swat配置文件在/etc/xinetd.d目录中

:vim /etc/xinetd.d/swat

service swat

{

port = 901 //tcp端口号,可修改

socket_type = stream

wait = no

only_from = 0.0.0.0 //指定来访IP地址,默认只能本机,修改为所有IP

user = root

server = /usr/sbin/swat

log_on_failure += USERID

disable = no //随xinetd一起启动

3 查看TCP端口号是否被添加进去

:cat /etc/services | grep 901

如果/etc/services文件中没有tcp901,那么就编辑该文件,添加“swat 901/tcp”即可

4 启动swat

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

: service xinetd restart

5 防火墙设置

关闭防火墙或者开启swat相关端口。

【关闭防火墙】

[root@RHEL5 /]#service iptables stop


【开启swat901端口,直接写入INPUT链,重启iptables会丢失】

[root@RHEL5 /]#iptables -I INPUT -p tcp --dport 901 -j ACCEPT


【开启swat901端口,通过编辑“RH-Firewall-1-INPUT”自定义链来打开,配置不会丢失】

[root@RHEL5 /]#vi /etc/sysconfig/iptables

加入:-A RH-Firewall-1-INPUT -p tcp --dport 901 -j ACCEPT


【关闭SELinux】

[root@RHEL5 /]#vi /etc/sysconfig/selinux

设置“SELINUX=disabled”

6 使用web登入swat

电脑

http://192.168.120.241:901

七 实验


作者:马向军 时间:2013-05-07

实验目的:构建samba文件共享服务器,模拟公司内部共享需求

实验要求:

1 公司需要一个所有员工都能访问,但只有读取权限的共享目录

2 公司需要一个管理员和技术部所有员工都能访问,但只有读取权限、禁止其他员工访问的共享目录

3 公司需要一个技术不所有员工可以读取,但只有管理员和项目组的所有员工可以写入的共享目录

实验环境:如图所示

实验步骤:

1,在服务器上安装samba服务

:yum install samba //安装

:rpm -qa samb* //查看

2,创建组、用户和共享账户

:groupadd jishu 创建技术组

:groupadd xiangmu 创建项目组

:useradd jishu1 创建技术组员工

:useradd xiangmu1 创建项目组员工

:pdbedit -a jishu1 添加共享账户jishu1

:pdbedit -a xiangmu1 添加共享账户xinagmu1

:gpasswd -a jishu1 jishu 将技术组员工加入基本组jishu

:gpasswd -a xiangmu1 xiangmu 将项目组员工加入基本组xiangmu

要求1

:mkdir public 创建目录

:vim /etc/samba/smb.conf 添加共享目录

[public]

comment=all

path=/public

public=yes 所有人都可以访问

readonly=yes 不能写入

:service smb restart 重启服务

要求2

:mkdir jishu

:pdbedit -a root 添加共享账户root

:vim /etc/samba/smbusers 为root用户设置别名

root = admin

:vim /etc/samba/smb.conf 配置共享目录

[jishu]

comment=jishu

path=/jishu

public=no //不公开

readonly=yes //不能写入

valid users=admin,@jishu //只admin和技术部员工能访问

要求3

:mkdir xiangmu

:vim /etc/samba/smb.conf 配置共享目录

[xiangmu]

comment=jishu

path=/jishu

public=no //不公开

readonly=no //可写入

valid users=admin,@xiangmu,@jishu //可访问列表

write list=admin,@xiangmu //可写入用户

:chown :xiangmu xiangmu //给共享目录设置属组

:chmod g+w xiangmu //设置属组可写

:service smb restart //重启服务