linux samba.tar.gz安装和配置
安装步骤:
1. tar -xzvf samba-3.5.10.tar.gz
2. cd samba-3.5.10
3. cd
source3
4. ./autogen.sh 如果出现:./autogen.sh: need autoconf 2.53 or later to build samba from GIT则升级或者安装autoconf
5. ./configure --/usr/local/samba
--enable-socket-wrapper --enable-nss-wrapper
6. make
7. make test
(可选)
8. make install
9. cp samba-3.5.10/examples/smb.conf.default
/usr/local/samba/lib/smb.conf
做完以上步骤后,执行一个初步的简单测试,以检测samba是否安装正常
10.
/usr/local/samba/bin/testparm 如提示如下,则表示安装成功
Loaded services file
ok.
samba 常见全局配置项:
•workgroup 设置服务器所在的工作组名称,例如“WORKGROUP” (Windows
主机默认工作组名)
•server string 设置服务器的说明文字,用于描述Samba 服务器
•security
设置服务器的安全级别,可设为以下4 个值中的一个:
share (可匿名访问)
user (需由本服务器验证用户名及密码)
server
(由另一台服务器验证用户名及密码)
domain (由Windows 域控制器验证用户名及密码)
•log file 设置Samba
服务器的日志文件,默认设置为“/ var /log/samba/%m.log” ,表示日志文件保存到/ var /log/samba/
目录中,按每个客户机建立一个日志文件,“%m” 变量表示客户端主机名或IP 地址
max log size 设置日志文件的最大容量,默认为50
,表示50KB (默认单位为KB )
•server types:
Domain Controller
Primary
Domain Controller (PDC)
Backup Domain Controller (BDC)
ADS
Domain Controller
Domain Member Server
Active Directory Domain
Server
NT4 Style Domain Domain Server
Standalone
Server
samba
常见共享目录配置项
•browseable 设置该共享目录在“网上邻居”中是否可见,设置为no 时相当于隐藏共享目录
•guest ok 设置共享目录是否所有人都可以访问,与public 配置项作用相同
•writable 设置该共享目录是否可写,与read only 的作用相反
writable = yes 所有帐号可写
writable = no 所有帐号禁写
write list = username 设置特定用户写权限
write list = @groupname 设置特定组写权限
valid users = username 设置审核
valid users = @groupname
public = yes 允许匿名用户
public = no 禁止匿名用户
read only = yes 只读
read only = no 读写
read list = username
read list = @groupname
readable = yes
samba 常用命令:
testparm :检查smb.conf是否有语法错误
smbclient :为Linux用户提供Samba服务,类似于FTP方式
smbstatus :列出当前所有Samba连接状态
smbpasswd :修改Samba用户口令,增加Samba用户
nmblookup :用于查询主机的NetBIOS名,并将其映射为IP地址
smbtree :列出当前网络中可用的SMB服务
smbd :Samba服务守护进程,为Samba用户提供文件和打印机共享
nmbd :Samba守护进程,提供NetBIOS名字转换服务
SWAT :允许使用浏览器编辑配置文件smb.conf
smbtar :对共享资源进行备份
samba启动方式:
如果通过源代码安装的samba ,则启动如下:
nmbd -D (先启动)
smbd -D (后启动)
要启动两个服务
samba映射帐号功能:
映射帐号是指用虚拟帐号映射samba帐号,即访问的samba服务时候用虚拟帐号访问,而实际上用的是samba帐号。
要使用映射功能需要在smb.conf
全局配置文件中增加一行如下:
username
map = /etc/samba/smbusers
即开启帐号映射功能
然后编辑smbusers文件
samba帐号名
= 虚拟帐号名
例如:如果samba帐号为
smbuser01 ,虚拟帐号为 vuser01 ,则如下:
smbuser01
= vuser01
samba特殊应用场景:
假如有个目录aaa,要求对普通员工隐藏,对老板可以见,那么可以单独对老板做个配置文件。
在smb.conf
中全局添加一行:
config
file = /etc/samba/smb.conf.%U
%U
代表 需要特殊设置的帐号
复制一份smb.conf
为 smb.conf.%U ,将smb.conf.%U 文件中对应的aaa 目录配置项browseable = yes 既可!
samba客户端应用:
如果是linux客户端, mount
挂载smbfs的用法;
mount
-t smbfs -o codepage=cp936,username=用户名,password=密码 ,-l //ip地址/共享文件夹名
挂载点
mount
-t smbfs -o codepage=cp936,username=用户名,password=密码 ,-l //计算机名/共享文件夹名
挂载点
smbmount的用法:
smbmount
-o username=用户名,password=密码 , -l //ip地址或计算机名/共享文件夹名 挂载点
smbmount
//ip地址或计算机名/共享文件夹名 挂载点
samba乱码问题:
1.如果linux
locale是zh_CN.UTF-8,在smb.conf中添加:
display
charset = UTF-8
unix
charset = UTF-8
dos charset =
UTF-8
2.如果linux
locale是zh_CN.GBK或zh_CN.gb2312,在smb.conf中添加:
display
charset = cp936
unix
charset = cp936
dos
charset = cp936
端口设置:smbd所占用的端口是139和445