[原创]samba文件服务器设置“最简单篇”——资深者写给菜鸟的教程

Web、Mail、Ftp、DNS、Proxy、VPN、Samba、LDAP 等基础网络服务
头像
zshmail
帖子: 270
注册时间: 2006-07-03 9:12
送出感谢: 0
接收感谢: 0
联系:

[原创]samba文件服务器设置“最简单篇”——资深者写给菜鸟的教程

#1

帖子 zshmail » 2008-01-12 21:35

题目是开玩笑,我可不是资深者,只不过搞samba有点眉目了。
原理方面一句话带过,只给最最简单的实现步聚,毕竟大多数人不是真的去搞一个文件服务器,只是简单的为了与win进行共享。
至于想进一步学习的好同学可以参考鸟哥的 Linux 私房菜http://linux-vbird.bluedata.org/

步骤1:安装samba
#apt-get install samba
#apt-get install smbfs

步骤2:添加linux用户
#useradd user1     //添加用户名user1
#passwd user1 //给用户名user1添加密码
#mkdir /home/user1 //建立user1的home目录,如果不用这个用户名来登陆linux,此步骤不是必需
#chown -R user1:user1 /home/user1   //给user1的home目录设置好权限

步骤3:给samba服务器添加用户
说明:登陆samba的用户必须已经是linux中的用户
#smbpasswd -a user1 //添加并给user1设置samba密码

步骤4:smb.conf设置
#cd /etc/samb //进入设置目录
#mv smb.conf smb.conf.bak //做好备份,直接将系统默认配置文件改名
#vim smb.conf //建立和配置smb.conf文件

[global]
workgroup=x1 //X1为你局域网中的工作组名
server string=x2 //x2为你linux主机描述性文字,比如:samba server。
security=user //samba的安全等级,user代表需要输入用户名和密码,改成share则不需要输入用户名和密码

[x3] //方框号中的x3这个名字可以随便取,只是在win的网上邻居中显示的共享文件夹名
path=/home/x4 //x4为你要共享的文件夹名,在共享前还要建立这个文件夹,并设好权限以便访问,下面会说明。
valid users=user1 //这个x4共享目录只允许user1这个用户进入
public=no     //no表示除了user1这个用户,其它用户在进入samba服务器后看不见x4这个目录,如果为yes,虽然能看见x4这个目录,但除了user1这个用户能进入这个目录,其它人进不了。
writable=yes   //允许user1在x4目录中进行读和写操作,反之no

//存盘退出
#testparm //检查一下语法错误,比如拼错

步骤5:建立共享目录
#mkdir /home/x4
#chown -R user1:user1 /home/x4 //因为是root建立的目录,其它用户只有读的权限,所还得把权限改一下。当然也可以简单的用#chmod 777 /home/x4。还有个问题就是共享里目录的文件如果有些能访问有些不能访问,那肯定也是权限的问题,进入/home/x4,直接#chmod 777 *来解决。

步骤6:重启samba服务
#/etc/init.d/samba restart

OK,设置到此结束。
有不明白的后面跟贴问吧,我会仔细解答。

##########################################################

设置samba服务要注意以下两点(即两个两次):
1.添加两次用户:一次添加系统用户#useradd user1;再一次是添加samba用户#smbpasswd -a user1;
2.设置两次权限:一次是在smb.conf中设置共享文件夹的权限:再一次是在系统中设置共享文件夹的权限#chmod 777 文件夹名。
上次由 zshmail 在 2008-05-29 9:03,总共编辑 10 次。
头像
zshmail
帖子: 270
注册时间: 2006-07-03 9:12
送出感谢: 0
接收感谢: 0
联系:

#2

帖子 zshmail » 2008-01-12 22:19

上面都是以root根用户进行操作,如果您不是,请在每条命令前加上sudo
头像
stlxv
论坛版主
帖子: 8273
注册时间: 2006-05-03 0:39
来自: المريخ
送出感谢: 0
接收感谢: 1 次

#3

帖子 stlxv » 2008-01-12 22:21

这些全都可以用图形界面操作的哦~~~ 8)
PHP是最好的语言!不服来战!
头像
zshmail
帖子: 270
注册时间: 2006-07-03 9:12
送出感谢: 0
接收感谢: 0
联系:

#4

帖子 zshmail » 2008-01-12 22:26

stlxv 写了:这些全都可以用图形界面操作的哦~~~ 8)
懂得原理后再用GUI操作比较好,不然一有错,就会不知所措。
czy5025
帖子: 15
注册时间: 2008-01-06 23:07
送出感谢: 0
接收感谢: 0

#5

帖子 czy5025 » 2008-01-16 0:09

