安装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权限



centos SAMBA 共享打印机 centos挂载samba共享_用户名

centos SAMBA 共享打印机 centos挂载samba共享_共享目录_02

centos SAMBA 共享打印机 centos挂载samba共享_centos SAMBA 共享打印机_03

centos SAMBA 共享打印机 centos挂载samba共享_centos SAMBA 共享打印机_04


windows访问失败


windows访问时下面错误提示:网络密码不正确。此时输入什么用户和密码都无法登陆。

尝试到服务器输入这条指令

smbpasswd -e 用户名

激活用户,再回来登陆试试。



提示网络密码不正确时,尝试输入完整的用户名。也就是【域名\用户名】,域名填写linux的本机域,如无其他配置则一般是linux默认的localdomain。


挂在失败的问题


centos SAMBA 共享打印机 centos挂载samba共享_创建用户_05

共享目录挂载


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这个文件里不用配置任何共享。

这样访问时自动访问相应的所属目录【因为设定成家目录了】,并拥有所有权限。