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进程启动而启动。