用户管理
添加 Linux 用户
添加一个不能登录且没有家目录属于私有组的用户
1
|
sudo useradd username -s /sbin/nologin -M
|
添加一个不能登录且没有家目录属于默认组的用户
1
|
sudo useradd username -s /sbin/nologin -M -N
|
添加 SMB 用户
1
2
3
4
|
sudo smbpasswd -a username
# Here are tips
New SMB password:
Retype new SMB password:
|
修改 SMB 用户密码
1
2
3
4
|
sudo smbpasswd username
# Here are tips
New SMB password:
Retype new SMB password:
|
禁用 SMB 用户
1
|
sudo smbpasswd -d username
|
启用 SMB 用户
1
|
sudo smbpasswd -e username
|
查询 SMB 用户
删除 SMB 用户
1
|
sudo smbpasswd -x username
|
端口监听说明
137/udp
用于 NetBIOS 名称服务(NetBIOS Name Service)
138/udp
用于 NetBIOS 数据报服务(NetBIOS Datagram Service)(不推荐使用或放行)
139/tcp
用于 SMB 服务(NetBIOS Session Service)(不推荐使用或放行)
445/tcp
用于 SMB 服务(Microsoft-DS)
配置文件
作为 server 时支持 NT1(SMB1) 及以上协议
1
2
|
[global]
server min protocol = NT1
|
作为 client 时仅接受 SMB3 及以上协议
1
2
|
[global]
client min protocol = SMB3
|
测试 Samba 的设置
常用 SMB 共享配置模板
1
2
3
4
5
6
7
8
9
10
|
[shared.name]
comment = remote folder
path = /mnt/shared
#browseable = no
#guest ok = yes
read only = no
#writable = no
valid users = username, @groupname
#invalid users = username, @groupname
#write list = username, @groupname
|
Linux 挂载
临时挂载
1
|
sudo mount -t cifs -o username=username,password=password //server/share /mnt/shared
|
如果密码包含逗号
1
|
PASSWD=12,34 sudo mount -t cifs -o username=username //server/share /mnt/shared
|
systemd 挂载
1
|
sudo vim /etc/systemd/system/mnt-shared.mount
|
1
2
3
4
5
6
7
8
9
10
11
12
|
[Unit]
Description=Mount shared folder
After=network-online.target
[Mount]
What=//server/share
Where=/mnt/shared
Type=cifs
Options=username=username,password=password
[Install]
WantedBy=multi-user.target
|
如果密码包含逗号
1
2
3
4
5
6
7
8
9
10
11
12
13
|
[Unit]
Description=Mount shared folder
After=network-online.target
[Mount]
What=//server/share
Where=/mnt/shared
Type=cifs
Environment=PASSWD=12,34
Options=username=username
[Install]
WantedBy=multi-user.target
|
启动服务和设置开机启动
1
2
|
sudo systemctl start mnt-shared.mount
sudo systemctl enable mnt-shared.mount
|
常见问题
Windows 连接 samba 时输入正确的用户名和密码后,如果提示错误,多半是因为已经用另一个账号连接过了,需要断开连接。
打开 cmd,输入以下命令