Centos7 启用Samba

1. 安装samba

yum -y install samba samba-client

2. 配置

进入samba配置目录

cd /etc/samba/

备份smb.conf

cp smb.conf smb.conf.bak

3. 修改后的smb.conf

[global]
        workgroup = WORKGROUP
        server string = Samba Server %v
        netbios name = Samba
        security = user
        map to guest = Bad User
        passdb backend = tdbsam

[Home]
        comment = home
        path = /home/files
        public = no
        admin users = user
        valid users = user
        writeable = yes
        create mask = 0750
        directory mask = 0750

这里写了两个标签 [global] / [Home]。[global] 配置的是一些全局的属性,不需要去动他。

关于 [global] 有两个地方需要注意:

1. security = user

说明:设置用户访问Samba Server的验证方式,一共有四种验证方式。
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)来完成认证。

2.  passdb backend = tdbsam

说明:passdb backend就是用户后台的意思。目前有三种后台:smbpasswd、tdbsam和ldapsam。sam应该是security account manager(安全账户管理)的简写。
1.smbpasswd:该方式是使用smb自己的工具smbpasswd来给系统用户(真实用户或者虚拟用户)设置一个Samba密码,客户端就用这个密码来访问Samba的资源。smbpasswd文件默认在/etc/samba目录下,不过有时候要手工建立该文件。
2.tdbsam: 该方式则是使用一个数据库文件来建立用户数据库。数据库文件叫passdb.tdb,默认在/etc/samba目录下。passdb.tdb用户数据库 可以使用smbpasswd –a来建立Samba用户,不过要建立的Samba用户必须先是系统用户。我们也可以使用pdbedit命令来建立Samba账户。pdbedit命令的 参数很多,我们列出几个主要的。
  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的账户管理方式来验证用户。首先要建立LDAP服务,然后设置“passdb backend = ldapsam:ldap://LDAP Server”

关于 [Home] :

1. comment = home

指定的是打开Samba后文件夹的名称。一个 [ ] 对应Linux的一个路径和Samba的一个文件夹。

如果需要多个路径,可以创建多个 [ ] 。

2. admin users = user 

说明:admin users用来指定该共享的管理员(对该共享具有完全控制权限)。在samba 3.0中,如果用户验证方式设置成“security=share”时,此项无效。
例如:admin users =david,sandy(多个用户中间用逗号隔开)。

3. valid users = user

valid users = 允许访问该共享的用户
说明:valid users用来指定允许访问该共享资源的用户。
例如:valid users = david,@dave,@tech(多个用户或者组中间用逗号隔开,如果要加入一个组就用“@组名”表示。)

4. public = yes/no

说明:public用来指定该共享是否允许guest账户访问

 

配置完之后不要忘记打开139 / 445 端口

 

samba配置完后用windows访问文件夹只能看见文件夹而看不到文件

解决方法:
主要是selinux的问题
#setenforce 0 就OK了
或者直接修改/etc/selinux/config文件
selinux一项改为disable或者Permissive就可以了,不过修改配置文件要重启系统才能生效。

 

需要使用samba,
需要启动服务(systemctl restart smb)
临时关闭selinux(setenforce 0)

需要配置防火墙(打开139/445端口)
firewall-cmd --permanent --add-port=139/tcp
firewall-cmd --permanent --add-port=445/tcp
并重启防火墙
systemctl enable firewalld


查看开放的端口:
firewall-cmd --list-ports

如何关闭端口:
firewall-cmd --permanent --zone=public --remove-port=139/tcp

 

其他属性可以参阅文章,内部非常详细:

https://www.cnblogs.com/muscleape/p/6385583.html

另一篇参考文章:

https://www.cnblogs.com/nidey/p/6195483.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值