使用 samba 可以Linux和UNIX系统上通过SMB(Server Messages Block,信息服务块)协议和Windows系统进行信息共享,进行文件传递。
下载
centos
1 | yum install samba |
ubuntu
1 | sudo apt-get update |
创建共享文件
1 | sudo mkdir -p /home/zihao/share |
备份后修改配置文件
1 | sudo cp /etc/samba/smb.conf /etc/samba/smb.conf_backup |
搜寻这一行文字
1 | ; security = user |
用下面这几行取代
1 | security = user |
在配置文件最后面添加如下内容:
1 | //[共享名] |
然后顺便把这里改一下,找到[global]
把 workgroup = MSHOME
改成
1 | workgroup = WORKGROUP |
后面的三行是为了防止出现中文目录乱码的情况。其中根据你的local,UTF-8
有可能需要改成 cp936
。自己看着办吧。
现在要添加 zihao
这个网络访问帐户。如果系统中当前没有这个帐户,那么
1 | sudo useradd zihao |
要注意,上面只是增加了 zihao
这个用户,却没有给用户赋予本机登录密码。所以这个用户将只能从远程访问,不能从本机登录。而且samba
的登录密码可以和本机登录密码不一样。
新增网络使用者的帐号
1 | sudo smbpasswd -a zihao |
在新建立的文件内加入下面这一行并保存
1 | zihao = "network username" |
如果将来需要更改 zihao 的网络访问密码,也用这个命令更改
1 | sudo smbpasswd -a zihao |
删除网络使用者的帐号的命令把上面的 -a
改成 -x
这是非常关键的一步: 添加允许访问samba
的账户(会让你设置对
应账户的密码); 有了这一步之后,不仅对应账户的home目录可以直接访问了,而且在这个路径下的文件你也具备读写权限。这一组命令还包括:
1 | smbpasswd -a 增加用户(要增加的用户必须已经是系统用户) |
重启服务
centos
1 | sudo /etc/init.d/smb restart |
ubuntu
1 | sudo service smbd restart |
cent OS7是通过systemctl 工具来启动了,方法如下:
1 | systemctl enable smb.service |
可以查看安装包信息
1 | rpm -qa | grep samba |
最后退出重新登录或者重新启动一下机器。
访问
远程访问测试:
linux
假如直接linux直接连接linux的samba
可参考man
和–help
1 | smbclient -L //127.0.0.1 -U zihao |
MacOS
打开Finder
快捷键 command +k
Windows
开始-》运行-》输入:\\Samba
服务器的ip
格式
1 | smb://server/printer |
注意
smb适用于内网,192,10 网段。
公网因为其所使用的端口号139,445 ,查看方式 netstat -anpl | grep mbd
均为高危端口号所以可能被部分运营商判断为高危端口,而进行了默认屏蔽。
虚拟机的配置方式请看另一个文章