红联Linux门户
Linux帮助

linux下samba服务器的架设全过程,要求加精

发布时间:2007-07-15 17:46:49来源:红联作者:zy66289214
最近在学习linux 今天把架设linux samba服务器的方法写出来 欢迎大家讨论和指点
本机是虚拟机和winxp进行测试,虚拟机地址是192.168.1.144 主机地址是192.168.1.10.两者是可以互通的。
首先我们先做linux下的配置
一. 首先要确定linux是否安装了smb
[root@localhost zy]#rpm -qa | grep samba
samba-2.2.5-10
samba-swat-2.2.5-10
samba-common-2.2.5-10
samba-client-2.2.5-10
呵呵 本机已经安装了我就不多说了,没安装的找光盘安装了
二、然后我们判断一下,是否samba服务已经启动,
[root@localhost zy]#ps -aux | grep smb
root 1719 0.0 0.3 4916 1820 ? S 08:21 0:00 smbd -D
root 1849 0.0 0.1 4776 628 pts/1 S 08:48 0:00 grep smb
如果没有启动的话 用[root@localhost zy]#/etc/init.d start
关闭是 [root@localhost zy]#/etc/init.d stop
重启是 [root@localhost zy]#/etc/init.d start
这里只是本次启动,如果需要每次开机都启动的话
用setup 或者 ntsysv
三.本机是没有装linux下的防火墙的 如果因为防火墙的原因造成不能互相访问
[root@localhost zy]#/sbin/iptables -F
四,配置smb的主要配置文件smb.conf
[root@localhost zy]# cd /etc/samba
[root@localhost samba]# mv smb.conf smb.confbak
然后我们来重新创建一个smb.conf文件
[root@localhost zy]touch smb.conf
然后我们把下面这段写入smb.conf中
[global]
workgroup = workgroup
netbios name = zy
server string = Linux Samba Server
security = user
vaild user = zhaoyong
[zy]
path = /home/zy
writeable = yes
browseable = yes
create mask = 0664
guest ok = yes
[global]这段是全局配置,是必写的
workgroup 就是Windows中显示的工作组;在这里我还是workgroup
netbios name 就是在Windows中显示出来的计算机名zy
server string 就是Samba服务器说明,可以自己来定义;这个可以省略
security 这是验证和登录方式,这里我们用了uesr ;验证方式有好多种,这是其中一种;如果用share呢,就是不用设置用户和密码了;
[zy] 这个在Windows中显示出来是共享的目录;
path = 可以设置要共享的目录放在哪里;
writeable 是否可写,这里我设置为可写;
browseable 是否可以浏览,可以;可以浏览意味着,我们在工作组下能看到共享文件夹。如果您不想显示出来,那就设置为 browseable=no
create mask是用户创建文件时的权限掩码;对用户来可读可写,对用户组可读可写,对其它用户可读;
guest ok 匿名用户以guest身份是登录;

