1,首先我们要知道samba的作用是做什么的?
其实在我看来samba有三点好处
a:是一个文件共享服务器,是linux与windows的沟通管道
b:可以作为打印print server提供windows远程联机打印,(有人会说windows也可以啊,但个人认为还是linux稳定些)
c:samba也可以作为wins server服务器,配合dhcp服务器可以管理NT网域。
2,samba每次启动至少有两个服务进程smbd,nmbd,它们分别的作用是?
smbd 用来管理samba主机分享什么什么目录,打印服务等
nmbd 用来管理群组,netbios name的解析
3,当samba启动的时候会用到那些端口呢?
samba启动的时候会用到137,138,139,三个端口所以我们在配置防火墙的时候会用到这三个端口的
4,samba的安装?
首先我们需要检测自己到底安装了samba服务没有,因为我们装系统的时候默认是装了samba服务的(我这里装的是fedora4)
[root@www ~]# rpm -qa |grep samba
samba-3.0.14a-2
system-config-samba-1.2.31-1
samba-common-3.0.14a-2
samba-client-3.0.14a-2
本机已经安装了 ,其实我真的挺建议大家装的时候用rpm包装,而不用tar.gz,我给大家推荐个网站可以下载所有的rpm包,只需要安装4个rpm包就可以了,以后缺少什么rpm包就直接来这里下载了
www.rpmfind.com,这里提醒下samba的最新版本为3.0.28版本,下载地址为http://us3.samba.com/samba/ftp/
5,确认samba服务是否启动
[root@www ~]# ps aux |grep samba
root 32713 0.0 0.0 280 16 pts/0 R+ 15:46 0:00 grep samba
6.启动samba服务
[root@www samba]# service smb start
启动 SMB 服务: [ 确定 ]
启动 NMB 服务: [ 确定 ]
想要开机就启动samba服务,有两种方法a. [root@www samba]# ntsysv b.[root@www samba]# chkconfig --level 345 smb on
7,samba是装在默认是装在etc目录下的,而samba文件夹下有那些文件以及文件的含义?
[root@www ~]# cd /etc/samba/
[root@www samba]# ls
lmhosts 局域网内相关的netbios name对应的ip信息
secrets.tdb 这是加密库
smb.conf samba的主配置文件
smbpasswd samba服务器的使用者密码对应表
smbusers user模式下的Samba 服务,在登录的时候所使用的用户名必需是在/etc/samba/smbusers中定意过。只有提供smbusers中定义过的用户SAMBA才能允许登录。
8.smb.conf配置
a,首先挑几个比较重要的解释下
workgroup = MYGROUP 工作组群:同一个局域网内,要有相同的workgroup
server string = Samba Server 主机的说明,可以随便起名字
log file = /var/log/samba/%m.log 日志登录文件存放的位置
max log size = 50 最大日志大小这里的50指的是50kB
security = user 需要用户名和密码才能登录,与smbpasswd有关
= share 不需要用户名和密码进行登录
= domin 就是让你的samba作为主域控制器
[myshare] 共享目录
comment = www.hello521.com 对这个共享目录的说明
path = /var/www/html 共享的路径
public = no 是否让所有登录者都看到这个目录
read only = no 不光可读还可执行存取
writable = yes 是否可以写入
printable = no 是否可以打印
valid users = zy 允许的登陆者
create mask = 0765 权限是目录所有者是可读可写可执行 同一个组的用户可读可写 其他用户只有读和执行的权利
9,以security = share 写一个实例
[root@www samba]# vi smb.conf
【global】
workgroup = MYGROUP
server string = 赵勇 Server
client code page = 950 想让你的samba可以在windows上显示中文就需要加入这句,没设定默认的值是850
security = share 安全级别是share
log file = /var/log/samba/%m.log 日志登录文件存放的位置
max log size = 0 表示登录档案大小不限制
下面的是自己添加的
[zy]
comment = zy samba server
path = /tmp
read only = no
public = yes
然后测试samba服务器
[root@www samba]# testparm
然后再按enter键 就会出现你的所有配置
从新启动samba
[root@www samba]# service smb restart
客户端的测试
打开网上邻居 然后查看所有网络 然后找到mygroup 找到你的samba主机
10.接下来我们要设定需要密码认证才能登陆的samba服务器
【global】
workgroup = MYGROUP
server string = zy Server
hosts allow = 192.168.1.102 127. 需要说明我windows主机地址为192.168.1.102 这里是为了安全期间 只允许192.168.1.102这个地址才能访问我的samba服务器
client code page = 950 想让你的samba可以在windows上显示中文就需要加入这句,没设定默认的值是850
security = user 安全级别是user
encrypt passwords = yes 使用加密密码对samba访问
smb passwd file = /etc/samba/smbpasswd 密码保存文件路径
log file = /var/log/samba/%m.log 日志登录文件存放的位置
max log size = 0 表示登录档案大小不限制
底下设定每个使用者的家目录,这里我有两个用户zy,yy
[homes]
comment = zy yy homes
browseable = no browseable是yes/否no在浏览资源中显示共享目录,若为否则必须指定共享路径才能存取
valid users = %s %s指的是任何可以登录者都可以登录的意思,比如是zy登录则[homes]变为[zy],而yy登录[homes]变为[yy]
writable = yes 可写
create mask = 0755 创建档案的权利是755
directory mask = 0755 创建目录的权力是755
[public]
comment = zy yy
path = /home/public 指定路径
public = yes 允许公开共享
writable = yes 可以写入
11,创建public目录,创建用户,并测试从新启动samba服务器
[root@www home]# mkdir public
[root@www ~]# chmod 777 public 给这个目录的权限
[root@www ~]# useradd yy 创建系统用户yy
[root@www ~]# smbpasswd -a yy 把yy用户加入smbpasswd中
New SMB password:
Retype new SMB password:
Added user yy.
[root@www ~]# useradd zy
[root@www samba]# smbpasswd -a zy
New SMB password:
Retype new SMB password:
Added user zy.
[root@www samba]# service smb restart
测试方法一样。
下一节我们会详细了解smb配置pdc以及smb安全磁盘配额
喜欢linux的兄弟们请加群13275765。一起探讨linux。