最近开发服务器因为缺人维护,导致新成员的Samba登录不了,因为新员工的电脑重装过,开始怀疑是 WIN 7 客户端有问题,于是各种查

最常见的是配置策略:win + r,打开运行窗口,输入:secpol.msc,如下操作

windows无法访问samba共享文件夹_ubuntu

改了发现并没有用,怀疑个别电脑网络端口不行,换电脑登不同的user账户(未用的子账户),也不行...,用winscp发现samba正常上传下载。参照网上的方法把Ubuntu的seLinux和ufw都关了也不行,最后确定应该是Ubuntu的samba服务器配置问题,而且那几个子账户似乎也有问题,找负责人要了root密码干服务器

 

Ubuntu 16.04.6: samba

参考:,先看smb.conf,打开 sudo vim /etc/samba/smb.conf,对比参考文章对 smb.conf 的解释,没发现用户配置中有什么问题,要用的账户权限和名字都正常,那再看下服务器中现有可用的samba用户(这个点很多教程会忽略)

w@Super-Server:~$ sudo pdbedit -L
user01:1001:
w:1000:
user02:1002:
user03:1003:

终于发现问题所在,samba之前只有四个账户,而我们的linux子账户 user05、user06并没有加入到samba用户,这也是为什么测试的子账户死活都登不进,因为根本没有这个samba账户,真 大乌龙...

下面就比较简单了,sudo smbpasswd -a xxx,并设置samba用户密码

xxx:~$ sudo smbpasswd -a user05
New SMB password:
Retype new SMB password:
Added user user05.

再测试win7下的smaba子账户user05,已经正常使用了,问题应该是samba账户没有添加,管理员的又记不清账户,闹了乌龙。

 

这里附带一些查找到的linux、samba常用命令


smbpasswd命令的常用方法: smbpasswd -a 增加用户(要增加的用户必须以是系统用户) smbpasswd -d 冻结用户,就是这个用户不能在登录了 smbpasswd -e 恢复用户,解冻用户,让冻结的用户可以在使用 smbpasswd -n 把用户的密码设置成空. 要在global中写入 null passwords -true smbpasswd -x 删除用户


  • 查看samba服务器中已拥有哪些用户:pdbedit -L
  • 查看Linux中所有用户:cat  /etc/passwd
  • 查看Linux中添加了多少用户:cat /etc/passwd|grep -v nologin|grep -v halt|grep -v shutdown|awk -F":" '{ print $1"|"$3"|"$4 }'|more
  • 查看Linux中所有组:cat  /etc/group
  • 删除linux某个用户:userdel   用户名
  • 删除linux中某个用户所有信息:userdel   -r  用户名