samba搭建

本次为centos系统samba的搭建

关闭selinux,关闭或者放开iptables中samba使用的端口(TCP 139、445,UDP 137、138)

使用yum安装samba服务的相关组件

yum -y install samba*

rpm -qa |grep samba

1、配置无需密码任何人可直接访问的samba服务

先备份samba原配置文件,然后再修改配置文件

vi /etc/samba/smb.conf

    [global] 全局配置

    workgroup = LINUXSIR Windows中显示的工作组

    netbios name = LinuxSir01 Windows中显示出来的计算机名

    server string = Linux Samba Server TestServer Samba服务器说明

    security = share 验证和登录方式,使用share模式便可不用输入用户名和密码

    [linuxsir] 在windows中显示出的共享目录

    path = /opt/linuxsir 共享目录路径

    writeable = yes 是否可写

    browseable = yes 是否可以浏览

    guest ok = yes 匿名用户以guest身份登录

再创建共享目录,并修改该目录的权限

mkdir /opt/linuxsir

chmod -R 777 /opt/linuxsir

启动samba服务

service smb start

2、配置需用户名和密码登录的samba服务(不使用samba虚拟用户)

创建系统用户并设置密码

useradd test1

useradd test2

passwd test1

passwd test2

将创建的系统用户添加为samba用户,同时设置密码(此密码为使用连接samba时所用密码)

smbpasswd -a test1

smbpasswd -a test2

pdbedit -L 查看samba用户

修改配置文件内容

vi /etc/samba/smb.conf

    [global] 全局配置

    workgroup = LINUXSIR Windows中显示的工作组

    netbios name = LinuxSir01 Windows中显示出来的计算机名

    server string = Linux Samba Server TestServer Samba服务器说明

    security = user 验证和登录方式,使用user模式需输入用户名和密码

    [linuxsir] 在windows中显示出的共享目录

    path = /opt/linuxsir 共享目录路径

    writeable = yes 是否可写

    browseable = yes 是否可以浏览

    valid users = test1,test2 设置允许访问的用户

创建共享目录并开设权限

启动samba服务

3、在windows和linux系统中访问samba的方式

windows中,打开我的电脑-映射网络驱动器,按照步骤输入samba服务器的ip地址,选择共享文件夹

linux中,客户端需安装samba-client

yum -y install samba-client

yum -y install cifs-utils

smbclient -L 192.168.137.2 查看samba服务器的共享目录

mount -t cifs //192.168.137.2/linuxsir /mnt 注意挂载时samba服务器ip后跟共享目录的名字而非路径

mount.cifs //192.168.93.128/www /mnt -o username=smb,password=wang123

附:samba的软件结构及配置文件中其他选项的功能

/etc/samba/smb.conf    samba服务的主要配置文件

/etc/samba/lmhosts       samba服务的域名设定,主要设置IP地址对应的域名,类似linux系统的/etc/hosts

/etc/samba/smbusers       samba服务设置samba虚拟用户的配置文件

/var/log/samba           samba服务存放日志文件

/var/lib/samba/private/{passdb.tdb,secrets.tdb}    存放samba的用户账号和密码数据库文档

    [global]

    workgroup = WORKGROUP      工作组名称

    server string = Samba Server Version %v    主机的简易说明

    netbios name = MYSERVER      主机的netBIOS名称,如果不填写则默认服务器DNS的一部分,workgroup和netbios name名字不要设置成一样

    interfaces = lo eth0 192.168.12.2/24 192.168.13.2/24    设置samba服务器监听网卡,可以写网卡名称或IP地址,默认注释

    hosts allow = 127. 192.168.12. 192.168.13.      设置允许连接到samba服务器的客户端,默认注释

    hosts deny =192.168.12.0/255.255.255.0          设置不允许连接到samba服务器的客户端,默认注释

    log level =1                                    日志文件安全级别,0~10级别,默认0

    log file = /var/log/samba/%m           产生日志文件的命名,默认以访问者IP地址命名

    max log size = 50                日志文件最大容量50,默认50,单位为KB,0表示不限制

    security = share    设置用户访问samba服务器的验证方式 ,一共四种验证方式:

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       定义用户后台类型

1、smbpasswd:使用SMB服务的smbpasswd命令给系统用户设置SMB密码

2、tdbsam:创建数据库文件并使用pdbedit建立SMB独立用户,smbpasswd –a username建立samba用户并设置密码,不过建立samba用户必须先建立系统用户,也可以使用pdbedit命令来建立samba用户:

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服务进行账户验证

username map = /etc/samba/smbusers  配合/etc/samba/smbusers文件设置虚拟用户

load printers = no        关闭打印共享功能

[share]      自定义共享名称

comment =  This is share software      共享描述

path  =  /home/testfile                共享目录路径

browseable  =  yes/no                  设置共享是否可浏览,如果no就表示隐藏,需要通过IP+共享名称进行访问

writable  =  yes/no           设置共享是否具有可写权限

read only  =  yes/no           设置共享是否具有只读权限

admin users  =  root          设置共享的管理员,如果security =share 时,该项无效,多用户中间使用逗号隔开,例如admin users = root,user1,user2

valid users  =  username         设置允许访问共享的用户,例如valid users = user1,user2,@group1,@group2(多用户或组使用逗号隔开,@group表示group用户组)

invalid users  =  username        设置不允许访问共享的用户

write list  =  username         设置在共享具有写入权限的用户,例如例如write list  = user1,user2,@group1,@group2(多用户或组使用逗号隔开,@group表示group用户组)

public  =  yes/no            设置共享是否允许guest账户访问

guest  ok  =  yes/no           功能同public 一样

create mask = 0700                    创建的文件权限为700

directory mode = 0700                创建的文件目录为 700

你可能感兴趣的:(samba搭建)