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