安装 linuxsmb服务配置及问题.docx
《安装 linuxsmb服务配置及问题.docx》由会员分享,可在线阅读,更多相关《安装 linuxsmb服务配置及问题.docx(10页珍藏版)》请在冰豆网上搜索。
安装linuxsmb服务配置及问题
在linux服务器版本下编程很麻烦。
还是使用samba吧。
使用yuminstallsamba更新最新的samba包
轻松访问安装了Samba的UNIX/LINUX服务器。
1.安装centos时在防火墙中开启文档共享服务,并选择安装文档共享服务器
2.启动Samba服务。
#chkconfigsmbon ←配置Samba自启动
#servicesmbstart←启动Samba服务
StartingSMBservices:
[OK]
StartingNMBservices:
[OK]
#smbpasswd-aroot ←将系统用户root加入到Samba用户数据库
NewSMBpassword:
←输入该用户用于登录Samba的密码
RetypenewSMBpassword:
←再次确认输入该密码
Addedusercentospub.
3.配置Samba
通过编辑/etc/samba/smb.conf让将要被共享的目录拥有充分的读写权限属性。
在smb.conf文档最后加入下面内容
[allfile]
comment=centosallfile
path=/
validusers=root
public=no
writable=yes
printable=no
createmask=0777
directorymask=0777
notes:
假如遇到可以看见目录,但是对目录没有操作权限的话,试试下面的方法:
一、在图形界面中:
桌面-->管理-->安全级别和防火墙,设置为disable。
二、在命令模式下:
修改文件:
/etc/selinux/config,然后重启系统。
具体修改如图:
三、运行命令:
setup,进入”防火墙配置“,在selinux栏,选择”禁用“。
四、运行命令:
setenforce0,(不需要重启).
4.防火墙要打开(SELinux)
解决samba没有smbpasswd文件
现象:
安装好CentOS5,配置好smb.conf,结果在/etc/samba/下找不到smbpasswd文件。
原因:
samba启用了tdbsam验证。
解决:
SMB.conf文件中注释掉passdbbackend=tdbsam一行,
加上smbpasswdfile=/etec/samba/smbpasswd
这样再建立用户就产生了smbpasswd文件了。
#smbpasswd-aroot添加用户到smb
配置smb
修改/etc/samba/smb.conf
添加
[usr.local.rdc]
comment=usrlocalrdc
path=/usr/local/rdc
validusers=root
public=no
writable=yes
printable=no
createmask=0777
directorymask=0777
#comment是注释
#path=共享目录
#validusers访问共享目录的用户
#publicno表示在网上邻居可见但不能进入
#writableyes表示可写no表示只读
#printable是yes/否no允许打印
#createmask建立文件时所给的权限
#directorymask建立目录时所给的权限
windows访问中文目录或文件名会乱码,需要在global加编码
[global]
clientcodepage=936
characterset=GBK
unixcharset=cp936
管理员执行smbaddusertanghj:
smithj来创建一个smb用户,相应地更改了/etc/smbpasswd和/etc/smbusers
smbpasswd-auser
comment---------注释说明
path------------分享资源的完整路径名称,除了路径要正确外,目录的权限也要设对
browseable------是yes/否no在浏览资源中显示共享目录,若为否则必须指定共享路径才能存取
printable-------是yes/否no允许打印
hidedotftles--是yes/否no隐藏隐藏文件
public----------是yes/否no公开共享,若为否则进行身份验证(只有当security=share时此项才起作用)
guestok--------是yes/否no公开共享,若为否则进行身份验证(只有当security=share时此项才起作用)
readonly-------是yes/否no以只读方式共享当与writable发生冲突时也writable为准
writable--------是yes/否no不以只读方式共享当与readonly发生冲突时,无视readonly
vaildusers-----设定只有此名单内的用户才能访问共享资源(拒绝优先)(用户名/@组名)
invalidusers---设定只有此名单内的用户不能访问共享资源(拒绝优先)(用户名/@组名)
readlist-------设定此名单内的成员为只读(用户名/@组名)
writelist------若设定为只读时,则只有此设定的名单内的成员才可作写入动作(用户名/@组名)
createmask-----建立文件时所给的权限
directorymask--建立目录时所给的权限
forcegroup-----指定存取资源时须以此设定的群组使用者进入才能存取(用户名/@组名)
forceuser------指定存取资源时须以此设定的使用者进入才能存取(用户名/@组名)
allowhosts-----设定只有此网段/IP的用户才能访问共享资源
allwohosts=网段exceptIP
denyhosts------设定只有此网段/IP的用户不能访问共享资源
allowhosts=本网段指定IP指定IP
denyhosts=指定IP本网段指定IP
-------------------------------------------------------------------------------------------------------------------------
pdbedit命令管理smb共享
-------------------------------------------------------------------------------------------------------------------------
1.samba的安全等级
用security参数进行指定。
分别是:
share:
用户不要账号及密码即可登入samba服务器。
user:
由提供服务的samba服务器负责检查账户及密码(是samba默认的安全等级)。
server:
检查账户及密码的工作指定由另一台WindowsNT/2000或SAMBA服务器负责。
domain:
指定WindowsNT/2000域控制服务器来验证用户的账户及密码。
2.安全全局参数
samba的安全在操作系统高度安全的保障下,其自身的安全一般情况下主要依赖于smb.conf文件的正确配置与否。
socketaddress指定samba监听的IP地址socketaddress=192.168.18.15
adminuser设置管理员帐户adminuser=root
security指定samba的安全级别security=share
encryptpasswords用于指定是否使用加密口令encryptpasswords=yes
smbpasswdfile指定samba口令文件的路径smbpasswdfile=/etc/samba/smbpasswd
maptoguest设置GUEST身份登录时用户名及密码不正确的处理方式maptoguest=never
usernamemap指定smb和unix名字映射文件的路径usernamemap=/etc/samba/smbusers
hostsallow指定可以访问samba的主机hostsallow=127.192.168.74.
hostsdeny指定不可访问samba的主机hostsdeny=127.192.168.74.
3.samba的权限和文件属性
samba权限设置和文件属性的正确设置是保障安全的前提。
为了安全起见,设置SAMBA密码文件和目录权限为root,去掉smbpasswd文件中一些无shell的账号,SAMBA属性应设为500,smbpasswd属性应设为600。
(1)检查权限和文件属性
//检查samba文件
[root@ora9root]#ll-d/etc/samba
drwxr-xr-x2rootroot4096Sep162004/etc/samba
//检查smbpasswd文件
[root@ora9root]#ll/etc/samba/smbpasswd
-rw-------1rootroot105Sep162004/etc/samba/smbpasswd
(2)检查配置文件的正确性
输入如下命令将显示用户的配置和所有的默认配置:
[root@ora9root]#testparm
Loadsmbconfigfilesfrom/etc/samba/smb.conf
Processingsection"[homes]"
Processingsection"[printers]"
Processingsection"[homepage]"
LoadedservicesfileOK.
Pressentertoseeadumpofyourservicedefinitions
-------------------------------------------------------------------------------------------------------------------------
1.samba的默认主配置文件及其说明
用root用户执行如下操作,查看samba的默认配置:
//忽略被注释(即以#和;开头)的配置语句行,并查看其默认配置
[root@ora9root]#grep-v"#"/etc/samba/smb.conf|grep-v";"
[global]//设置全局参数
workgroup=MYGROUP//设置工作组名称
serverstring=SambaServer//设置SAMBA服务器名称
printcapname=/etc/printcap//设置打印机配置文件路径
loadprinters=yes//允许共享打印机
printing=cups//设置打印机类型
logfile=/var/log/samba/%m.log//设置日志文件路径
maxlogsize=0//不对日志文件做长度限制
security=user//设置安全等级为USER
encryptpasswords=yes//设置用户密码加密
smbpasswdfile=/etc/samba/smbpasswd//设置口令文件的路径
unixpasswordsync=yes//设置SAMBA用户账号和UNIX系统账号同步
passwdprogram=/usr/bin/passwd%u//设置本地口令程序
//控制smbd和/usr/bin/password之间的会话,用以对用户密码进行改变。
passwdchat=*New*password*%n\n*Retype*new*password*%n\n*passwd:
*all*authentication*tokens*updated*successfully*
//当用户要求更改密码时使用PAM,而不用PASSWDPROGRAM参数所指定的本地口令程序/usr/bin/passwd
pampasswordchange=yes
obeypamrestrictions=yes//当认证用户时,服从PAM的管理限制
socketoptions=TCP_NODELAYSO_RCVBUF=8192SO_SNDBUF=8192//设置服务器和客户之间会话的SOCKET选项
dnsproxy=no//不为客户做DNS查询
//设置每个用户的主目录
[homes]
comment=HomeDirectories
browseable=no
writable=yes
validusers=%S
createmode=0664
directorymode=0775
//设置全部打印机共享
[printers]
comment=AllPrinters
path=/var/spool/samba
browseable=no
guestok=no
writable=no
printable=yes
//设置个人共享
[homepage]
path=/usr/local/apache/htdocs
validusers=oracle
public=no
writable=yes
printable=no
createmask=0765
2.samba配置文件中常用的运行效率全局参数
changenotifytimeout设置服务器周期性异常通知changenotifytimeout=90
deadtime客户端无操作多少分钟后服务器中断连接deadtime=10
getwdcache是否使用cache功能getwdcache=no
keepalive服务器每隔多少秒向客户端发送keepalive包keepalive=60
用于确认客户端是否异常
maxopenfiles同一个客户端最多能打开的文件数目maxopenfiles=100
socketoptions设置服务器和客户之间会话的socket选项
3.samba配置文件常用的共享资源访问控制参数
writable指定共享的路径是否可写writable=yes
browseable指定共享的路径是否可浏览(默认可以)browseable=no
available指定共享的资源是否可用available=no
readonly指定共享的路径是否只读readonly=yes
public指定是否可以允许guest帐号访问public=yes
guestaccout指定一般性客户的帐号guestaccout=nobody
guestok指定是否可以允许guest帐号访问guestok=yes
guestonly指定是否只允许guest帐号访问guestonly=yes
readlist设置只读访问用户列表readlist=tom,@stuff
writelist设置读写访问用户列表writelist=tom,@stuff
validusers指定允许使用服务的用户列表validusers=tom,@stuff
invalidusers指定禁止使用服务的用户列表invalidusers=tom,@stuff