Samba文件共享

本文介绍了Samba,它是Linux和UNIX系统上实现SMB协议的免费软件。详细说明了Samba服务的部署步骤,包括关闭防火墙、安装软件、创建用户和修改配置文件等;还介绍了客户端访问服务器的方法,以及配置文件解析和常见问题排错,最后给出了配置共享目录的步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、简介
Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。
协议:SMB(TCP 139)、CIFS(TCP 445)网上邻居
软件包:samba;系统服务:smb
samba共享账号:默认情况下访问samba共享必须通过用户验证,专门用户访问samba共享时验证的用户与密码,与系统用户为同一用户,但是拥有独立密码,不能跟系统用户的密码一样。


常用命令:
smbpasswd 用来修改samba密码
格式:smbpasswd 【选项】账户名称
选项: -a 添加账户并设置密码
-x 删除SMB账户
-d 禁用SMB用户
-e 启用SMB账户
————————————————————————————————————————————————
二 部署samba服务(172.25.0.11)
关闭selinux 和防火墙
]# sed -i “/SELINUX=/c SELINUX=disable” /etc/sysconfig/selinux
#systemctl stop firewalld
2.1 安装软件、创建共享文件夹
]# yum -y install samba
]# mkdir /common
]# chmod 777 /common
]# echo “hello the world” > /common/smb.txt
2.2 创建用户,修改配置文件
]# useradd -s /sbin/nologin smbuser
]# smbpasswd -a smbuser
]# vim /etc/samba/smb.conf
[common]
comment = Common share
path = /common
browseable = yes
guest ok = no
writable = yes
】#cat /etc/samba/smb.conf
2.3 启动服务
]# systemctl start smb
]# systemctl enable smb


三 、客户端172.25.0.10访问samba服务器
]# setenforce 0
]# systemctl stop firewalld.service
3.1安装客户端软件
]# yum provides samba-client
]# yum -y install samba-client-4.6.2-8.el7.x86_64
3.2 查看共享信息
]# smbclient -L //172.25.0.11 (仅查看,直接回车)
使用samba用户登陆,(交互式访问共享文件夹):
]# smbclient -U smbuser //172.25.0.11/common

3.3 挂载共享文件夹到本地使用
]# mkdir /com
]# mount -t cifs //172.25.0.11/common /com -o username=smbuser,password=123
设置开机挂载:
]# echo “//172.25.0.11/common /com /smb cifs defaults,username=smbuser,password=123 0 0” > /etc/fstab


四 、配置文件解析
/etc/samba/smb.conf配置文件,[global]为全局配置段,其他的为共享段。
【global】
workgroup = MYGROUP //定义该Samba服务器所在的工作组或者域
server string = MY Samba Server // 设定机器的描述
hosts allow = ip地址或网段 //设置允许访问的网络和主机IP
hosts deny = //设置不允许访问的网络
printcap name = printcapFile //到printcapFile(一般是/etc/printcap)这个文件中取得打印机的描述信息
load printers = yes|no //设定是否自动共享打印机
log file = /var/log/samba/%m.log //日志记录文件
max log size = size //记录文件大小
security = security_level //定义Samba的安全级别,按从低到高分为四级:share,user,server,domain。
user:samba的默认配置
password server = //当security设定为server或者domain的时候才有必要设定它。
encrypt passwords = yes|no //设置是否对密码进行加密,samba本身的密码文件/etc/samba/smbpasswd。
smb passwd file = /etc/samba/smbpasswd //用户密码文件
ssl CA certFile = sslFile //当samba编译的时候支持SSL的时候,/usr/share/ssl/certs/ca-bundle.crt。
username map = //指定用户映射文件(一般是/etc/samba/smbusers)
interfaces = //网络接口,

【myshare】(一般网络邻居里面可以看到的文件夹)
comment指的是对改共享的备注。
path 指定共享的路径
writeable指定了这个目录缺省是否可写
user设置所有可能使用该共享资源的用户
valid users指定能够使用该共享资源的用户和组。
invalid users指定不能够使用该共享资源的用户和组。
read list 指定只能读取该共享资源的用户和组。
write list指定能读取和写该共享资源的用户和组
admin list指定能管理该共享资源(包括读写和权限赋予等)的用户和组
public指明该共享资源是否能给游客帐号访问,也叫guest ok
hide dot files指明是不是像unix那样隐藏以“.”号开头的文件。
create mode指明新建立的文件的属性,一般是0755。
directory mode指明新建立的目录的属性,一般是0755。
sync always指明对该共享资源进行写操作后是否进行同步操作。
case sensitive指明是否对大小写敏感,一般选no,
force user强制把建立文件的属主是谁
wide links指明是否允许共享外符号连接;
max connections = n设定同时连接数是n。
delete readonly指明能否删除共享资源里面已经被定义为只读的文件。


有两类特殊的共享,分别是光驱和打印机
[cdrom]

[printers]


