linux smb安装配置
smb和linux公用用户,但是不公用密码,所以建立smb用户前先添加系统用户
本文引用网址:http://wenku.baidu.com/view/d2b0d9fbfab069dc502201da.html
在linux服务器版本下编程很麻烦。还是使用samba吧。
使用 yum install samba 更新最新的 samba 包
轻松访问安装了Samba的UNIX/LINUX服务器。
1.安装centos时在防火墙中开启文档共享服务,并选择安装文档共享服务器
2.启动 Samba 服务。
# chkconfig smb on ← 配置 Samba 自启动
# service smb start ← 启动Samba服务
Starting SMB services: [ OK ]
Starting NMB services: [ OK ]
# smbpasswd -a root ← 将系统用户 root 加入到 Samba 用户数据库
New SMB password: ← 输入该用户用于登录 Samba 的密码
Retype new SMB password: ← 再次确认输入该密码
Added user centospub.
3.配置Samba
通过编辑 /etc/samba/smb.conf 让将要被共享的目录拥有充分的读写权限属性。
在smb.conf文档最后加入下面内容
[all file]
comment = centos all file
path = /
valid users = root
public = no
writable = yes
printable = no
create mask = 0777
directory mask = 0777
4. 防火墙要打开(SELinux)
解决samba没有smbpasswd文件
现象:安装好CentOS5 , 配置好smb.conf,结果在/etc/samba/下找不到smbpasswd文件。
原因:samba启用了tdbsam验证。
解决:SMB.conf文件中注释掉 passdb backend = tdbsam 一行,
加上 smb passwd file = /etec/samba/smbpasswd
这样再建立用户就产生了smbpasswd文件了。
# smbpasswd -a root 添加用户到smb
配置smb
修改/etc/samba/smb.conf
添加
[usr.local.rdc]
comment = usr local rdc
path = /usr/local/rdc
valid users = root
public = no
writable = yes
printable = no
create mask = 0777
directory mask = 0777
#comment 是注释
# path = 共享目录
#valid users 访问共享目录的用户
# public no表示在网上邻居可见但不能进入
# writable yes表示可写no表示只读
# printable 是yes/否no允许打印
#create mask 建立文件时所给的权限
#directory mask 建立目录时所给的权限
windows访问中文目录或文件名会乱码,需要在global加编码
[global]
client code page = 936
character set = GBK
unix charset = cp936
管理员执行smbadduser tanghj:smithj来创建一个smb用户,相应地更改了/etc/smbpasswd 和 /etc/smbusers
smbpasswd -a user
comment---------注释说明
path------------分享资源的完整路径名称,除了路径要正确外,目录的权限也要设对
browseable------是yes/否no在浏览资源中显示共享目录,若为否则必须指定共享路径才能存取
printable-------是yes/否no允许打印
hide dot ftles--是yes/否no隐藏隐藏文件
public----------是yes/否no公开共享,若为否则进行身份验证(只有当security = share 时此项才起作用)
guest ok--------是yes/否no公开共享,若为否则进行身份验证(只有当security = share 时此项才起作用)
read only-------是yes/否no以只读方式共享当与writable发生冲突时也writable为准
writable--------是yes/否no不以只读方式共享当与read only发生冲突时,无视read only
vaild users-----设定只有此名单内的用户才能访问共享资源(拒绝优先)(用户名/@组名)
invalid users---设定只有此名单内的用户不能访问共享资源(拒绝优先)(用户名/@组名)
read list-------设定此名单内的成员为只读(用户名/@组名)
write list------若设定为只读时,则只有此设定的名单内的成员才可作写入动作(用户名/@组名)
create mask-----建立文件时所给的权限
directory mask--建立目录时所给的权限
force group-----指定存取资源时须以此设定的群组使用者进入才能存取(用户名/@组名)
force user------指定存取资源时须以此设定的使用者进入才能存取(用户名/@组名)
allow hosts-----设定只有此网段/IP的用户才能访问共享资源
allwo hosts = 网段 except IP
deny hosts------设定只有此网段/IP的用户不能访问共享资源
allow hosts=本网段指定IP指定IP
deny hosts=指定IP本网段指定IP
-------------------------------------------------------------------------------------------------------------------------
pdbedit 命令管理smb共享
-------------------------------------------------------------------------------------------------------------------------
1. samba的安全等级
用security参数进行指定。分别是:
share:用户不要账号及密码即可登入samba服务器。
user:由提供服务的samba服务器负责检查账户及密码(是samba默认的安全等级)。
server:检查账户及密码的工作指定由另一台Windows NT/2000或SAMBA服务器负责。
domain:指定Windows NT/2000域控制服务器来验证用户的账户及密码。
2. 安全全局参数
samba的安全在操作系统高度安全的保障下,其自身的安全一般情况下主要依赖于smb.conf文件的正确配置与否。
socket address 指定samba监听的IP地址 socket address = 192.168.18.15
admin user 设置管理员帐户 admin user = root
security 指定samba的安全级别 security = share
encrypt passwords 用于指定是否使用加密口令 encrypt passwords = yes
smb passwd file 指定samba口令文件的路径 smb passwd file = /etc/samba/smbpasswd
map to guest 设置GUEST身份登录时用户名及密码不正确的处理方式 map to guest = never
username map 指定smb和unix名字映射文件的路径 username map = /etc/samba/smbusers
hosts allow 指定可以访问samba的主机 hosts allow = 127. 192.168.74.
hosts deny 指定不可访问samba的主机 hosts deny = 127. 192.168.74.
3. samba的权限和文件属性
samba权限设置和文件属性的正确设置是保障安全的前提。为了安全起见,设置SAMBA密码文件和目录权限为root,去掉smbpasswd文件中一些无shell的账号,SAMBA属性应设为500,smbpasswd属性应设为600。
(1)检查权限和文件属性
//检查samba文件
[root@ora9 root]# ll -d /etc/samba
drwxr-xr-x 2 root root 4096 Sep 16 2004 /etc/samba
//检查smbpasswd文件
[root@ora9 root]# ll /etc/samba/smbpasswd
-rw------- 1 root root 105 Sep 16 2004 /etc/samba/smbpasswd
(2)检查配置文件的正确性
输入如下命令将显示用户的配置和所有的默认配置:
[root@ora9 root]# testparm
Load smb config files from /etc/samba/smb.conf
Processing section "[homes]"
Processing section "[printers]"
Processing section "[homepage]"
Loaded services file OK.
Press enter to see a dump of your service definitions
-------------------------------------------------------------------------------------------------------------------------
1. samba的默认主配置文件及其说明
用root用户执行如下操作,查看samba的默认配置:
//忽略被注释(即以#和;开头)的配置语句行,并查看其默认配置
[root@ora9 root]# grep -v "#" /etc/samba/smb.conf | grep -v ";"
[global] //设置全局参数
workgroup = MYGROUP //设置工作组名称
server string = Samba Server //设置SAMBA服务器名称
printcap name = /etc/printcap //设置打印机配置文件路径
load printers = yes //允许共享打印机
printing = cups //设置打印机类型
log file = /var/log/samba/%m.log //设置日志文件路径
max log size = 0 //不对日志文件做长度限制
security = user //设置安全等级为USER
encrypt passwords = yes //设置用户密码加密
smb passwd file = /etc/samba/smbpasswd //设置口令文件的路径
unix password sync = yes //设置SAMBA用户账号和UNIX系统账号同步
passwd program = /usr/bin/passwd %u //设置本地口令程序
//控制smbd和/usr/bin/password之间的会话,用以对用户密码进行改变。
passwd chat = *New*password* %n\n *Retype*new*password* %n\n *passwd:*all*authentication*tokens* updated*successfully*
//当用户要求更改密码时使用PAM,而不用PASSWD PROGRAM参数所指定的本地口令程序/usr/bin/passwd
pam password change = yes
obey pam restrictions = yes //当认证用户时,服从PAM的管理限制
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_ SNDBUF=8192 //设置服务器和客户之间会话的SOCKET选项
dns proxy = no //不为客户做DNS查询
//设置每个用户的主目录
[homes]
comment = Home Directories
browseable = no
writable = yes
valid users = %S
create mode = 0664
directory mode = 0775
//设置全部打印机共享
[printers]
comment = All Printers
path = /var/spool/samba
browseable = no
guest ok = no
writable = no
printable = yes
//设置个人共享
[homepage]
path = /usr/local/apache/htdocs
valid users = oracle
public = no
writable = yes
printable = no
create mask = 0765
2. samba配置文件中常用的运行效率全局参数
change notify timeout 设置服务器周期性异常通知 change notify timeout = 90
deadtime 客户端无操作多少分钟后服务器中断连接 deadtime = 10
getwd cache 是否使用 cache 功能 getwd cache = no
keepalive 服务器每隔多少秒向客户端发送keepalive包 keepalive = 60
用于确认客户端是否异常
max open files 同一个客户端最多能打开的文件数目 max open files = 100
socket options 设置服务器和客户之间会话的socket选项
3. samba配置文件常用的共享资源访问控制参数
writable 指定共享的路径是否可写 writable = yes
browseable 指定共享的路径是否可浏览(默认可以) browseable = no
available 指定共享的资源是否可用 available = no
read only 指定共享的路径是否只读 read only = yes
public 指定是否可以允许guest帐号访问 public = yes
guest accout 指定一般性客户的帐号 guest accout = nobody
guest ok 指定是否可以允许guest帐号访问 guest ok = yes
guest only 指定是否只允许guest帐号访问 guest only = yes
read list 设置只读访问用户列表 read list = tom,@stuff
write list 设置读写访问用户列表 write list = tom,@stuff
valid users 指定允许使用服务的用户列表 valid users = tom,@stuff
invalid users 指定禁止使用服务的用户列表 invalid users = tom,@stuff
十佳人物