1 Samba简介
Samba,是种用来让UNIX系列的操作系统与微软Windows操作系统的SMB/CIFS(ServerMessage Block/Common Internet File System)网络协定做连结的自由软件。目前的版本(v3)不仅可存取及分享SMB的资料夹及打印机,本身还可以整合入Windows Server的网域,扮演为网域控制站(Domain Controller)以及加入Active Directory成员。简而言之,此软件在Windows与UNIX系列OS之间搭起一座桥梁,让两者的资源可互通有无。
2 Samba的安装
下面是Samba在ubuntu 11.04下的安装过程。
执行安装过程,需要如下两条命令。
jie@jie-virtual-machine:~$sudo apt-get install samba
jie@jie-virtual-machine:~$sudo apt-get install smbfs
下面是测试机的具体安装过程。
jie@jie-virtual-machine:~$sudo apt-get install samba
[sudo]password for jie:
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
…
smbdstart/running, process 3219
nmbdstart/running, process 3247
正在处理用于libc-bin 的触发器...
ldconfigdeferred processing now taking place
jie@jie-virtual-machine:~$sudo apt-get install smbfs
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
将会安装下列额外的软件包:
cifs-utils
…
在解压缩smbfs (从.../smbfs_2%3a4.5-2ubuntu0.11.04.1_i386.deb) ...
正在处理用于man-db 的触发器...
正在设置cifs-utils (2:4.5-2ubuntu0.11.04.1) ...
正在设置smbfs (2:4.5-2ubuntu0.11.04.1) ...
至此,安装完成。
3 Samba的配置及管理
3.1创建所需共享的文件目录,并更改其权限
jie@jie-virtual-machine:~$cd /home/jie
jie@jie-virtual-machine:~$mkdir samba_share
jie@jie-virtual-machine:~$chmod 777 samba_share
3.2 编辑Samba配置文件
由于对samba服务器还不是很了解,以便恢复初始值,所以先将配置文件备份。
jie@jie-virtual-machine:/etc/samba$sudo cp smb.conf smb.conf.backup
然后在配置文件的最后加上如下代码:
[share]
comment=linuxshare
path=/home/jie/samba_share //共享路径
public=yes
writeable=no
browseable=yes
guestok=yes
接着将:
# security = user
修改为:
security= share
保存好后,重启samba
jie@jie-virtual-machine:/etc/samba$sudo /etc/init.d/smbd restart
在windows的资源管理器中,输入\\192.168.83.129\share,打开如下:
测试成功!
3.3 开启Samba用户
将刚修改的security=share改为
Security=user
配置文件修改为:
[share]
comment=linuxshare
path=/home/jie/samba_share //共享路径
public=yes
writeable=yes
browseable=yes
guestok=no
新增一个Samba用户
jie@jie-virtual-machine:~/samba_share$sudo useradd smbuser
[sudo]password for jie:
jie@jie-virtual-machine:~/samba_share$sudo smbpasswd -a smbuser
NewSMB password:
Retypenew SMB password:
Addeduser smbuser.
重新链接,输入用户名密码后可以登陆。
3.4配置用户权限
对用户在目录中的权限做一些限制
修改代码如下:
[share]
comment=linuxshare
path=/home/jie/samba_share
public=yes
writeable=yes
browseable=yes
guestok=no
createmask=0664
directorymask=0775
create mask 设置了用户在共享目录中创建文件所使用的权限,采用八进制的文件权限表示法。
Directory mask的功能同createmask类似,只不过它是针对目录。
3.5“私人目录”的建立
建立私人目录要更改代码为:
[share]
comment=linuxshare
path=/home/jie/samba_share
public=yes
writeable=yes
browseable=yes
guestok=no
createmask=0664
directorymask=0775
validusers=smbuser
就是要在配置文件的最后加上
validusers=smbuser
明确告诉samba只有smbuser这个用户才可以访问这个目录。并在上面规定了权限。
3.6设置用户访问自己的主目录
使用samba提供的homes段配置,可以使每个用户只能访问自己的主目录
配置代码如下:
[homes]
comment=homedirectories
browseable=no
readonly=no
guestok=no
createmask=0700
directorymask=0700
validusers=%s
设置主目录共享后,用户可以在windows上通过//ip地址//username来访问自己在服务器上设置的主目录。
但必须先设置好主目录,如
jie@jie-virtual-machine:~$sudo usermod –d /home/jie/samba_share smbuser
这样你就可以访问你的主目录了。
valid user=%s,其中%s指代任何登录进来的samba用户,也就保证了用户只能登陆到自己的主目录中。