ubuntu14.04安装samba文件共享服务器
1、安装
更新安装包
#sudo apt-get update
安装samba相关安装包
#sudo apt-get install samba samba-common
安装samba图形管理界面(可选)
#sudo apt-get install system-config-samba
安装talloc解决权限问题
#sudo apt-get install libtalloc2
2、配置
共享/hone/hpc
修改共享目录权限
#sudo chmod 777 /home/hpc -R
备份配置文件
#sudo cp /etc/samba/smb.conf /etc/samba/samb.conf.bak
修改samba配置文件
#sudo vim /etc/samba/smb.conf
在max log size = 1000下面添加
security = user //认证模式
在文件末尾添加下面几行
[hpc]
comment = my share directory
path = /home/hpc
;available = yes
browseable = yes
public = yes
;guest ok = yes
writeable = yes
常用各参数说明(详细附文)[myshare] //共享名
comment = My share //备注
path = /home/public //共享路径
browseable = yes //可以被浏览,就是在网络邻居中能看到共享名
read only = no //可读写
guest ok = yes //允许匿名访问,这个也需要设置,否则匿名无法访问
valid users = samba hpc guest //有效的用户和组
invalid users = liuben //无效用户和组
read list = samba //只读用户和组(如果read only = No,只读用户需要在此设置)
write list = hpc //可读写用户和组(如果read only = Yes,可读写用户需要在此设置)
allow hosts = 192.168.xxx.xxx //允许访问主机列表,支持通配符
deny hosts = 192.168.xxx.0/24 //禁止访问主机列表,支持通配符
设置samba密码(这个用户就属于smb组)
#sudo smbpasswd -a hpc3、启动服务
先关闭防火墙#sudo service ufw status//查看防火墙状态
#sudo service ufw stop//关闭防火墙服务
#sudo service smbd restart//重启samba服务
#ps -aux//查看服务器进程
4、连接共享目录
windows上点击映射网络驱动器\\192.168.xxx.xxx\hpc
输入账号,密码即可打开Ubuntu共享目录
附文:
[MyShare]
comment = grind’s file
path = /home/grind
allow hosts = host(subnet)
deny hosts = host(subnet)
writable = yes|no
user = user(@group)
valid users = user(@group)
invalid users = user(@group)
read list = user(@group)
write list = user(@group)
admin list = user(@group)
public = yes|no
hide dot files = yes|no
create mode = 0755
directory mode = 0755
sync always = yes|no
short preserve case = yes|no
preserve case = yes|no
case sensitive = yes|no
mangle case = yes|no
default case = upper|lower
force user = grind
wide links = yes|no
max connections = 100
delete readonly = yes|no
comment指的是对改共享的备注。
path指定共享的路径,其中可以配合samba变量使用。比如你可以指定path=/data/%m,这样如果一台机器的NETBIOS名字是 grind,它访问MyShare这个共享的时候就是进入/data/grind目录,而对于NETBIOS名是glass的机器,则进入/data /glass目录。
allow hosts和deny hosts和前面的全局设置的方法一样这里不再提及。
writeable指定了这个目录缺省是否可写,也可以用readonly = no来设置可写。
user设置所有可能使用该共享资源的用户,也可以用@group代表group这个组的所有成员,不同的项目之间用空格或者逗号隔开。
valid users指定能够使用该共享资源的用户和组。
invalid users指定不能够使用该共享资源的用户和组。
read list 指定只能读取该共享资源的用户和组。
write list指定能读取和写该共享资源的用户和组。
admin list指定能管理该共享资源(包括读写和权限赋予等)的用户和组。
public指明该共享资源是否能给游客帐号访问,这个开关有时候也叫guest ok,所以有的配置文件中出现guest ok = yes其实和public = yes是一样的。
hide dot files指明是不是像unix那样隐藏以“.”号开头的文件。
create mode指明新建立的文件的属性,一般是0755。
directory mode指明新建立的目录的属性,一般是0755。
sync always指明对该共享资源进行写操作后是否进行同步操作。
short preserve case指明不管文件名大小写。
preserve case指明保持大小写。
case sensitive指明是否对大小写敏感,一般选no,不然可能引起错误。
mangle case指明混合大小写。
default case指明缺省的文件名是全部大写还是小写。
force user强制把建立文件的属主是谁。如果我有一个目录,让guest可以写,那么guest就可以删除,如果我用force user= grind强制建立文件的属主是grind,同时限制create mask = 0755,这样guest就不能删除了。
wide links指明是否允许共享外符号连接,比如共享资源里面有个连接指向非共享资源里面的文件或者目录,如果设置wide links = no将使该连接不可用。
max connections = n设定同时连接数是n。
delete readonly指明能否删除共享资源里面已经被定义为只读的文件。