1. 安装Samba及相关包

$ sudo apt-getinstall samba samba-common smbfspython-glade2system-config-samba

 

2. 创建共享文件夹

$ mkdir /home/kevin/share

$ sudo chmod 777/home/kevin/Share

 

3. 创建Samba配置文件

1) 保存现有配置文件

$ sudo cp/etc/samba/smb.conf /etc/samba/smb.conf.backup

2) 改动配置文件

$ sudo gedit/etc/samba/smb.conf

在文件末尾加入

[share]

path = /home/kevin/Share

available = yes

browseable = yes

public = yes

writable = yes

找到[global],加入

display charset = UTF-8

unix charset = UTF-8

dos charset = cp936

 

4. 创建Samba帐户

$ sudo touch /etc/samba/smbpasswd

$ sudo smbpasswd -a kevin (该用户必须是已经在本机上创建的用户)

删除网络使用者的账号的命令是把上面命令的-a改成-x

 

5. 重新启动Sambaserver

$ sudo/etc/init.d/smbd restart

 

6. 測试使用

在Windows下输入ip使用,在目录下输入”\\”+”Ubuntu机器名或IP”+”\share”。

$ smbclient -L //localhost/Share

 

安装上文配置的实际上文件共享不要username登录password验证,我们能够改动配置实现权限管控。

         $ sudo gedit /etc/samba/smb.conf

1、  将默认的 security= share 改成security = user

2、  将紧接着的 passdbbackend = tdbsam 改成 passdb backend = smbpasswd

3、  将;     valid users = %S 改成 validusers = kevin (加入的sambaserver的username)

4、  创建Samba帐户

$ sudo touch/etc/samba/smbpasswd

$ sudo smbpasswd -a kevin (该用户必须是已经在本机上创建的用户)

5、  重新启动server

$ sudo/etc/init.d/smbd restart

 

TIPS:

passdb backend = tdbsam 

说明:passdb backend就是用户后台的意思。
眼下有三种后台:smbpasswd、tdbsam和ldapsam。

sam应该是security accountmanager(安全账户管理)的简写。 
1.smbpasswd:该方式是使用smb自己的工具smbpasswd来给系统用户(真有用户或者虚拟用户)设置一个Sambapassword,client就用这个password来訪问Samba的资源。smbpasswd文件默认在/etc/samba文件夹下,只是有时候要手工建立该文件。 
2.tdbsam:该方式则是使用一个数据库文件来建立用户数据库。数据库文件叫passdb.tdb,默认在/etc/samba文件夹下。passdb.tdb用户数据库能够使用smbpasswd–a来建立Samba用户,只是要建立的Samba用户必须先是系统用户。我们也能够使用pdbedit命令来建立Samba账户。pdbedit命令的參数非常多,我们列出几个基本的。 
pdbedit –a username:新建Samba账户。 
pdbedit –x username:删除Samba账户。 
pdbedit –L:列出Samba用户列表,读取passdb.tdb数据库文件。 
pdbedit –Lv:列出Samba用户列表的具体信息。

 
pdbedit –c “[D]” –u username:暂停该Samba用户的账号。

 
pdbedit –c “[]” –uusername:恢复该Samba用户的账号。 

 

valid users = 同意訪问该共享的用户 
说明:valid users用来指定同意訪问该共享资源的用户。

 
比如:valid users =bobyuan。@bob,@tech(多个用户或者组中间用逗号隔开。假设要增加一个组就用“@+组名”表示。

) 

 

invalid users = 禁止訪问该共享的用户 
说明:invalid users用来指定不同意訪问该共享资源的用户。 
比如:invalid users = root@bob(多个用户或者组中间用空格隔开。

 

启动Sambaserver后,能够使用ps命令查看进程:

         $ ps -aux

能够看到Samba服务会同一时候启动两个服务,当中smbd主要用来管理共享出来的文件夹。nmbd主要用来解析NetBIOS名。在Windows系统中,主机能够被增加一个组中,这样每一个主机都必须有一个名字,这个名字是用于在网上被标志的名。并不是机器的主机名。将其称为NetBIOS名。当中nmbd进程是随着smbd进程启动而启动。