samba有五种安全级别,它们分别是:

share:不需要samba账户就可登陆samba服务器
      user:需要添加samba账户才可以登陆samba服务器
      server:由另外一台samba服务器来对用户进行身份验证。 
      domain:把samba服务器加入到NT域,由NT的域控制器来进行身份验证。
      ADS:Active Directory Service,活动目录服务,它是samba3.0中新增的身份验证方式。采用ADS验证方式,samba服务器集成到活动目录中。

以上是它的五个运行级别;share,user这二个级别适合用小型部门,如网吧、企业内部局域网等,也是samba常用的级别。

(一) samba组件安装:

(1)首先用“rpm –qa |grep samba”命令检验系统samba服务是否安装。

#rpm –qa |grep samba

samba-common-3.0.0.15.i386.rpm

samba-client-3.0.0-15.i386.rpm

samba-3.0.0-15.i386.rpm

(2)如果没有显示samba(版本)信息,则说明没有安装,利用“RedHat Linux安装光盘”里自带的RPM包进行安装(也可自己在网上下载相关的版本包进行安装)。

# rpm -ivh samba-common-3.0.0.15.i386.rpm
# rpm -ivh samba-client-3.0.0-15.i386.rpm
# rpm -ivh samba-3.0.0-15.i386.rpm

此外还有一个工具就是图形界面的Swat。
要是用这个工具﹐大家还要修改一处﹐就是﹕
vi /etc/xinetd.d/swat把其中的
disable = yes
改为
disable = no就可以了。

# rpm -ivh samba-swat-3.0.0-15.i386.rpm

(二) share级别的samba的配置
这个级别的samba很简单,首先它不需要以用户和密码来验证登陆,所以就不必去配置samba用户了

下面是实例:

#service smb start        // 启动samba
#cp /etc/samba/smb.conf /etc/samba/smb.conf.bak     // 备份samba的配置文件
#vi /etc/samba/smb.conf

// 找到 security = user 将它改成 security = share

#service smb restart             // 重启samba服务器

打开“我的电脑”,输入  \192.168.1.88  sabma服务器的地址
 
此时samba服务器上任没有设置任何共享目录。

下面在服务器上设置一个名为test的共享目录
#mkdir /test
#chmod 777 /test //让所有用户具有完全权限

#vi /etc/samba/smb.conf 
找到 security = user 将它改成 security = share

把光标移动配置文件的最后一行,在下面加入以下配置
 [test]    //共享名
    comment = test resource //共享目录的注释
    path = /test     //共享目录的路径
    writable = yes   //是否允许写入
    public = yes     //是否允许guest访问

#service smb restart             // 重启samba服务器

这时输入   \192.168.1.88

可以看到刚才增加的名为test的共享目录,此目录任何人有“完全权限” 
如果需要共享其它目录,可照此设定。

(三) user级别的samba的配置.

Share级别的samba无需samba用户就可以访问服务器,而user级别的samba则需以samba用户和密码才能访问,所以我们先要设定一个samba用户,如下:

#useradd cc   //添加cc用户
#passwd cc   //设置cc用户的口令
#smbpasswd –a cc  //将cc用户添加为samba用户

#mkdir /cc   //建立/cc 目录,此目录就是要共享的目录 
#chown cc.cc /cc   //让cc用户成为/cc目录的属主

#vi /etc/samba/smb.conf 
  // 找到 security = share 将它改成 security = user

把光标移动配置文件的最后一行,在下面加入以下配置

[bb]  //共享名,特意取名为bb,以区别于cc的home共享
comment = cc resource 
path = /cc 
writable = yes 
valid users = cc
public = no

#service smb restart             // 重启samba服务器

这时输入   \192.168.1.88,会弹出用户验证对话框

提示输入samba用户和密码,输入用户名:cc 和密码,进入这时会看到多了“bb”、“cc”这二个共享,其中bb是刚才添加的samba共享,“cc”是cc用户的家目录共享。

[注] 在windows中添加cc用户,然后注销administrator,以cc用户的身份登录,访问samba服务器时,则不会出现用户登录对话框,不用输入用户名和密码而能直接浏览共享资源。下图是在windows中以用户cc登录后,输入 \192.168.1.88 直接进入的画面。在windows中以administrator身份登录后访问samba资源,之所以会出现登录对话框,是因为administrator没有对应的samba帐户。

如果不想使用“cc”用户的家目录共享,可以进行如下设置:

#vi /etc/samba/smb.conf

找到如下语句: 
[homes] 
                  comment = Home Directories 
                  browseable = no 
                  writable = yes

在每行的前面加上注释符号“;”

;[homes] 
;   comment = Home Directories 
;   browseable = no 
;   writable = yes

#service smb restart             // 重启samba服务器

这时输入 \192.168.1.88

此时只剩下我们人为添加的bb共享,而家目录共享cc已经不存在了
[注] samba共享的访问权限受samba和linux操作系统的双重制约。即使在samba中已经开通了某个用户对于某个目录的访问权限,但如果samba用户所对应的linux用户没有该目录的访问权限,此时仍然不能访问该共享目录

分享目录参数