常见问题排错
1)NT_STATUS_BAD_NETWORK_NAME
输入了错误的共享名称,需要检查客户端请求
2)NT_STATUS_LOGON_FAILURE
说明登陆失败,一般由于账户名称或密码错误;
3)NT_STATUS_ACCESS_DENIED
说明访问被拒绝,权限不足,这里可能时samba服务设置的访问权限或者是服务器文件系统的访问权限不允许客户端访问。
4)Error NT_STATUS_HOST_UNREACHABLE
说明客户端无法连接samba服务器,一般由于网络故障或者防火墙问题,需要检查客户端与服务器的网络连接是否正常。
5)Not enough ‘’ charachters in service
说明客户端访问时共享路径输入有误。

——————————————————————————————

配置samba共享目录

1、 安装samba

yum -y install samba

2、 配置samba服务

创建用户

useradd -s /sbin/nologin smb_admin

smbpasswd -a smb_admin

chown smb_admin.smb_admin /var/mqsi/yfai/fileAdapter

chmod -R 777 /var/mqsi/yfai/fileAdapter

3、 更改配置文件

vi /etc/samba/smb.conf

comment = Shared Directories

path = /var/mqsi/yfai/fileAdapter

public = no

admin users = smb_admin

valid users = @smb_admin

browseable = yes

writable = yes

create mask = 0777

directory mask = 0777

force directory mode = 0777

force create
mode = 0777

4、 启动服务

systemctl start smb nmb

一. Samba 简介 Samba(SMB是其缩写) 是一个网络服务器,用于Linux和Windows共享文件之用;Samba 即可以用于Windows和Linux之间的共享文件,也一样用于Linux和Linux之间的共享文件;不过对于Linux和Linux之间共享文件有更好的网络文件系统NFS,NFS也是需要架设服务器的; 大家知道在Windows 网络中的每台机器即可以是文件共享的服务器,也可以同是客户机;Samba 也一样能行,比如一台Linux的机器,如果架了Samba Server 后,它能充当共享服务器,同时也能做为客户机来访问其它网络中的Windows共享文件系统,或其它Linux的Sabmba 服务器; 我们在Windows网络中,看到共享文件功能知道,我们直接就可以把共享文件夹当做本地硬盘来使用。在Linux的中,就是通过Samba的向网络中的机器提供共享文件系统,也可以把网络中其它机器的共享挂载在本地机上使用;这在一定意义上说和FTP是不一样的。 二. Samba的几个套件,安装及简单配置 sambasamba-client, samba-common 一句 sudo apt-get install samba samba-client 就能全部装上 启动samba也很简单: sudo /etc/init.d/samba start 设置samba的密码, 可以先添加samba用户, 必须是系统用户。 smbpasswd -a yourname 三. 互访 1)windows访问ubuntu windows访问ubuntu很简单, 先在ubuntu上设置共享目录即可, 鼠标右键点目录,选择sharing options, 够选share this folder,需要的话也可以够选下面的allow write 这时在windows的网络邻居中的网络中查找就能找到共享目录了,通过//host也行 2)ubuntu访问windows 第一种:在ubuntu的网络中直接浏览访问 位置->网络,点击界面中windows网络->workgroup,在workgroup组中就可以看到windows计算机名,双击会弹出输入用户名和密码的对话框,将我们上面设置smb的用户名和密码输入就可以进行访问。 第二种:用ubuntu 系统自带的连接到服务器功能访问 位置->连接到服务器,在服务类型中选择“windows共享”,在服务器中输入windows计算机的ip地址或计算机名,点击连接,这样在系统桌面中就会显示一个连接到windows 计算机的文件卷,里面就是windows计算机的共享目录了。 同样在访问的时候要输入smb的用户名和密码。 第三种:用mount’挂载windows的共享目录到本地磁盘 首先要在ubuntu系统中建立一个挂载点,在这里我们建立的挂在点为 /mnt/wind 同样在保证网络连接正常,且windows中有共享目录的前提下,进行一下操作 以windows的ip为192.168.0.1,共享文件夹为share为例 命令如下: mount -t smbfs –o username=wangyh,password=123456 //192.168.0.1/share /mnt/wind 有是这样在访问的时候会出现中文乱码的问题,这样我们可以按下面命令来执行,可以解决这个问题 mount -o smbfs -o iocharset=uft8,codepage=cp936,clmask=777,fmask=777,userneme=wangyh,password=123456 //192.168.0.1/share /mnt/wind 注解:usename和password都为smb的用户和密码,如果要详细了解mount命令,使用man mount在终端查看详细用法 第四种:使用smbclient 命令 一般来讲先列出所有共享目录,命令如下: smbclient –L //192.168.0.1/ -U yourname 输入smb的密码后,将看到共享目录列表。 假设进入共享目录share,命令如下: smbclient //192.168.0.1/share -U yourname 之后将看到一个smb:> 已经进入了smb模式,有些像ftp,敲help可以查看相关命令,get,put可以下载和上传文件。 五. 小结 以上几步,对于简单使用ubuntu和windows的文件共享于互访已经足够,更详细的资料可以参考:http://linux.vbird.org/linux_server/0370samba.php#server_pkg
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值