发新话题
打印

samba实现与windows共享

samba实现与windows共享

随着越来越多的菜鸟加入到linux行列,本人就是其中一只。


一个宿舍,一个小型的局域网,有时不只是有windows操作系统,还有linux操作系统。
我们都知道windows之间的共享是通过网上邻居的。哪windowslinux怎么共享呢?今天就是我们的linux中有大名鼎鼎的Samba当主角啦!

SMB的工作原理就是让NetBIOSSMB协议能够在tcp/ip上运行,SMB是一个协议,也可以说一个组件。它使linux能够与windows实现文件共享与打印机共享。

配置这个samba对高手来说是小菜一碟,可对我这种菜鸟可就麻烦啦,所以今天写这篇
文章,希望对刚入门的菜鸟朋友所帮助。本文以用户较多的readhat 9.0 linux为例。

首先在桌面右键--->新建终端,弹出终端对话框。

一,我们先看一下我们的机器有没有安装Samba

1,执行下面这一步看看,(如图1)
#rpm -qa |grep samba

如果出现上图所示的,表示你已经安装啦!

2,如果没有话,哪就将第一张安装光盘放进光驱,然后挂载
#mount /mnt/cdrom
(挂载,你也可以让redhat9.0自已挂载。)
#cd /mnt/cdrom/RedHat/RPMS
(进入该目录,注意大小写喔!linux对大小写很敏感的)
#rpm -ivh samba-common-2.2.7a-7.9.0.i386.rpm
(安装)
#rpm -ivh samba-2.2.7a-7.9.0.i386.rpm
(安装)
#rpm -ivh samba-client-2.2.7a-7.9.0.i386.rpm
(安装)

#rpm -ivh redhat-config-samba-1.0.4-1.noarch.rpm(可以允许使用GUI配置,后面用到webmin,也装上)


#cd /root
(退出cdrom所在目录,到root目录)

#umount /mnt/cdrom
(卸载cdrom)


提示:例如我们在输入rpm -ivh samba时,
我们可以按Tab补充,不一定要打完整个文件名,同时还可以查看的作用。
本来还有一个samba-swat-2.2.7a-7.9.0 组件,可以通过web配置,
但后面我们用功能更加强大的webmin.所以这个就不装啦!
二,启动samba.

(1),在默认的情况下Samba服务是没有启动的。我们可以先启动它。输入:

#/etc/rc.d/init.d/smb start
(如图2)

我们检验一下samba 是否已经启动了,输入:

# ps -aux |grep smb
(如图3)



如果出现这样: root
3885
0.0
0.7
5780 2020 ?
S
18:10
0:00 smbd -D

表示已经启动啦!:)
提示:

当然启动有好几种,你也可以转到smb的所在目录,然后再执行,例如:

#cd /etc/rc.d/init.d/

#./smb start


也可以这样启动:

#service smb start

如果要停止samba的话就执行:


     #/etc/rc.d/init.d/smb stop
(2),为了让它下次重启系统的时候自动加载smb,我们就输入:

   #ntsysv

就会再现一个图形的界面,我们通过上下键找到smb
然后在它的前面用空格键加上一个*号。(如图4)

然后通过Tab 键移到“确定”,回车确定。这样下次就会跟系统一起启动喔:
三,配置Samba
1,我们用redhat 9.0自带的图形工具来配置,跟我们的windows差不多。对我们这些菜鸟来说比较熟悉。开始吧!

