CentOS7/RHEL7中samba的简介和配置
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CentOS7/RHEL7中samba的简介和配置相关的知识,希望对你有一定的参考价值。
1.samba简介:可以在linux与unix、linux、windows主机之间实现文件与打印机共享,用在局域网中。
2.samba架构:C/S架构,cifs共享协议。
3.samba监听的端口号:tcp的139/445,udp的137和138。
4.samba进程有nmbd和smbd。
5.samba用户使用的是系统用户,但共享文件的密码是通过smbpasswd -a 用户名来设置。
6.samba服务端配置步骤:
安装软件包:yum -y install samba*
创建系统账户:useradd -r -M -s /sbin/nologin tom
设置共享密码:smbpasswd -a tom
启动服务:systemctl start smb nmb
systemctl enable smb nmb
或者
systemctl enable --now smb nmb
查看服务状态:
systemctl status smb
systemctl status nmb
7.samba客户端配置步骤:
安装软件包:yum -y install samba-client
8.samba安全级别:
user:基于本地的验证
server:由另一台指定的服务器对用户身份进行认证
domain:由域控进行身份验证
share:用来设置匿名访问(已经不支持了)
8.samba服务主配置文件:/etc/samba/smb.conf (修改完可以使用testparm进行测试,检查配置有没有错误)
[global],全局配置,对整个samba服务器都有效
workgroup,工作组
security,安全级别
passdb backend,samba密码存放所在文件的类型(tdbsam数据库文件)
[homes]宿主目录共享设置,使用samba用户进行登录,默认登录的位置为该用户的家目录。
[printers]打印机共享设置。
[共享名]
comment,对共享的一个说明或描述
browseable,设置共享是否可见(yes可见,no不可见(这就是隐藏共享),注意设置为no时需要smb://服务器ip/共享名,这样才能连接访问到)
path,共享目录的路径
writable,设置共享目录是否可写
guest ok ,设置所有人都可以访问共享目录
publlic,设置是否允许匿名用户访问
write list,设置允许写的用户和组,组要用@组名表示(这里列出有和valid users相同的用户,则该用户可读可写,否则只是可读)
valid users,设置可以访问共享目录的用户,在这里列出的用户对共享目录可读
hosts deny,设置禁止访问的主机,用ip地址
hosts allow,设置允许访问的主机,用ip地址
注意:主配置文件修改完,要重启服务,systemctl restart smb nmb.
查看服务有没有起来,ss -antlp,有tcp的139和445端口.
用户能不能对共享目录进行写操作,还要设置该用户对该目录有写权限.
9.windows上:win+r ,服务器ip
cmd---net use可以看到连接的共享,net use /?可以列出用法,net use /delete 服务器ip可以删除已有连接,换用户测试
10.mac上:smb://服务器ip
11.smbpasswd的用法:
-a 系统用户 //添加系统用户为samba用户,并设置共享密码
-d 系统用户 //禁用samba用户
-e 系统用户 //启用samba用户
-x 系统用户 //删除samba用户
示例:添加两个samba用户并设置共享密码,创建一个共享目录/sharesamba,在主配置文件里添加共享内容,包括文件路径,是否有权限读、写、共享是否可见、说明等参数
服务端配置:
客户端配置:
注意:smbclient -L 服务器ip -U 用户名,只能用于查看该用户所能访问的共享;
smbclient //服务器ip/共享名 -U 用户名,可以使用指定的这个用户名来连接共享,使用exit可以退出,使用help可以查看可以使用的命令(这种连接使用的方式不好用,不推荐)。
可以使用挂载的方式使用samba共享(如下两种,任远其一):
临时挂载(可以将共享挂载到不同用户的不同挂载目录下):
mount -t cifs //服务器ip/共享名 挂载点 -o username=tom,password=123
mount -t cifs //服务器ip/共享名 挂载点 -o username=jerry,password=123
永久挂载:vim /etc/fstab
//服务器ip/共享名 挂载点 cifs defaults,username=tom,password=123 0 0
//服务器ip/共享名 挂载点 cifs defaults,username=jerry,password=123 0 0
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
12.扩展部分:配置 基于用户认证的共享
服务端:增加一个用户映射的文件,配置文件修改下,共享文件属主修改一下。
【vim /etc/samba/smbusers
tom = xiaoming //将tom用户映射为xiaoming用户,使用xiaoming用户进行访问,更安全,xiaoming用户在系统中是不存在的
chown tom.tom 共享目录 //试了一下用setfacl,有问题,不能在挂载目录创建文件】
【vim /etc/samba/smb.conf
在global里面添加一行:username map = /etc/samba/smbusers】
【在[共享名]里面还是用tom真实账户】
客户端配置:查看共享、永久挂载,和前面做法没有区别。
vim /etc/fstab
//服务器ip/共享名 挂载点 cifs defaults,username=xiaoming,password=123 0 0
13.配置匿名用户共享:
服务端配置:
yum -y install samba*
mkdir /anything //创建共享目录
chmod 777 /anything //设置权限
vim /etc/samba/smb.conf //修改配置文件
[global]
map to guest = Bad User //添加
[share3] //共享名
comment = xxx //描述
path = /anything //共享目录路径
browseable = yes //共享可见
writable = yes //可写
public = yes //所有人都能访问
guest ok = yes //匿名用户也可以访问
systemctl restart smb nmb
客户端配置:
yum -y install samba-client
smbclient -L 服务器ip -U ‘Bad User‘
mkdir /anymount //创建挂载点
vim /etc/fstab
//服务器ip/anything /anymount cifs defaults,username=BadUser 0 0
mount -a
df -h
客户端验证:
cd /anymount
touch abc
ll
服务端验证:
cd /anything
ll
以上是关于CentOS7/RHEL7中samba的简介和配置的主要内容,如果未能解决你的问题,请参考以下文章