Zihao

Make small but daily progress

0%

linux和windows共享文件的samba安装配置

使用 samba 可以Linux和UNIX系统上通过SMB(Server Messages Block,信息服务块)协议和Windows系统进行信息共享,进行文件传递。

下载

centos

1
2
yum install samba
yum install samba-client

ubuntu

1
2
sudo apt-get update 
sudo apt-get install -y samba samba-client

创建共享文件

1
2
sudo mkdir -p /home/zihao/share
sudo chmod 777 /home/zihao/share

备份后修改配置文件

1
2
sudo cp /etc/samba/smb.conf  /etc/samba/smb.conf_backup
sudo vim /etc/samba/smb.conf

搜寻这一行文字

1
; security = user

用下面这几行取代

1
2
security = user
username map = /etc/samba/smbusers

在配置文件最后面添加如下内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//[共享名]
[Share]
//说明:comment是对该共享的描述,可以是任意字符串。
comment = Shared Folder with username and password
//path用来指定共享目录的路径。可以用%u、%m这样的宏来代替路径里的unix用户和客户机的Netbios名,用宏表示主要用于[homes] 共享域。
path = /home/ zihao/share
//说明:public用来指定该共享是否允许guest账户访问。
public = yes
//说明:writable用来指定该共享路径是否可写。
writable = yes
//说明:valid users用来指定允许访问该共享资源的用户。
valid users = zihao
create mask = 0755
directory mask = 0755
//说明:available用来指定该共享资源是否可用。
available = yes
//说明:browseable用来指定该共享是否可以浏览。
browseable = yes

然后顺便把这里改一下,找到[global]workgroup = MSHOME 改成

1
2
3
4
workgroup = WORKGROUP
display charset = UTF-8
unix charset = UTF-8
dos charset = cp936

后面的三行是为了防止出现中文目录乱码的情况。其中根据你的local,UTF-8 有可能需要改成 cp936。自己看着办吧。

现在要添加 zihao 这个网络访问帐户。如果系统中当前没有这个帐户,那么

1
sudo useradd zihao

要注意,上面只是增加了 zihao 这个用户,却没有给用户赋予本机登录密码。所以这个用户将只能从远程访问,不能从本机登录。而且samba的登录密码可以和本机登录密码不一样。

新增网络使用者的帐号

1
2
sudo smbpasswd -a zihao
sudo vim /etc/samba/smbusers

在新建立的文件内加入下面这一行并保存

1
zihao = "network username"

如果将来需要更改 zihao 的网络访问密码,也用这个命令更改

1
sudo smbpasswd -a  zihao

删除网络使用者的帐号的命令把上面的 -a 改成 -x

这是非常关键的一步: 添加允许访问samba的账户(会让你设置对
应账户的密码); 有了这一步之后,不仅对应账户的home目录可以直接访问了,而且在这个路径下的文件你也具备读写权限。这一组命令还包括:

1
2
3
4
5
smbpasswd     -a  增加用户(要增加的用户必须已经是系统用户)
smbpasswd -d 冻结用户,就是这个用户不能再登陆了
smbpasswd -e 恢复用户
smbpasswd -n 把用户的密码设置成空,要在global中写入null passwords -true
smbpasswd -x 删除用户

重启服务

centos

1
sudo /etc/init.d/smb restart

ubuntu

1
sudo service smbd restart

cent OS7是通过systemctl 工具来启动了,方法如下:

1
2
3
4
systemctl enable smb.service
systemctl enable nmb.service
systemctl restart smb.service
systemctl restart nmb.service

可以查看安装包信息

1
rpm -qa | grep samba

最后退出重新登录或者重新启动一下机器。

访问

远程访问测试:

linux

假如直接linux直接连接linux的samba可参考man–help

1
2
3
4
5
6
7
8
smbclient -L //127.0.0.1 -U  zihao
这样可以列出你可以访问的目录及文件
smbclient //127.0.0.1/ zihao -U zihao
这样了可以访问你的个人目录了
smbclient -L //127.0.0.1 -N
列出不须密码可以访问的目录及文件
smbclient //127.0.0.1/Document -N
匿名访问 Document目录

MacOS

打开Finder 快捷键 command +k

Windows

开始-》运行-》输入:\\Samba服务器的ip
格式

1
2
3
4
smb://server/printer
smb://workgroup/server/printer
smb://username:password@server/printer
smb://username:password@workgroup/server/printer

注意

smb适用于内网,192,10 网段。

公网因为其所使用的端口号139,445 ,查看方式 netstat -anpl | grep mbd均为高危端口号所以可能被部分运营商判断为高危端口,而进行了默认屏蔽。

虚拟机的配置方式请看另一个文章

  • 本文作者: Zihao Yao
  • 本文链接: https://yaozihao.com/samba_install/
  • 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!

欢迎关注我的其它发布渠道