首先我们在/tmp的目录下面新建一个student目录,这个目录谁都可以访问,不过只有读的权限。
(1)
用鼠标点击“开始菜单”--->“系统设置”---->“服务器设置”--->samba服务器”。弹出samba配置界面,(如图5


(2),在弹出界面单击左上角“增加(A)”,弹出创建samba共享对话框。填入以下信息。(如图6

目录指向我们刚才创建的“/tmp/student”文件夹。基本权限为“只读”

接着再单击右边“访问(A)”填入以下信息, 选择“允许所有用户访问”

并按确定。(如图7)

3),单击菜单栏的“首选项(P)”à选择“服务器设置”,弹出对话框,填入以下信息,如果你想加入局域网中的某个工作组,哪就填入你的工作组的名称,例如我的其中有一个工作组叫KKK。描述随便,只要能说明就行啦!:)。(如图8

接着点击“安全性(S)”项。(如图9

验证模式这里可是有四个安全级别的:共享(share)、用户(user)、服务器(server)、域(domain)

验证服务器:指密码验证主机,在这里为没有。

  加密口令:我们设为是。

来宾账号:nobody

然后按确定。

(4)然后我们用终端重启一下,让我们的设置生效。输入:

#/etc/rc.d/init.d/smb restart
(如图a10)

为了让我们的linux 也能打开网上邻居,让其它windows98windows2000也能快速打开网上邻居,我们这时最好把linux重启一下。

提示:windows98windows2000最好安装上NetBEUI协议。linux打开"网上邻居":单击linux的“开始菜单”--->“网络服务器”就行啦。
(5),好啦!现在看一下是不是成功,哇,成功了,(不知活的家伙,这么简单也可以拿出来,好像有什么东臭鸡蛋扔过来……#@$%^&*)

(如图a11-a14)

linux的网上邻居。显示所在的工作组)




我这里是一个机房来的.kj02windows98机器的工作组,
KKK是几台linux的工作组,WORKGROUPwindows2000的工作组,
通过以上的设置,
我们可以实现简单单的:linux windows的共享、windowslinux的共享、linuxlinux的共享。

(下面是windows98从网上邻居打开linux .)

(windows2000访问linux 的共享文件夹)


(我这里和wenwei99在同一个工作组中还有一台叫kj02slinux

6),可是你又要问,如果我要设置有密码的用户才可以访问,哪该怎么设置呢?问得好,我们下面继续。

我们先新建一个用户,例如叫huangwenwei吧。在终端输入:
#useradd huangwenwei
#passwd
huangwenwei
然后我们输入两次相同的密码,注意不能少于6位喔。例如:12345678 (阿呆的密码

(7)然后打samba服务器配置。点击“增加(A)”,填入以入信息。(如图a15


目录我们指向这个用户的目录,例如我的/home/huangwenwei

提示:我们在linux新建的一用户名的同时,也在/home的目录下增加一个与用户名相同的目录文件夹,同时也增加一个与用户名同名的组名:

基本权限为“读/写”,这个用户可读可写。 “访问(A)”设为“只允许指定用忘户的访问”,然后确定。
(a16)


(8)单击菜单中的“首选项”,选点击“服务器设置” ,在弹出的对话框中点击“安全性(S)”,填入以下信息。 然后确定。(a17)

接着单击菜单的“首选项”--- 》“samba用户”----》“ 添加用户 ”在弹出的对话框中填入以下信息。然后确定,再按确定(如图a18


提示:windows用户名是指你用windows2000访问这台linux的用户名,密码如图a18的。如果是windows98的话,要新建一个叫huangwenwei的用户名,然后用这个用户名登录,才能访问这台linux. 的共享。

接着我们点中“/home/huangwenwei /写。。。。”,单击“属性” 在弹出的对话框中选中 “访问(A)”
huangwenwei的前面打上一个勾。然后确定。 (a19)

然后我们重启一下samba就可 以啦
这时访问这台linux就要密码啦。如果不行就重启一下这台linux



[ 本帖最后由 Wayrt 于 2007-12-17 23:23 编辑 ]
附件: 您所在的用户组无法下载或查看附件
九 九 教 院 毕 业 生,出 校 三 载 网 管 职,欲 写 病 毒 为 红 颜,谁 知 时 间 流 水 过,如 今 美 梦 影 成 空。

TOP

2,通过webminlinux最基本的配置方法再配置samba
如果我要有一些用户匿名就能打开的linux共享文档,
有一些用户访问需要密码的,但权限比前者大的呢,
哪该怎么设置呢?下面我们就用功能更加强大的webmin配合linux常用的修改方法。
继续吧。

(1),打开你已经安装好的webmin-1.130(我安装的版本是webmin-1.130),什么?
没有安装,哪你就看一下我的上一篇文章《菜鸟篇之webmin的安装》。
Article_Show.asp?ArticleID=999
http://www.landiy.net (这个网站里面有,在操作系统专题)
或者上网搜一下也行。有很多相关的教程。很容易的。:) !!!

首先我们打开IE浏览器,或者linux相关浏览器,输入你的webmin的地址。
默认是你的主机名加上端口号,或者IP地址加上端口号。
然后填入用户名与密码。例如我的是http://wenwei99:12000
或者http://192.168.200.70:12000
提示:webmin 的默认安装的端口是10000 ,用户名是admin

然后按login登录,(a21)

接着按上面“菜单栏”的“servers”,接着出现很多项服务配置,
点击“Samba Windows 文件共享”。(a22)

2),在进入samba共享管理器的界面,主要分为四部份。

1),系统默认的共享文件夹与共享打印机。

2),全局配置

3)samba users

