Samba服务器搭建

来源:互联网 发布:周杰伦听妈妈的话知乎 编辑:程序博客网 时间:2024/06/07 06:35

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. 重启Samba服务器

$ sudo/etc/init.d/smbd restart

 

6. 测试使用

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

$ smbclient -L //localhost/Share

 

安装上文配置的实际上文件共享不要用户名登陆密码验证,我们可以修改配置实现权限管控。

         $ sudo gedit /etc/samba/smb.conf

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

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

3、  将;     valid users = %S 改成 validusers = kevin (添加的samba服务器的用户名)

4、  创建Samba帐户

$ sudo touch/etc/samba/smbpasswd

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

5、  重启服务器

$ sudo/etc/init.d/smbd restart

 

TIPS:

passdb backend = tdbsam 

说明:passdb backend就是用户后台的意思。
目前有三种后台:smbpasswd、tdbsam和ldapsam。sam应该是security accountmanager(安全账户管理)的简写。 
1.smbpasswd:该方式是使用smb自己的工具smbpasswd来给系统用户(真实用户或者虚拟用户)设置一个Samba密码,客户端就用这个密码来访问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(多个用户或者组中间用空格隔开。)

 

启动Samba服务器后,可以使用ps命令查看进程:

         $ ps -aux

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

1 0
原创粉丝点击