文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>使用Smaba共享资源

使用Smaba共享资源

时间:2006-04-20  来源:gridpc

<!--[endif]-->

Samba提供了在Linux和其他系统之间资源共享的一种方式,Samba是在Linux平台下使用SMB()协议通过网络共享文件和打印机,它所支持的操作系统有Windows、OS/2、Linux。本文就以RedHatAS3(update3)为例,简单介绍一下Samba的配置及其管理。

<!--[if !supportEmptyParas]--> <!--[endif]-->

<!--[if !supportLists]-->一、             <!--[endif]-->Samba的安装

<!--[if !supportLists]-->1.  <!--[endif]-->首先到www.samba.org下载Samba的最新版本。

#wget http://us1.samba.org/samba/ftp/samba-3.0.14a.tar.gz

<!--[if !supportLists]-->2.  <!--[endif]-->解开tar文件

#tar –xzvf samba-3.0.14a.tar.gz

如图一

<!--[if !vml]--><!--[endif]-->

<!--[if !supportLists]-->3.  <!--[endif]-->编译

#cd  samba-3.0.14a/source

#./autogen.sh  (生成配置脚本)

如图二

<!--[if !vml]--><!--[endif]-->

<!--[if !supportEmptyParas]--> <!--[endif]-->

 #./configure   (建立二进制文件)

如图三

<!--[if !vml]--><!--[endif]-->

#./make       (生成二进制文件)

如图四

<!--[if !vml]--><!--[endif]-->

#./make install  (安装二进制文件和文档)

如图五

<!--[if !vml]--><!--[endif]-->

系统会把所有的文件安装到/usr/local/samba下。

安装完,将/usr/local/samba/bin和/usr/local/sbin加到系统的PATH环境变量里,命令如下:

#vi /etc/profile

在文件的末尾加上:

export PATH=$PATH:/usr/local/samba/bin:/usr/local/samba/sbin

export MANPATH=/usr/local/samba/man:$MANPATH

#source /etc/profile

<!--[if !supportEmptyParas]--> <!--[endif]-->

<!--[if !supportLists]-->二、             <!--[endif]-->配置Smaba

Samba的配置文件smb.conf,首先将/root/samba-3.0.14a/packaging/RedHat/smb.conf拷贝到/usr/local/samba/lib下。通过修改这个文件用户就可以从Windows或者Linux客户端访问服务器上的文件以及使用服务器上的打印机了。这个文件有很多节,每节描述不同的设置,基本都是“属性=值”的设置方式。下面讲讲几个主要的设置:

[global]节定义一些全局变量。

workgroup=groupname  (NT域名或工作组名)

server string=comment   (Samba服务器描述)

hosts allow=ip_addr     (允许访问的主机)

printcap name =/etc/printcap (打印机配置信息文件)

load printers =yes     (允许使用共享打印机)

printing = bsd        (对bsd, sysv, plp, lprng, aix, hpux, qnx支持)

guest account = pcguest (可以访问的guest帐户,此帐户必须在/etc/passwd)

log file = /var/log/samba/log.smbd (日志文件)

max log size = 50 (日志文件长度为50Kb)

security = user (用户级安全)

password level = 8 (口令长度)

username level = 8  (用户名长度)

encrypt passwords = yes (加密口令)

smb passwd file = /etc/samba/smbpasswd (smb口令文件)

interfaces = 192.168.12.2/24 192.168.13.2/24 (多个网卡接口)

[tmp]节定义临时目录,用于共享文件,只有读权限。

path = /tmp   (临时目录)

read only = no  (只读权限)

public = yes     (共享)

[public]节定义共享的的目录,但是staff组可以有写权限。

path = /home/samba  (共享的目录)

public = yes        (允许共享)

read only = yes       (只读权限)

write list = @staff      (可以有写权限的组)

[home]定义共享的主目录。

comment =/home/root  (提供的服务为用户主目录服务)

browseable =no  (指定其它用户能否浏览该用户主目录)

writable =yes  (用户访问该目录时具有读取和写入权限,只有读权限时,设置为no)

[printers]用于指定共享网络打印机

browseable = yes (若取值为yes,则允许其它用户访问打印机。否则,限制其它用户的访问权。)

printable =yes (可以打印)

public =yes (打印客户帐户)

writable =no (打印机不可写入)

[cdrom]光驱共享的设置

path = /mnt/cdrom   (设备加载点)

ready only = yes      (设备只读)

public = yes         (该设备所有人可用)

[fredsdir] 私有目录

path =pathname   (指定私用目录路径)

valid users =usr1 usr2  (指定使用该私用目录的合法用户)

public = no  (该私用目录不对其他用户共享)

writable = yes (指定的用户对该私用目录具有写权限)

printable =yes (可打印)

其中“#”和“;”开头的行都是注释,但是不同的是,以“;”开头的行是配置时的设置,如果需要配置只要简单去掉“;”,根据需要更改即可。配置完成后,使用下面的命令测试配置:

#testparm

如图六

<!--[if !vml]--><!--[endif]-->

<!--[if !supportLists]-->三、             <!--[endif]-->启动Samba进程

Samba需要的三个进程:

