安装 samba服务
samba 服务允许 windows与unix系统相互访问资源,使用非常方便。 本文总结如何在 centos7 上安装 samba服务器
-> 安装并启动samba服务
- 安装
sudo yum install samba samba-client
1 - 启动服务并
sudo systemctl start smb.service sudo systemctl start nmb.service
1
2 - 设置开机启动
sudo systemctl enable smb.service sudo systemctl enable nmb.service
1
2
smbd
服务会监听 TCP 139及445接口
nmbd
服务会监听 UDP 137端口
-> 创建用户以及目录结构
一般会存在一个管理员用户,及其它相互隔离的普通用户。
目录结构,对应 smb协议,会存在多个 share
, 分为两种类型
- public share,所有用户均可访问
- private share,特定用户才能访问
举例说明:
- 需要创建3个用户
- 管理员:sadmin,
- 普通用户:tom,jerry
- 需要创建两个 share,
- 公用空间:public, 以上三个用户均能访问
- 私有空间:tom,仅 tom 和 sadmin能访问
-> 创建顶级目录
这里创建一个 /samba
的顶级命名空间, 存放后续所有内容
sudo mkdir /samba
1
-> 创建用户组
创建用户组 sambashare
, 后续所有samba用户均为该用户组成员
sudo groupadd sambashare
1
samba 复用了 linux的用户和目录权限,这里给目录授予用户权限
sudo chgrp sambashare /samba
1
-> 创建用户
如上所说, samba用户和 linux用户是重合的,所以使用 useradd命令创建用户即可
sudo useradd -M -d /samba/tom -s /usr/sbin/nologin -G sambashare tom
1
-M
do not create the user’s home directory. We’ll manually create this directory-d
set the user’s home directory-s
/usr/sbin/nologin - disable shell access for this user-G
add the user to the sambashare group
同理创建 sadmin 和 jerry用户
sudo useradd -M -d /samba/public -s /usr/sbin/nologin -G sambashare sadmin
sudo useradd -M -d /samba/public -s /usr/sbin/nologin -G sambashare jerry
1
2
2
-> 创建 share
sudo mkdir /samba/tom
sudo chown tom:sambashare /samba/tom
sudo chmod 2770 /samba/tom
1
2
3
2
3
sudo mkdir /samba/public
sudo chown sadmin:sambashare /samba/public
sudo chmod 2770 /samba/public
1
2
3
2
3
-> 设置用户密码并使生效
将当前用户加入到 samba数据库中, 并设置用户密码
sudo smbpasswd -a tom
1
密码设置完毕后,使用户生效
sudo smbpasswd -e tom
1
同理设置其它用户密码并 enable即可
-> 配置 samba share
sudo vim /etc/samba/smb.conf
1
设置配置如下:
[public]
path = /samba/public
browseable = yes
read only = no
force create mode = 0660
force directory mode = 2770
valid users = @sambashare @sadmin
[tom]
path = /samba/tom
browseable = no
read only = no
force create mode = 0660
force directory mode = 2770
valid users = tom @sadmin
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
添加或修改配置后,需重启相关服务生效
sudo systemctl restart smb.service
sudo systemctl restart nmb.service
1
2
2
-> samba 客户端连接
客户端连接命令为 smbclient //samba_hostname_or_server_ip/share_name -U username
eg:
smbclient //127.0.0.1/tom -U tom
1
-> windows 挂载
-> 参考
编辑此页 (opens new window)
更新于: 2020-06-30 11:22