共计 1176 个字符,预计需要花费 3 分钟才能阅读完成。
1. 修改 samba 的配置文件
sudo vim /etc/samba/smb.conf
添加如下内容 (根据个人需求适当修改):
[show_name]
comment = my_share
path = /home/my_doc
public = yes
writeable = yes
browseable = yes
guest ok = yes
共享目录为:/home/my_doc
共享目录对外名称为:show_name 即在 Windows 看到的目录名称。
设置共享目录权限:chown -R user:group /home/my_doc
2. 启动或者重启 smb 服务
重启 smb 服务:
(ubuntu 系统)
sudo /etc/init.d/smbd restart
或
service smb restart
或
systemctl restart smb
测试 smb.conf 配置是否正确
testparm
3. 增加 samba 用户
Linux 的用户密码和 samba 的用户密码不一样,但是 samba 的用户必须是 Linux 的用户,因此需要将用于登录 samba 的账户添加到 samba 的用户数据库,执行如下命令:
smbpasswd -a your_account
此时会提示设置 your_account 在 samba 中的密码,输入两次密码后即可添加该账户到 samba 成功。
如果需要新创建一个 linux 用户,可执行下述命令:
sudo useradd -d /home/your_account -m -s /bin/bash -g root your_account
sudo passwd your_account
参数说明:
-c< 备注 > 加上备注文字。备注文字会保存在 passwd 的备注栏位中。
-d< 登入目录 > 指定用户登入时的启始目录。
-D 变更预设值。
-e< 有效期限 > 指定帐号的有效期限。
-f< 缓冲天数 > 指定在密码过期后多少天即关闭该帐号。
-g< 群组 > 指定用户所属的群组。
-G< 群组 > 指定用户所属的附加群组。
-m 自动建立用户的登入目录。
-M 不要自动建立用户的登入目录。
-n 取消建立以用户名称为名的群组。
-r 建立系统帐号。
-s<shell> 指定用户登入后所使用的 shell。
-u<uid> 指定用户 ID。
4. 查看 samba 服务器中已拥有哪些用户:
pdbedit -L
删除 samba 服务中的某个用户:
smbpasswd -x 要删除的用户名
5. samba 共享中的其他问题
5.1 Windows 访问共享目录,但是没有写权限
通过以下方式修改防火墙设置。
将 Linux smb 服务添加到防火墙的例外中,以 root 用户执行 setup 命令
setup
弹出 … 重启生效。
如果不想重启, 用以下命令直接关闭防火墙:
setenforce 0
5.2 windows7 访问 samba 提示未知用户或者错误的密码解决方法
在 smba.conf 中增加下面配置:
lanman auth = yes
ntlm auth = yes