恩,我也是这么认为,多谢楼主发贴,但是觉得你配置的还是比较简单了点,有没有更深入一下呢?
头像
zshmail
帖子: 270
注册时间: 2006-07-03 9:12
送出感谢: 0
接收感谢: 0
联系:

#6

帖子 zshmail » 2008-01-16 9:02

czy5025 写了:恩,我也是这么认为,多谢楼主发贴,但是觉得你配置的还是比较简单了点,有没有更深入一下呢?
本来就是实现最简单的文件共享,如果明白了这些,自己再去看其它有关samba的资料就会很简单了,而且更全面的配置实在是太多,重复别人的内容也没什么意义。
这里有samba配置的大全:viewtopic.php?t=13797&highlight=%E4%B8% ... A%E5%90%8D

再说这些简单的东西我都认为写的太多了,恐怕那些新人没有耐心把它看完。把所有的配置都写上,好多人看这么长的篇幅,哪有兴趣看下去。
czy5025
帖子: 15
注册时间: 2008-01-06 23:07
送出感谢: 0
接收感谢: 0

#7

帖子 czy5025 » 2008-01-16 9:50

恩,那个链接实在详细,慢慢品位!谢谢楼主了
头像
zshmail
帖子: 270
注册时间: 2006-07-03 9:12
送出感谢: 0
接收感谢: 0
联系:

#8

帖子 zshmail » 2008-02-03 17:00

设置samba服务要注意以下两点(即两个两次):
1.添加两次用户:一次添加系统用户#useradd user1;再一次是添加samba用户#smbpasswd -a user1;
2.设置两次权限:一次是在smb.conf中设置共享文件夹的权限:再一次是在系统中设置共享文件夹的权限#chmod 777 文件夹名。

只要注意以上两个两次,samba设置基本没问题了。
头像
lovenetfox
帖子: 110
注册时间: 2008-01-31 13:28
送出感谢: 0
接收感谢: 0

#9

帖子 lovenetfox » 2008-02-04 15:40

询问楼主,可以不建立 unix 用户 只要 samba用户吗?
因为不想有人通过unix账户登录。
麻烦看看这问题如何解决

viewtopic.php?t=104039
头像
zshmail
帖子: 270
注册时间: 2006-07-03 9:12
送出感谢: 0
接收感谢: 0
联系:

#10

帖子 zshmail » 2008-02-15 17:20

lovenetfox 写了:询问楼主,可以不建立 unix 用户 只要 samba用户吗?
因为不想有人通过unix账户登录。
麻烦看看这问题如何解决

viewtopic.php?t=104039
速去学习系统管理方面有关用户权限的内容。

首先回答你的问题,在设smb用户之前一定要先有unix用户。
不想有人通过unix账户登录可以通过对用户权限设置达到目的。
wushicn
帖子: 5
注册时间: 2008-04-16 8:05
送出感谢: 0
接收感谢: 0

#11

帖子 wushicn » 2008-04-16 15:50

按照楼主的做法设置, 用WINDOWS登陆到samba的时候报错, 显示如\\10.x.x.x 无法访问, 你可能没有权限使用网络资源.... 这样的错误. 请问这是怎么回师?

如果设置passdb backend = tdbsam 则可以访问
头像
zshmail
帖子: 270
注册时间: 2006-07-03 9:12
送出感谢: 0
接收感谢: 0
联系:

#12

帖子 zshmail » 2008-05-12 13:19

wushicn 写了:按照楼主的做法设置, 用WINDOWS登陆到samba的时候报错, 显示如\\10.x.x.x 无法访问, 你可能没有权限使用网络资源.... 这样的错误. 请问这是怎么回师?

如果设置passdb backend = tdbsam 则可以访问
passdb backend = tdbsam
用tdbsam的时候,密码文件是放在 /var/lib/samba/passdb.tdb

而没有这句,当然也就找不到SMB用户和密码,即提示没用权限了。
头像
adagio
论坛版主
帖子: 22109
注册时间: 2008-02-17 23:47
来自: 美丽富饶的那啥星球
送出感谢: 7 次
接收感谢: 74 次

#13

帖子 adagio » 2008-05-12 13:31

我是菜鸟我支持!


不过这个太差劲了 :lol:
zshmail 写了:上面都是以root根用户进行操作,如果您不是,请在每条命令前加上sudo
头像
woaiwojia
帖子: 1353
注册时间: 2007-09-10 20:20
系统: Debian
来自: 南京
送出感谢: 0
接收感谢: 0

#14

帖子 woaiwojia » 2008-05-12 13:34

经你这样一说,是简单了
qxxiao
帖子: 16
注册时间: 2008-05-15 8:27
送出感谢: 0
接收感谢: 0

谢谢!!楼主

#15

帖子 qxxiao » 2008-05-26 11:03

:o :o :o :o :o :o :o :o
回复

回到 “服务器基础应用”