Centos的SAMBA服务配置、smb权限、windows访问失败、共享挂载失败、共享目录挂载、虚拟用户映射
安装samba文件共享服务
1. 挂载光盘 2. 修改yum源,安装相应的包 3. 配置相关文件 /etc/samba/smb.conf 复制文件末尾内容: ; [public] (共享名,也就是共享文件夹的名字。默认情况用户的家目录也会共享) ; comment = Public Stuff (对该共享的注释) ; path = /home/samba (共享目录) ; public = yes (是否公开,也就是是否允许匿名访问) ; writable = yes (是否写入) ; printable = no (忘了= =) ; write list = +staff (允许谁写入) 在最后打开一新行,打上一串#号,在#行后面黏贴以上内容。然后删除前面的分号。 最后一行的write list:+staff表示任何用户(大概); 如果要允许某用户,则删掉+staff,在等号后面直接写用户名。多个用户名用空格隔开; 如果要允许某组,则等号后写@组名,同样空格隔开多个组。 保存退出。 4. 创建用户 4.1 先添加本地用户 useradd smb1 创建密码文件 touch /etc/samba/smbpasswd 将密码写入密码文件 smbpasswd -a -c /etc/samba/smbpasswd smb1 正式的创建用户密码 smbpasswd -a smb1 创建完成。 4.2 添加本地用户,然后直接设置密码: pdbedit -au smb1 这个方法无法将密码写入密码文件。 4.3 进入samba的主配置文件,跳到102行(33%处): passdb backend=tdbsam 将tdbsam改为密码文件的名字(这里设定为smbpasswd) passdb backend=smbpasswd 保存退出。创建本地用户,然后用以下命令设置密码: smbpasswd -a smb1 用户密码创建完毕,而且自动生成密码文件smbpasswd,并自动将密码写入密码文件。 5. 生效 |
smb权限
windows访问失败
windows访问时下面错误提示:网络密码不正确。此时输入什么用户和密码都无法登陆。 尝试到服务器输入这条指令 smbpasswd -e 用户名 **用户,再回来登陆试试。 提示网络密码不正确时,尝试输入完整的用户名。也就是【域名\用户名】,域名填写linux的本机域,如无其他配置则一般是linux默认的localdomain。 |
挂在失败的问题
mount -t cifs //服务器IP/共享目录名 /挂载点 -o username=用户名,password=用户密码 |
其他设定
browseable=no (267,87%)隐藏目录,但知道目录还是可以访问。 valid users=用户名 (269,87%)该选项设定了当相应的用户访问该共享目录时,共享目录会变成该用户的家目录。 smbpasswd -e 用户名 **用户 |
虚拟用户映射
[gload] username map = /etc/samba/smbusers vim /etc/samba/smbusers 实体用户 = 虚拟用户 |
用户只能看到自己的所属目录
关于用户只能看到自己的所属文件夹 只能是家目录共享这个方法。 也就是说,创建用户时就指定相应的所属目录作为家目录。 /etc/samba/smb.conf这个文件里不用配置任何共享。 这样访问时自动访问相应的所属目录【因为设定成家目录了】,并拥有所有权限。 |