五,对文件授权和建立用户
[root@localhost zy]#useradd zhaoyong
[root@localhost zy]#passwd 123456
[root@localhost zy]#mkdir -p /home/zy 创建目录
[root@localhost zy]#chmod 755 /home/zhaoyong 改变目录权限
[root@localhost zy]#chown zhaoyong /home/zhaoyong 将目录所有者变为zhaoyong
[root@localhost zy]#/usr/sbin/groupadd workgroup 创建用户组 workgroup
[root@localhost zy]#gpasswd -a zhaoyong workgroup将zhaoyong加入 用户组workgroup
六.添加samba用户,并设置密码;
我们用的方法是先添加用户,但添加的这些用户都是虚拟用户,因为这些用户是不能通过SHELL登录系统的;
另外值得注意的是系统用户密码和Samba用户的密码是不同的。如果您设置了系统用户能登入SHELL,
可以设置用户的Samba密码和系统用户通过SHELL登录的密码不同。
我们通过smbpasswd 来添加Samba用户,并设置密码
[root@localhost zy]#smbpasswd -a zhaoyong
New SMB password: 123456 在这里添加Samba用户zhaoyong的密码;
Retype new SMB password: 123456 再输入一次;
七.我们可以用finger来查看用户信息
[root@localhost zy]#finger zhaoyong
如果发现目录不是/home/zhaoyong
我们就要修改目录usermod -d /home/zhaoyong zhaoyong
然后从启samba服务器
[root@localhost zy]#/etc/init.d restart
八.windows机器的设置。
1.创建windows下的用户和密码。
因为我们在[Global]中设置的是user共享方式 ,也就是说,要用windows用户名来验证。说明白一点就是windows的必须设置一个与linux机器上完全相同的用户,密码也必须一致。即建议一个用户名为赵勇的用户,密码为123456,工作组为workgroup。
这种方式就是samba密码服务验证,我们在前面已经为zhaoyong在linux的服务器上创建了系统用户名和密码,也创建了smb的密码。
2.要在windows加上相关的协议;添加网络协议,把IPX/SPX以及NETBEUI两个协议加入。
九,就是访问了。
从linux访问smb服务器,[root@localhost zy]# smbclient -L //192.168.1.144 -U zhaoyong
Password: 123456 输入密码
从windows访问可以从网上邻居里workgroup工作组 访问 ,也可以直接在浏览器上访问\\192.168.1.144
附录smbclient 命令
cd [目录]切换到服务器端的指定目录,如未指定,则 smbclient 返回当前本地目录
lcd [目录]切换到客户端指定的目录;
dir 或ls 列出当前目录下的文件;
exit 或quit 退出smbclient
get file1 file2 从服务器上下载file1,并以文件名file2存在本地机上;如果不想改名,可以把file2省略
mget file1 file2 file3 filen 从服务器上下载多个文件;
md或mkdir 目录 在服务器上创建目录
rd或rmdir 目录删除服务器上的目录
put file1 [file2]向服务器上传一个文件file1,传到服务器上改名为file2;
mput file1 file2 filen 向服务器上传多个文件
在Linux中smbfs文件系统的挂载;
mount 的用法,加载网络中的共享文件夹到本地机;mount就是用于挂载文件系统的,SMB做为网络文件系统的一种,也能用mount挂载;smbmount说到底也是用mount的一个变种;
smbmount -o username=zhaoyong,password=123456 , -l //192.168.1.10/共享文件夹名 挂载点
smbmount //ip地址或计算机名/共享文件夹名 挂载点
文章评论

共有 215 条评论

  1. zy66289214 于 2007-07-20 22:44:16发表:

    我现在正在写linux大家一起学 已经写了两课了,你可以去看看,我正在逐步的讲,我相信通过我们的共同努力,起码我们能够熟练的简单管理linux,至于apache我会在后面的课程中写出来的

  2. 3645636 于 2007-07-20 13:09:41发表:

    顶,您可以讲讲怎么配置apache服务器吗? 怎么启动apache,让apache干活! 谢谢,如果您不嫌麻烦,加我QQ

    Q:3645636

  3. zy66289214 于 2007-07-19 16:39:21发表:

    或者 service smaba restart

  4. zy66289214 于 2007-07-19 16:38:55发表:

    呵呵 当初少写了 你可以直接/etc/init.d/samba start

  5. 愤怒的猪头 于 2007-07-19 11:25:10发表:

    学习中,谢谢分享你的经验:0L

  6. IT菜鸟 于 2007-07-19 11:17:51发表:

    大哥
    :0(1 /etc/init.d start
    这是个目录怎么启动哈?????????????????????:0(1 :0(1

  7. fjlycfq 于 2007-07-19 09:36:24发表:

    不错, 谢谢!!!!!!!

  8. zy66289214 于 2007-07-18 19:34:48发表:

    难道安全不是第一吗,你在原来的基础上改也是可以的。

  9. zhuosong 于 2007-07-18 10:37:58发表:

    为什么要新建smb.conf在原来的文件上修改不行吗?

  10. jandz0413 于 2007-07-17 23:02:46发表:

    支持支持,辛苦呢!

  11. hacker2008 于 2007-07-17 16:18:23发表:

    顶起!!!!!!!!!!!!!!!!!

  12. zzh0418 于 2007-07-17 09:54:54发表:

    顶啊 很有帮助

  13. domain 于 2007-07-15 22:57:45发表:

    看看,写这么多辛苦了:0L

  14. zy66289214 于 2007-07-15 18:16:44发表:

    大家支持我下啊,明天我再把 linux下dns配置的详细情况写出来,希望大家能支持我

  15. zy66289214 于 2007-07-15 17:52:34发表:

    学习是很重要的,看贴回帖是必然的