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

原文地址:http://blog.51cto.com/10316297/2118395

时间: 2024-10-27 18:45:49

Samba服务(匿名用户访问、本地用户访问、虚拟用户访问)的相关文章

samba服务匿名访问共享文件夹

1 安装samba文件包,在etc目录下可以看到有三个文件 2 将smb.conf进行备份,再把该文件进行过滤,可以看到界面上的注释都被过滤掉,只剩下可配置文件 3 现在对文件开始进行配置,首先将user改为share,表示匿名访问 4 接着在文件底端添加想要共享的文件,这里可以参照上面的模板进行配置,这里包括文件名,文件路径,访问权限,读写权限,文件自身权限,文件夹自身权限,配置完成后保存退出 5 保存退出后,在opt下创建一个abc作为共享文件的路径,接着把文件权限放到最大,接着输入命令se

CentOS7 FTP服务搭建(虚拟用户访问FTP服务)

概述 最近在搞Oracle在Linux系统下集群,针对Linux系统,笔人也是一片空白.Liunx外部文件的传输,避免不了使用FTP服务,所以现在就整理下,CentOS7环境下,FTP服务的搭建.FTP服务器需要安装vsftp服务端软件.我们知道,在建立vsftpd用户时,我们一般是在linux下建立用户useradd的方式来访问ftp,但有时我们只想提供ftp服务,而避免用户用ftp的帐号去登录linux,采用一般的方式只能是限制该用户的访问权限,但还是避免不了用户登录进linux系统,所以比

Vsftpd文件传输服务(三种认证模式:匿名开放 、本地用户、虚拟用户)

FTP是一种在互联网中进行中文件传输的协议,基于客户端/服务器端模式,默认使用20.21号端口,其中端口20(数据端口)用于进行数据传输,端口21(命令端口)用于接受客户端发出的相关FTP命令与参数. FTP的出现解决了各类设备.各类操作系统之间文件传输问题,极大地方便了用户通过网络资源的获取. FTP服务器常部署于企业内网中,具有容易搭建.方便管理的特点,目前有些FTP客户端工具还可以支持文件的多点下载以及断点续传,因此FTP服务得到了广大用户的青睐. FTP协议有两种工作模式: 1. 主动模

Ubunton下搭建ftp服务器 实现虚拟用户、本地用户、匿名用户的登陆及权限

#在ubunton系统下安装和配置ftp可以说是比较简单的 本篇教程是为了解决一下问题 需要搭建ftp服务器实现三种用户的登陆及权限管理 其中 anon可以自由的到特定的目录里下载东东: stu则可以到特定的目录里上传东东; 而tearcher,则可以对特定的目录里上传.下载东东; admin则可以对stu.teacher的数据进行统一的管理. 另外,做为系统上已经有的本地用户则可以登录自己的home目录. 针对上面的需求,ftp需要开通对匿名用户.本地用户.及虚拟用户的支持.并且特别对虚拟用户

ftp用虚拟用户访问

1.创建一个虚拟用户的数据库文件 vim /etc/vsftpd/vuser.list jerry jerry tom tom //单行为账户,双行为密码 使用db_load命令用hash算法生成ftp用户的数据库文件vuser.db db_load -T -t hash -f vuser.list vuser.db chmod 600 vuser.db  --为了安全性,权限改小一些 rm -rf vuser.list --删除原始账号和密码的文件 2.创建ftp根目录及虚拟用户映射的系统用户

安装vsftp,虚拟用户访问

安装vsftp虚拟用户访问 安装主机:192.168.0.25 一.安装ftp 1.查看是否安装了vsftp rpm -qa | grep vsftpd 2.未安装vsftp,则执行下列命令安装 yum -y install vsftpd 二.修改vsftpd.conf配置文件 vi /etc/vsftpd/vsftpd.conf 修改下面配置 anonymous_enable=NO (不允许匿名用户登陆) local_enable=YES (允许本地用户登录) write_able=YES (

通过MySQL实现虚拟用户访问vsftpd服务器

声明 作者:昨夜星辰 博客:http://yestreenstars.blog.51cto.com/ 本文由本人创作,如需转载,请注明出处,谢谢合作! 目的 通过MySQL实现虚拟用户访问FTP服务器. 配置 # 安装本次实验所用到的所有软件包 yum -y install vsftpd mysql-server mysql-devel pam-devel gcc-c++ make wget # 启动mysqld服务 service mysqld start # 初始化数据库管理员密码 mysq

配置FTP虚拟用户访问

直接使用本地用户(Linux系统的用户账户)来访问vsftpd服务器可能带来安全问题,变通的方法是使用虚拟用户(virtual user)来作为专门的FTP账户.FTP虚拟用户并不是操作系统的用户账户,不能登入系统,只能访问FTP服务器,对操作系统的影响更小.虚拟用户主要用来访问提供给非信任用户,但又不适合公开的内容. PAM(Pluggable Authentication Modules)是一套身份验证共享库,用于限定特定应用程序的访问.使用PAM身份验证机制可以实现vsftpd的虚拟用户功

[vsftp服务]——ftp虚拟用户、权限设置等的实验

搭建ftp服务器,满足以下要求: 1.允许匿名用户登录服务器并下载文件,下载速度设置为最高2MB/s 2.不允许本地用户登录ftp服务器 3.在服务器添加虚拟用户vuser01.vuser02.vuser03,密码自己设置.其中: (1)vuser01用户的下载速度最高为3MB/s,vuser02为4MB/s,vuser03为5MB/s: (2)vuser01可以进行文件上传,但不能进行其它操作: (3)vuser02可以上传和创建目录: (4)vuser03可以进行上传.创建文件和删除文件:

Centos 7安装配置 vsftp服务 (虚拟用户登录)

一.实验环境操作系统: CentOS 7 二.安装 关闭SELINUX: vim /etc/selinux/config SELINUX=disable 临时关闭: setenforce 0 三.安装vsftpd服务: 1.使用安装yum安装vsftp: yum -y install vsftp 2.备份vsftp主配置文件: cp /etc/vsftpd/vsftpd.conf{,.bak} 四.配置虚拟用户访问vsftp服务: 1.创建虚拟用户密码文件: user1 password1 us