v [分享名称]:这个分享名称很重要,它是一个“代号”而已。例如,您在Windows中使用“共享”来分享网上邻居时,假设您将“D:\game”分享出来,系统还会要您输入一个“在网络上面的名称”,假设您输入My_Games,那么以后在网上邻居看到的文件夹(D:\game)名称其实是“\\您的IP\My_Games”。
comment:这个目录的说明。
path:在网上邻居中显示的名称中实际进入的Linux文件系统。也就是说,在网上邻居中看到的是“[共享]”的名称,而实际操作的文件系统则是在path中设置的。
 read only:设置是否只读。
 public:设置是否让所有可以登录的用户看到这个项目。
writable:设置是否可以写入,这里需要注意一下,read only与writable是相似的设置值。如果writable在这里设置为NO,亦即不可写入,那与read only将互相矛盾了,哪个才是正确的设置?答案是:最后出现的那个设置值为主要的设置。
write list:指定能读取和写该共享资源的用户和组
valid users:指定能够进入到此资源的特定用户。

----

清除客户端记录

net use * /delete

net use /yes

linux基础命令学习(七)samba服务器配置的更多相关文章

  1. linux基础命令学习笔记(二)

    linux基础命令学习笔记(二) 1.kill :终止进程  kill pid (唯一标示一个进程) kill -9  强制终止  kill -15 命令未结束不能终止 # ps aux 查看所有进程 ...

  2. linux基础命令学习(六)文件的特殊属性

    Linux chattr命令用于改变文件属性. 这项指令可改变存放在ext2文件系统上的文件或目录属性,这些属性共有以下8种模式: a:让文件或目录仅供附加用途.    b:不更新文件或目录的最后存取 ...

  3. linux基础命令学习(六)DHCP服务器配置

    工作原理:        1.客户机寻找服务器:广播发送discover包,寻找dhcp服务器        2.服务器响应请求:单播发送offer包,对客户机做出响应.提供客户端网络相关的租约以供选 ...

  4. 从零开始学安全(七)●Linux基础命令学习笔记

    halt 关机reboot 现在重新启动su - 如果当前是普通用户,则输入这条命令切换到管理员用户(root),如果要切换到其他用户则敲入 su - 用户名 如: su - wangxin root ...

  5. linux基础命令学习 (七)压缩解压

    一.tar tar主要用来压缩和解压文件 语法: tar [主选项+辅选项] 文件或者目录 主选项: c 创建新的档案文件.如果用户想备份一个目录或是一些文件,就要选择这个选项.相当于打包. x 从档 ...

  6. Linux基础命令---smbpasswd管理samba密码

    smbpasswd smbpasswd指令可以用来修改samba用户的的密码,该指令不仅可以修改本地samba服务器的用户密码,还可以修改远程samba服务器的用户密码. 此命令的适用范围:RedHa ...

  7. Linux基础命令介绍七:网络传输与安全 wget curl rsync iptables

    本篇接着介绍网络相关命令:wget 文件下载工具.curl 网络数据传输工具.rsync 文件传输工具等. 本篇接着介绍网络相关命令 1.wget 文件下载工具 wget [option]... [U ...

  8. Linux基础命令学习记录(一)

    使用频繁的Linux命令 一.文件和目录 1.cd命令 cd / 进入根目录 cd .. 返回上一级目录 cd ../.. 返回上两级目录 cd 进入个人的主目录 cd ~ 进入个人的主目录 cd - ...

  9. linux基础命令学习五(软件包管理、下载管理)

    Linux 软件包管理   本文主要是记录下RedHat系列的软件包管理. 内容分为以下二个部分:二进制包的管理,源代码包的管理 一.二进制包的管理 1.1概念 主要有RPM和YUM这两种包管理. 两 ...

随机推荐

  1. javaScript DOM编程

    1.DOM概述 1.1.        什么是DOM?     DOM= Document Object Model,文档对象模型, DOM 是 W3C(万维网联盟)的标准.DOM 定义了访问 HTM ...

  2. 6/7 Sprint2 看板和燃尽图

  3. C/C++ 一段代码区分数组指针|指针数组|函数指针|函数指针数组

    #include<stdio.h> #include<stdlib.h> #include<windows.h> /* 举列子说明什么是函数指针 */ //以一个加 ...

  4. 初学java之(盒子分布)

    import javax.swing.*; import java.awt.*; class WinGrid extends JFrame { Box basebox , boxv1,boxv2; p ...

  5. Objective-C(面向对象的三大特性)

    封装 set方法 作用:提供一个方法给外界设置成员变量值,可以在方法里面进行过滤 命名规范 1. 方法名必须以set开头 2. set后面跟上成员变量的名称,成员变量的首字母必须大写 3. 返回值一定 ...

  6. 获取图片颜色的rgb,以供css设计背景颜色

    ColorPix

  7. ASCII转义字符

    转义字符 意义 ASCII码值(十进制) \a 响铃(BEL) 007 \b 退格(BS) 008 \f 换页(FF) 012 \n 换行(LF) 010 \r 回车(CR) 013 \t 水平制表( ...

  8. POJ 2632 Crashing Robots 模拟 难度:0

    http://poj.org/problem?id=2632 #include<cstdio> #include <cstring> #include <algorith ...

  9. 如何让DIV在窗口水平和垂直居中

    本实例以新文档开始 2 先放置一个div,并且设置class名为aa,赋予它css属性: width:0;height:0;position:fixed;left:50%;rigth:50%;top: ...

  10. 算法导论-钢条切割 C# 递归实现

    下班前看到有位兄弟写 钢条切割问题,尝试实现C#版, 还没有实现最优版,分享一下. int[] parr; private void button1_Click(object sender, Even ...