4),重启samba 服务器与 停止samba 服务。

我们把原来的共享文件夹与共享打印机删除掉,让它什么都没有共享。
注意,删除要进入该文件共享界面。( a23-a24)


(3),接着我们用终端打开samba的主配置文件。
#vi /etc/samba/smb.conf
内容如下:
# This is the main Samba configuration file. You should read the
# smb.conf(5) manual page in order to understand the options listed
# here. Samba has a huge number of configurable options (perhaps too
# many!) most of which are not shown in this example
#
# Any line which starts with a ; (semi-colon) or a # (hash)
# is a comment and is ignored. In this example we will use a #
# for commentry and a ; for parts of the config file that you
# may wish to enable
#
# NOTE: Whenever you modify this file you should run the command "testparm"
# to check that you have not made any basic syntactic errors.
#
#======================= Global Settings =====================================
[global]
全局设置

log file = /var/log/samba/%m.log
(samba的日志文件所在位置)

client code page = 936
(显示简体中文,没有的话就加上)

load printers = yes
(允许共享打印机)
        smb passwd file = /etc/samba/smbpasswd
(设置samba口令文件的位置)


obey pam restrictions = yes
(当用认认证时,服从pam管理限制,)

socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192

guest ok = yes
(可以使用来宾帐号进行访问)

encrypt passwords = yes
(密码是否加密)

dns proxy = no
(不为客户机做DNS查询)

netbios name = wenwei99
(你的机器名)

server string = redhat 9.0 samba server
(服务器说明,注释)

printing = cups
(设置打印系统类型,我这里没有打印机,学生穷吗)

unix password sync = yes
(设置samba用户与系统中的帐号同步)


workgroup = kkk
(工作组名)

os level = 20
(主浏览器优先级为20)

printcap name = /etc/printcap
(打印文件位置)

security = share
(四个安全级别中的最低级,共享)

max log size = 0
(最大的日记文件为零,你可以设为大一点)

pam password change = yes

(当用户要求更改密码时用pam的方式)

hosts allow = 192.168.200.
(仅此网段的主机可以访问,没有的话表示所有)

(4),现在我们通过webmin来创建一个共享目录,这个目录在/tmp/student 下,谁都可以
访问,但只有读的权限。进到如(a24),点击“创建新的文件共享”。

(5),在弹出的界面填入以下信息。(a26)

(6),然后点击左下角的“口令和访问控制”。填入以下信息。(a27)

仅允许:192.168.200.
是指只有这个网段的计算机才可以访问,当然也可以是一台。要注意后面还有一个 “。”点。

接着按左下角的“Save 保存退出口令和访问控制,来到(图 a26, 再按“Save”保存,来到samba 主界面,你会发现多了一行。(a28)

(7),然后我们拉动右边的滚动条到最下面。按 “重新启动samba服务器”,重新启动samba。(如图a29)



现在我们就可以用windows 或者linux匿名访问这台linux共享的啦,:)



