Linux samba的安装与使用

摘要: VS和Linux不可兼得, 但使用samba在Windows下共享Linux文件夹, 使得在Windows环境也也能方便的操作Linux中的文件, 就可以使用VS编辑Linux上的项目了, 岂不是很舒服… 此文主要记录了在Linux搭建samba服务, 提供一个共享位置, 再在Windows连接这个共享, 不深究samba更多的配置.

环境: CentOS Linux release 7.6.1810, Win10

samba的安装及配置

1
2
3
4
5
6
7
8
9
10
11
#
$ yum install -y samba # 安装samba
$ rpm -qa | grep samba # 检查samba安装情况
samba-common-4.8.3-4.el7.noarch
samba-client-libs-4.8.3-4.el7.x86_64
samba-common-libs-4.8.3-4.el7.x86_64
samba-libs-4.8.3-4.el7.x86_64
samba-common-tools-4.8.3-4.el7.x86_64
samba-client-4.8.3-4.el7.x86_64
samba-4.8.3-4.el7.x86_64
# 有上面这些说明安装成功了

samba最主要的环节是写好配置, 安装好samba后, samba的配置在: /etc/samba/smb.conf, vim打开修改它.
在smb.conf中最需要关心[global]项, 以及自己将要添加的项[share], 其中有注释是需要知道的, 其它暂且不管, 需要的时候在查资料吧

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
---------------------- file: /etc/samba/smb.conf ----------------------
[global]
workgroup = MYGROUP
security = user # 安全级别, 默认为user, 即由samba验证账户, 在连接samba服务时需要提供

passdb backend = tdbsam

printing = cups
printcap name = cups
load printers = yes
cups options = raw

... # 中间的东西都可以不管

[youshare] # 这是在文件底部新建的项, youshare这个名字将会是samba服务提供共享位置
comment = directory # 共享位置描述, 是个注释
path = /home/youyouname # 设置共享位置在主机中的路径, 实际上真正共享的是此处
browseable = yes # 可浏览
public = no # 非公有的, 隶属用户, 与global的安全级别相关
writeable = yes # 可写
valid users = youname # 指定访问该位置的用户
create mask = 0664 # 设置上传文件的权限
directory mask = 0775 # 设置创建目录的权限
force user = youname # 文件所属用户
force group = youname # 文件所属组
available = yes # 指定共享资源是否可用
unix charset = UTF-8 # 设置字符集

配置好后, 为samba设置用户, 这个用户可以是当前linux用户

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 直接使用当前用户了, 用户目录就是/home/yourname
$ smbpasswd -a youname # 为用户you设置密码
New SMB password:
Retype new SMB password:

# 设置目录权限
$ sudo chmod -R 775 youname
$ sudo chown -R youname:youname youname

# 重启samba服务
$ sudo systemctl restart smb.service

# 验证samba服务
$ smbclient -U yourname //localhost/youshare # youshare是smb.conf里的[youshare]
Enter MYGROUP\yourname's password:
Try "help" to get a list of possible commands.
smb: \> qiut # 到这就说明smb服务共享位置成功了
smb: \> ls # ls能够打印出共享目录里的文件
...

windows连接

如下图, 右键电脑映射一个网络地址

avatar

文件夹需要填写samba服务所在主机的ip地址, 和共享文件夹位置youshare
勾选使用其他凭据连接, 填写上面设置的samba账户和密码

avatar

如上图, 添加成功, 就可以随意的操作里面的文件了!