2008年12月3日星期三

转:sambap配置

转载自:http://hi.baidu.com/hywangyc/blog/item/e1e7ae6469af0ef0f736548e.html
SAMBA服务器配置实例分析
2006年12月19日 星期二 15:24

实验一:配置带用户验证的共享目录
1、创建一个samba的共享目录,并将其权限设定为所有者、组用刻户和其他用户可对其进行读写::
#mkdir /samba
#ls -l
#chmod 777 /samb
2、修改/etc/samba/smb.conf配置文件
在[global]部分做如下修改:
security=user //如果是user,则通过windows访问将要求输入用户名与密码
encrypt passwdords=yes;如果默认是这样就不用改了。
smb passwd file = /etc/samba/smbpasswd(密码文件的位置)
在文件末尾添加如下内容:
[samba]
comment=This is my samba server;这是注释行,可以不写东西
path=/samba
read only=no
create mode=0664;这是文件权限
directory mode=0777;这是目录权限
3、创建一个samba用户[该用刻户在windows下有没有都无所谓]
#useradd smbuser
#passwd smbuser
然后创建samba帐户
#smbpasswd -a smbuser [-a必须加,为了生成密码文件smbpasswd],该密码是windows登陆Linux的smbuser用户密码
4、重新启动samba服务
#service smb restart
#pstree |grep smb;观察服务是否启动
5、进行测试
如果想从远程windows机器原“网上邻居”中访问/samba目录,就会要求输入用户名和密码。这里的用户是指上述第3步创建的samba用户当然也可以运行中输入
\\samba服务器ip地十进行访问

******************************************************************************************************************************
实验二:除了上述提到的设置外,进行目录共享时还可以有更多的选项。
如下:
[smb]
comment=This is the second samba
path=/smb
read only=no
create mode=0664
directory mode=0775
deny host=192.168.2.;拒绝所有2网段上的机器访问
allow host=192.168.2.11;允许这台机器访问
public=yes;连接时不需要用户名和密码,这和guest ok=yes等同,
这只应用于该目录,但如果把security=share,则会开放所有目录
browseable=no;禁止显示目录,相当于windows 2000下的隐藏目录
max connection=2;并发用户连接数

实验三:smbclient的使用
查看本机或者远程机器的共享情况
1、使用命令smbclient -L localhost杳看机共享情况:
#smbclient -L localhost
2、如果要在linux下访问windows下的共享资源,则使用命令:
#smbclient //192.168.1.100/share_dir -u administrator
如果成功则进入:smb:\>

实验四:smbmount的使用
#smbmount //win_ip/win_share /mnt/d -o username=administrator
将远程windows目录挂载到本地目录/mnt/d下

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

Samba 服务器配置

以RedHat 8.0为例进行Samba 服务器配置:实现 windows98    windows2000    windowsxp    windowsme 与Linux系统在网络上的文件共享!
在安装RedHat 8.0系统后Samba 服务器软件包已经安装到你的系统中了,你可以直接使用!这里就不多说了

1.        建立想要共享的目录。如:/home/public     任何用户都可以进行读写操作
                           /home/software   任何用户只可以进行读操作
                           /home/support     目录只对指定用户可以访问
建立共享目录后要对目录进行系统权限的设定:
             chmod   777   public
                          chmod   777   software
                          chmod   777   support
2.        这一步是进行Samba系统文件的配置:/etc/samba/smb.conf
vi smb.conf  下面是smb.conf 文件的详细信息

[global]  这个段是控制整个samba服务器的参数
Netbios = linux  指定在windows网上邻居中显示的名字
Workgroup = workgroup  指定所属的工作组的名字,最好与windows系统在同一个工作组中,便于访问
Server string = %h Samba Server %v  指定本机的备注
hosts allow = 192.168.0.  192.168.1. 127.  指定允许访问samba的网段
guest account = nobody  访问都默认的登录用户,nobody 是系统自带的用户
Security = user  指定安全级别,一般用 user
encrypt passwords = yes  是否以加密的形式验证口令
smb passwd file = /etc/samba/smbpasswd  指定对samba 用户口令校验的密码文件


[homes]  当用户请求一个共享时,服务器将在存在的共享资源段中去寻找,如果找到匹配的共享资源段, 就使用这个共享资源段。如果找不到,就将请 求的共享名看成是用户的用户名,并在本地的 password文件里找这个用户,如果用户名存在且用户提供的密码是正确的,则以这个home段克隆出一个 共享提供给用户。这个新的共享的名称是用户的用户名,而不是homes,如果home段里没有指定共享路径,就把该用户的宿主目录 (home directory)作为共享路径。 

comment = weboa's home directories
browseable = no
writable = yes


[public]  在客房端显示的共享名
comment = public areas   注视
path = /home/public  指定共享的目录
browseable = yes  表示是否在浏览器中列出共享目录
guest ok = yes  以guest 用户身份访问
public = yes  是否允许公共访问
writable = yes  是否可以进行写操作,这里要提到的就是系统的目录权限永远大于samba设定的权限!这是设的是可写的权限,但这个目录权限是不可写的用户在访问的时候是不能写入的!


[software]
comment = software
path = /home/software
browseable = yes
guest ok =yes
public = yes
# writable = yes
read only = yes


[support]
comment = support
path = /home/software
valid users = userone usertwo userthree  指定可访问目录的用户名可以是多个用户
browseable = yes
public = no    不允许公共访问 
writable = yes


[cdrom] 
  comment = Server Cdrom 
  path = /mnt/cdrom 
  public = yes 
  browseable = yes 
  root preexec = /bin/mount -t iso9660 /dev/cd0 /mnt/cdrom 
  root postexec = /bin/umount /mnt/cdrom 


3.        建立samba用户
useradd userone
passwd userone    设置口令
smbpasswd -a userone  设置samba用户口令,最好与系统用户口令一样
4.启动samba服务器
 cd   /etc/rc.d/init.d/
  ./smb start    启动
  ./smb restart  重新启动
5.        Samba检测程序
Smbclient  -L  主机名
Testparm    自动查找配置文件中的错误  /etc/samba/smb.conf
Smbstatus   查看在线的用户

启动工作站的一台windows系统,在网上邻居里就可以看到 linux的机器了。
常见的问题:
a.        在win98中可以看到LINUX但击进入的时候要输入中令,b.        可是什么口令都提示口令错误!
98以上的系统默认的是以加密的形式发送口令,samba服务器必须以加密的形式接收口令。
要在[gloabl]中加入 encrypt passwords = yes

另一种可能就是,98在登录的时候要以要用samba用户的身份登录,这样访问的时候就不用输入口令了!
c.        在winxp 系统中进入samba服d.        务器一定有一个用户的身份进入,e.        否则不f.        能登录

好了,现在你可以从windows系统上登录samba了!

没有评论: