Samba服务(匿名用户访问本地用户访问虚拟用户访问)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Samba服务(匿名用户访问本地用户访问虚拟用户访问)相关的知识,希望对你有一定的参考价值。

Samba是一个实现不同操作系统(Windows、Linux、UNIX)之间文件共享和打印机共享的一种SMB协议的免费软件。SMB协议是客户机/服务器协议,客户机通过该协议可以访问服务器上的共享文件及打印机共享资源。它主要应用于局域网上,也可以通过设置“NetBios over TCP/IP”同互联网中的电脑分享资源。

SMB协议:TCP 139端口 CIFS协议:TCP 445端口

重要配置文件:

/etc/samba/smb.conf:

SAMBA的主配置文件,内有丰富的说明,也可以通过man smb.conf查看它的详细说明。文档内部主要设定了两个部分,分别是[global]全局设置参数与共享文件设置参数;

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 //定义用户后台类型
    smbpasswd: 使用SMB服务的smbpasswd命令给系统用户设置SMB密码
    tdbsam: 创建数据库文件并使用pdbedit建立SMB独立用户,smbpasswd -a username 建立samba用户并设置密码,不过需要先建立系统用户,也可以使用pdbedit命令来建立samba用户
    pdbedit -a username:新建samba账号
    pdbedit -x username:删除samba账号
    pdbedit -L:列出samba账号列表,读取passdb.tdb数据库文件
    pdbedit -c “[D]” -u username:暂停该samba用户的账号
    pdbedit -c “[]" -u username:恢复该samba用户的账号
    ldapsam:基于LDAP服务进行账户验证
    username map=/etc/samba/smbusers //配合/etc/samba/smbusers文件设置虚拟账号

/etc/samba/lmhosts:

主要目的在对应NetBIOS name与该主机名称的IP,有点类似/etc/hosts功能;

/etc/samba/smbpasswd:

默认并不存在,它是SAMBA预设的使用者密码对应表,文件也可自行在smb.conf里面设定文件名及相应位置。不过需要注意该文件的权限(拥有者为root,权限为600);

/var/log/samba:samba服务日志文件

Samba服务部署(匿名用户访问、本地用户访问、虚拟用户访问)

#安装samba服务

rpm -ivh samba-3.6.9-164.el6.x86_64.rpm

匿名用户访问

  1. 编辑cmb.conf配置文件
vim /etc/samba/smb.conf

security=share //第101行,以share验证方式访问

#在原内容末尾新增内容
[share] //自定义共享名称
comment=this is share directory! //共享描述
path=/opt/share //共享目录路径
public=yes //设置共享是否允许guest账户访问
browseable=yes //yes/no,设置共享是否可浏览,如果no则表示隐藏,需要通过“//ip/共享目录"进行访问
writable=yes //设置共享是否具有可写权限
create mask=0644 //创建的文件权限为644
directory mask=0755 //创建的文件目录为755

2.创建共享目录及设置权限

mkdir /opt/share
chmod 777 /opt/share

  1. 添加并重启smb服务

chkconfig smb on
service smb restart

  1. 关闭selinux与防火墙

setenforce 0
service iptables stop

测试

Windows 7 系统操作:

打开运行输入 \192.168.100.3 直接访问

技术分享图片


本地用户访问

  1. 编辑cmb.conf配置文件
#vim /etc/samba/smb.conf

security=user //第101行,以user验证方式访问

[students] //自定义共享名称
comment=this is student directory! //共享描述
path=/opt/students //共享目录路径
browseable=yes //yes/no,设置共享是否可浏览,如果no则表示隐藏,需要通过“//ip/共享目录"进行访问
create mask=0644 //创建的文件权限为644
directory mask=0755 //创建的文件目录为755
valid users=zhangsan,lisi //设置允许访问共享的用户,zhangsan、lisi
write list=zhangsan //设置该共享具有写入权限的用户,(可以为用户和用户组 @group)

  1. 创建students共享目录及设置目录权限

mkdir /opt/students
chmod 777 /opt/students

  1. 新增用户zhangsan、lisi并设置密码

useradd -s /sbin/nologin zhangsan
passwd zhangsan //121212

useradd -s /sbin/nologin lisi
passwd lisi //121212

  1. 将系统用户zhangsan、lisi添加为samba用户并设置samba用户登录密码

smbpasswd -a zhangsan
smbpasswd -a lisi

  1. 查看samba用户

pdbedit -L

技术分享图片

  1. 重启smb服务
service smb restart

测试

Windows 7 系统操作:

打开运行输入 \192.168.100.3 直接访问,显示登录界面输入用户名:zhangsan,密码:121212

技术分享图片
技术分享图片
技术分享图片


虚拟用户访问

  1. 编辑smbusers配置文件
vim /etc/samba/smbusers

//新增以下信息
zhangsan =stu01 stu02 stu03

  1. 在smb.conf配置文件中添加以下记录
vim /etc/samba/smb.conf

security=user
username map=/etc/samba/smbusers //虚拟用户文件的映射

  1. 重启smb服务
service smb restart

测试

Windows 7 系统操作:

打开运行输入 \192.168.100.3 直接访问,显示登录界面输入用户名:stu01,密码:121212
技术分享图片
技术分享图片

以上是关于Samba服务(匿名用户访问本地用户访问虚拟用户访问)的主要内容,如果未能解决你的问题,请参考以下文章

samba服务本地用户访问共享文件夹

vsftpd服务详解(匿名用户访问,本地用户访问,指定用户访问控制,虚拟用户)

samba服务用虚拟用户名访问共享文件夹

搭建FTP服务,实现三种方式的访问:1.匿名访问;2,本地用户访问;3虚拟用户访问。

LINUX 6——安装samba匿名用户访问文件共享传输服务(新手详解)

搭建文件共享服务器-samba 匿名和用户验证访问