现在我们再查看samba的主配置文件多了些什么?
#vi /etc/samba/smb.conf

内容如下:
# This is the main Samba configuration file. You should read the
# smb.conf(5) manual page in order to understand the options listed
# here. Samba has a huge number of configurable options (perhaps too
# many!) most of which are not shown in this example
#
# Any line which starts with a ; (semi-colon) or a # (hash)
# is a comment and is ignored. In this example we will use a #
# for commentry and a ; for parts of the config file that you
# may wish to enable
#
# NOTE: Whenever you modify this file you should run the command "testparm"
# to check that you have not made any basic syntactic errors.
#
#======================= Global Settings =====================================
[global]

log file = /var/log/samba/%m.log


smb passwd file = /etc/samba/smbpasswd

load printers = yes

client code page = 936

socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192

obey pam restrictions = yes

guest ok = yes

encrypt passwords = yes

dns proxy = no

netbios name = wenwei99

server string = redhat 9.0 samba server

printing = cups

unix password sync = yes

workgroup = kkk

os level = 20

printcap name = /etc/printcap

security = share

max log size = 0

pam password change = yes



[alluser]


comment = this is all user

guest only = yes

path = /tmp/student

allow hosts = 192.168.200.

deny hosts = all
是不是多了一个“[alluser]“和它的下面几行。



(8),下面我们继续,我们建一个用户可以访问的,可读可写,不过要密码才可以访  问。

首先我们们把linux系统用户加到sambasmbpasswd中,
(因这默认这个smbpasswd是不存在的)
# cat /etc/passwd | mksmbpasswd.sh > /etc/samba/smbpasswd
设置文件和目录的权限。为了安全一点。
#chown root.root /etc/samba/smbpasswd
(改变文件的拥有者为root)
#chmod 500 /etc/samba
(让这个文件夹的拥有者可读可执行)
#chmod 600 /etc/samba/smbpasswd
(这个文件的拥有者可读可写)

#useradd hww (创建一用户)
#passwd hww (更改密码)
输入两次相同的密码,不要少于6位喔。

#smbpasswd -a hww
(hww这个用户加到samba的账号里)
输入两次相同的密码。
如果显示Added user hww. 表示成功啦。

接着我们创一个目录给hww作共享目录。
# mkdir -p /var/samba/hww
(hww的共享目录,-p表示多级目录)
# chown hww . hww /var/samba/hww
(把这个文件夹权限给hww)

# vi /etc/samba/smb.conf
(打开主samba的主配置文件)
在最后面加入以下的内容,(当然你可以通过webmin创建),两种都行,我试了几次的。

[hwwsdir]

comment = hww's service

path = /var/samba/hww

valid users = hww

public = yes

writable = yes

read only = no

然后保存退出。

#/etc/rc.d/init.d/smb restart
重启之后就行啦,现在你用windows访问这台wenwei99linux.
里面有两个文件夹,一个 alluser不用密码,一个hwwsdir要密码。

在终端查看wenwei99这台linux共享可以输入:
# smbclient -L \\192.168.200.70
(注意L是大写的,200.70是我这台linuxIP)
如果想用某个用户名查看可以输入:
# smbclient -L \\192.168.200.70 -U hww


注:如果有出现不能访问的。在看linxu中的防墙是否允许。
你可以执行# /etc/rc.d/init.d/iptables stop
停掉防火墙。



[ 本帖最后由 Wayrt 于 2007-12-17 23:29 编辑 ]
附件: 您所在的用户组无法下载或查看附件
九 九 教 院 毕 业 生,出 校 三 载 网 管 职,欲 写 病 毒 为 红 颜,谁 知 时 间 流 水 过,如 今 美 梦 影 成 空。

TOP

快国庆了大家怎么安排

说说看都打算怎么过,我要和三鹿牛奶,喝一箱的说。






如何优雅的解决你面临的网站推广问题?网站推广网络推广群发软件论坛群发竞价排名又将何去何从?

TOP

linux学习过一段时间,现在基本上忘的差不多啦

TOP

发新话题