目录
1.安装服务
sudo apt update
sudo apt install samba samba-common-bin
2.添加samba用户以及设置群组
A.samba用户必须先是ubuntu的用户,因此先添加ubuntu用户。如果只是给其配置samba,不给其设置用户目录和ssh登录,则使用 useradd 命令;如果要配置用户目录和ssh登录,则使用adduser命令给其配置目录和密码。如果只是使用samba服务,建议使用useradd命令。
B.为用户添加群组group,方便整个群组设置访问权限。
C.将ubuntu用户添加到samba的用户列表中,使用smbpasswd命令,根据提示,为其设置samba密码。
##only add user
sudo useradd user_A
##add user and config path and ssh
sudo adduser user_A
##add user to group
sudo usermod -aG pd user_A
##add user to samba
sudo smbpasswd -a user_A
3.配置samba服务
samba的配置文件位于/etc/samba/smb.conf中,编辑此文件,定义共享目录和权限,如下图中配置,配置了rd目录中,整个rd的用户组和user_A有读权限,user_B,user_C,user_D有写权限。
; path = /home/samba/profiles
; guest ok = no
; browseable = no
; create mask = 0600
; directory mask = 0700
[printers]
comment = All Printers
browseable = no
path = /var/spool/samba
printable = yes
guest ok = no
read only = yes
create mask = 0700
# Windows clients look for this share name as a source of downloadable
# printer drivers
[print$]
comment = Printer Drivers
path = /var/lib/samba/printers
browseable = yes
read only = yes
guest ok = no
# Uncomment to allow remote administration of Windows print drivers.
# You may need to replace 'lpadmin' with the name of the group your
# admin users are members of.
# Please note that you also need to set appropriate Unix permissions
# to the drivers directory for these users to have write rights in it
; write list = root, @lpadmin
[rd]
comment = RD Dept
path = /home/samba/RD
printable = no
guest ok = no
browseable = yes
valid users = @rd,user_A
write list = user_B, user_C, user_D
[pd]
comment = Production Dept
path = /home/samba/PD
printable = no
guest ok = no
browseable = yes
valid users = @pd
write list = user_A
[fd]
comment = Finance Dept
path = /home/samba/FD
printable = no
guest ok = no
browseable = yes
valid users = @fd, user_B
write list = user_A, user_C
[share]
comment = Shared Directory
path = /home/samba/SHARE
printable = no
guest ok = yes
browseable = yes
read only = no
create mask = 0755
directory mask = 0755
4.开启samba服务,以及防火墙放行samba服务
sudo systemctl start smbd
sudo systemctl enable smbd
sudo systemctl start nmbd
sudo systemctl enable nmbd
##ufw allow samba
sudo ufw allow samba
##if samba is running,use restart cmd
sudo systemctl restart smbd.service
sudo systemctl restart nmbd.service
5.samba中遇到的问题
1).A用户创建的文件,B用户无法修改,只能读
原因:smb.conf中配置了创建文件默认的用户和用户组,如下面配置中,默认配置的组为force group = rd ,这样别的用户组会没有权限修改。
[rd]
comment = RD Dept
path = /home/samba/RD
printable = no
guest ok = no
browseable = yes
valid users = @rd,qiaoyazhou
write list = user_A, user_B, user_C
create mask = 0775
directory mask = 0775
force group = rd
解决办法:可以把所有的用户加到一个公共组中,或者创建的文件,使用root用户和root用户组,我使用的是后一种方法。这样的话,创建的文件,所有的用户都能修改,配置如下
[rd]
comment = RD Dept
path = /home/samba/RD
printable = no
guest ok = no
browseable = yes
valid users = @rd,qiaoyazhou
write list = user_A, user_B, user_C
create mask = 0775
directory mask = 0775
force user = root
force group = root
6.SAMBA管理常用命令
1.add ubuntu user
不创建用户目录
sudo useradd -M new_user
设置用户密码
sudo passwd new_user
验证用户信息
id new_user
2.add user to groud
sudo usermod -aG grp_name user
3.查看用户组
getent group
4.samba让新配置文件生效,不重启服务
sudo testparm
sudo systemctl reload smbd.service
sudo systemctl reload nmbd.service
5.重启samba服务
sudo systemctl restart smbd.service
sudo systemctl restart nmbd.service
6.查看samba服务状态
sudo systemctl status smbd.service
7.测试新加用户是否正确创建
sudo pdbedit -Lv user
8.测试新用户能否正常登录,输入密码后,会输出服务器信息和共享目录列表
smbclient -L localhost -U user
7.windows 无法登录samba服务器的可能原因
1.windows没开启samba功能,无法连接
解决办法:
进入控制面板 -> 程序 -> 启用或关闭Windows功能,勾选SMB 1.0/CIFS文件共享支持(部分旧版Samba需此协议),重启系统
2.widows关闭了“不安全的来宾登录”,导致无法访问,没设置用户和密码的网盘
解决办法:
在Windows组策略中启用“不安全的来宾登录”(路径:gpedit.msc -> 计算机配置 -> 管理模板 -> 网络 -> Lanman工作站
3.若是遇到“不允许一个用户使用一个以上用户名与服务器共享资源的多重连接。”

先把之前的登录信息给清除掉:
打开CMD运行这正面这些指令
net use
net use * /delete /y
net stop Workstation && net start Workstation



1535

被折叠的 条评论
为什么被折叠?



