SAMBA: 在LINUX和WINDOWS之间实现文件共享
NFS: Network file system 主要用于LINUX 系统之间文件共享
CIFS:Common Internet File system 主要用于WINDOWS之间文件共享
SAMBA启动至少需要两个deamons:
smbd: 管理SAMBA主机分享什么目录,档案与打印机
nmbd:管理群组及NETBIOS
PORT: 137,138,139
首先检查SAMBA是否安装:
rpm -qa | grep samba
正常安装应该包含以下:
system-config-samba
samba-client
samba-common
samba
samba的配置文件存放在/etc/samba
技术文档放置在/usr/share/doc/samba
登录记录: /var/log/samba
语言支持: /usr/share/samba/codepages
先对samba进行备份再进行配置
cp /etc/samba/smb.conf /etc/samba/smb.conf.bak.raw
Samba需配置的设定值:
[Global]
workgroup 工作群组
betbios name 主机名
server string 主机说明
security SAMBA主机登入安全设定
share: 不进行安全登入
user: smb passwd file
domain: SAMBA座位PDC登录
client code page= 950 支持中文
log file: 登录文件放置
share folder设定
[share folder]
path = /your folder
writeable = yes (可写)
browseable = yes (是否可以浏览)
guest ok = yes (是否允许匿名访问)
之后需要对你指定的共享文件权限进行更改
lmhosts
设定可以访问的主机名对应的IP
192.168.0.1 host1
测试smb.conf
testparm
load smb config files from /etc/samba/smb.conf
重新启动smb
/etc/rc.d/init.d/smb restart
Starting SMB services: [ OK ]
Starting NMB services: [ OK ]
查看端口是否起来
netstat -tlunp |grep ':13'
解决远程登录的时候默认GUEST user,在配置中将 guest ok = yes 改为 no
如果需要针对特殊人进行文件管理:
1:新增组
/usr/sbin/groupadd test
2:添加用户
adduser -g test test
3:建立共享文件夹 sharefolder
4:更改文件夹权限
chown test sharefolder
chmod 775 sharefolder
chgrp test sharelolder
5:check 此文件夹权限,确保是test 所有
#p#副标题#e#
6:去smb.conf 新增此文件夹的权限
[test]
path = /test
writeable = yes
broweable = yes
valid users = test
7: 重启smb
/vi/rc.d/init.d/smb restart
8:本机检测: smbcient -l //computername/sharefolder
passwd: 直接回车即可看到共享目录
如何实现多用户认证登录
一个比较正常的共享设置
[MyShare]
comment = 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
其中[]里面的MyShare指定共享名,一般就是网络邻居里面可以看见的文件夹的名字。
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指明能否删除共享资源里面已经被定义为只读的文件。