Nmbd:主要负责所有的名字注册和解析任,必须先于其他两个Daemon启动。

Smbd:提供文件和打印的服务,也负责授权,紧随Nmbd启动。

Winbindd:当Samba是WindowsNT4或者ADS域的成员时启动,一般不用。

其中前面的两个进程是必须的。

1.首先,编辑/etc/services,添加相应的端口号。

#vi /etc/services

添加:

netbios-ssn     139/tcp

netbios-ssn     139/ucp

netbios-ns         137/tcp

netbios-ns         137/udp

2.使用inetd管理Samba

在/etc/inetd.conf添加下面的内容:

netbios-ssn stream tcp nowait root /usr/local/samba/bin/smbd smbd

netbios-ns dgram udp wait root /usr/local/samba/bin/nmbd nmbd

重新启动inetd就可以使Samba设置生效

#kill –HUP inetd

3. 如果不打算使用inetd管理Samba,或者系统不是用inetd管理Samba的话,可以简单的启动Samba作为后台Daemon。

编辑/etc/rc.local

#vi /etc/rc.local

添加:

/usr/local/samba/sbin/nmbd –D

/usr/local/samba/sbin/smbd -D

启动后使用下面的命令查看:

#ps –efl|grep nmbd

#ps –efl|grep smbd

如图七

<!--[if !vml]--><!--[endif]-->

<!--[if !supportEmptyParas]--> <!--[endif]-->

<!--[if !supportLists]-->四、             <!--[endif]-->Samba用户管理

1.创建口令文件

Samba的口令格式是:

用户名:用户id:加密的口令(如果没有使用smbpasswd更新口令,那么就是32个X):NT口令():帐户标识(U:用户W:可信用户D:禁止使用N:无口令):最后一次更改的时间(LCT-00000000):被忽略的字段

使用如下脚本(mksmbpasswd.sh)产生smbpasswd文件

mksmbpasswd.sh文件:

#!/bin/sh

awk 'BEGIN {FS=":"

        printf("#\n# SMB password file.\n#\n")

        }

{ printf( "%s:%s:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:[UD         ]:LCT-00000000:%s\n", $1, $3, $5) }'

转换后的smbpasswd文件格式:

如图八

<!--[if !vml]--><!--[endif]-->

# cat /etc/passwd | mksmbpasswd.sh > /etc/samba/smbpasswd

#chmod 600 /etc/samba/smbpasswd

mksmbpasswd.sh并不拷贝/etc/passwd的口令到/etc/samba/smbpasswd。

如图九

<!--[if !vml]--><!--[endif]-->

2.更改用户Samba口令

#smbpasswd username

如图十

<!--[if !vml]--><!--[endif]-->

3. 加密口令文件

确保/etc/samba/smb.conf中下面的内容不被注释

encrypt password = yes

smb passwd file = /etc/samba/smbpasswd

如果想保持用户的系统口令和Samba口令一致,也就是说,在用户使用passwd更改系统口令时,相应的Samba口令也会一起更改,那么就要使用pam_smbpass模块。为了启用这个功能,需要编辑/etc/pam.d/system-auth文件,

添加:

password required /lib/security/pam_smbpass.so nullok user_authtok try_first_pass

<!--[if !supportLists]-->五、<!--[endif]-->访问Samba资源

1.Linux客户端

#smbclient //hostname/sharename -U username

如果口令正确,会看到smb:\>提示符,表示已经连接到共享的目录了,可以输入help,得到相关命令的帮助。

如图十一

<!--[if !vml]--><!--[endif]-->

使用下面的命令列出网络上的主机和共享的目录:

#smbclient –L host_name

如图十二

<!--[if !vml]--><!--[endif]-->

<!--[if !supportEmptyParas]--> <!--[endif]-->

退出可以使用exit或者quit命令。

2.Windows客户端

在Windows下通过点击网上邻居就可以访问Linux共享的资源了。

如图十三

<!--[if !vml]--><!--[endif]-->

当然,也可以使用命令行工具,把linux下的共享目录挂载到Windows下作为网络盘使用,命令如下

C:\net use device_name: \\server_name\path

如图十四

<!--[if !vml]--><!--[endif]-->

<!--[if !supportEmptyParas]--> <!--[endif]-->

然后,在“我的电脑”里就可以看到Linux下共享的资源了。

如图十五

<!--[if !vml]--><!--[endif]-->

<!--[if !supportEmptyParas]--> <!--[endif]-->

通过对Samba的安装,配置,管理的简单介绍,希望可以起到抛砖引玉的作用。

参考文献:www.samba.org

<!--[if !supportEmptyParas]--> <!--[endif]-->

<!--[if !supportEmptyParas]--> <!--[endif]-->

<!--[if !supportEmptyParas]--> <!--[endif]-->

<!--[if !supportEmptyParas]--> <!--[endif]-->

<!--[if !supportEmptyParas]--> <!--[endif]-->

相关阅读 更多 +
排行榜 更多 +
终极街头格斗

终极街头格斗

休闲益智 下载
大炮轰飞机

大炮轰飞机

飞行射击 下载
像素打僵尸

像素打僵尸

飞行射击 下载