1、根据服务的配置情况分发共享的文件与打印机2. 计算机名与IP的解析服务:可以在客户端直接输入Samba服务器名字就能访问到Samba3. 共享的文件或打印机4. WINS服务的支持:5. LMB服务的支持:6. 身份验证与访问权限设置(如果配合Linux的Quota还可以实现用户磁盘空间配额):可以7. 根据企业要求灵活设置相应的安全级别安装Samba所需的包samba-common-3.0.23c-2 它是samba通用库文件和工具包samba-3.0.23c-2 这个是samba的主程序包samba-client-3.0.10-1.4E.2.i386.rpm samba在Linux|uni
2、x下的客户端包文件(可选)system-config-samba-1.2.39-1.el5 这个是图形界面的samba服务配置包文件(可选)samba-swat-3.0.23c-2 这个包提供本地、远程利用浏览器来配置samba相关服务(可选)安装Samba命令samba(sudo apt-get install samba) smbclient(sudo apt-get install smbclient)smbfs(sudo apt-get install smbfs). 1、/etc/rc.d/init.d/smb start/stop/restart/status/reload参数的详
3、细介绍start启动服务stop停止服务restart 重启服务status 查看服务状态reload 重装载配置文件(Linux一切的服务都是基于配置文件工作的) Samba安装后默认的是开机自启动1、sudo service smbd status 查看运行状态2、netstat -anp |grep 137查看是否开启了相应的端口及是否为samba程序开启的 netstat -anp |grep 138 netstat -anp |grep 139 netstat -anp |grep 4453、netstat -ap |grep smbd 查看samba是否在运行二、 Samba账号1
4、. 添加用户组如:rootlocalhost # /usr/sbin/groupadd cloudusers2. 添加samba用户因为samba用户是基于系统用户的,所以必须先建立系统用户才能添加成samba用户rootcuc03 # useradd -G cloudusers -d /CloudSave/user1 -s /sbin/nologin user1-G: -groups GROUPS 将用户添加到组cloudusers-d: -home-dir HOME_DIR 设置用户的登录目录-s: -shell SHELL 登录时候的shell将用户添加进组:groupaddsmbpas
5、swd -a user1输入两次samba密码即可我们用的方法是先添加用户,但添加的这些用户都是虚拟用户,因为这些用户是不能通过SHELL登录系统的;另外值得注意的是系统用户密码和Samba用户的密码是不同的。如果您设置了系统用户能登入SHELL,可以设置用户的Samba密码和系统用户通过SHELL登录的密码不同。我们通过smbpasswd 来添加Samba用户,并设置密码。原理是通过读取/etc/passwd文件中存在的用户名。rootlocalhost sir01# smbpasswd -a user1smbpass常用选项:smbpasswd -h 列出帮助信息smbpasswd -a
6、添加用户smbpasswd -x 删除现有的samba用户smbpasswd -n 删除现有的samba用户密码smbpasswd -d 禁用现有的samba用户smbpasswd -e 启用已禁用的samba用户也就是创建SAMBA用户在系统中使用的文件夹。文件夹存放的位置没有要求,这里我们将共享文件夹放在/CloudSave/下。根据自身需要,我们在此将共享分为两类:1) 公共共享文件夹:share所有用户对其有完全操作权限mkdir /CloudSave/sharechown root:cloudusers sharechmod 7752) 私人文件夹:user1user4每个文件夹只有
7、其所有者和管理员对其有完全权限mkdir /CloudSave/user1 /创建文件夹user1chown user1:cloudusers user1 /将文件夹user1的所有者改为user1,组改为cloudusers chmod 755 user1 /修改user1的权限为755三、 Samba服务器的配置samba的配置文件存放在/etc/samba/下面,叫smb.conf。它指定需要共享的文件目录、目录共享权限(记住:它也受本地权限限制的啊)、访问日志名称与路径等.它分成两大部分:一、Global Settings, 用来指全局设置的变量,如安全级别等,对整个服务器生效,二、S
8、hared Definitinos,说明共享相关的定义,它以#开头为注释行,也有以;开头的配置范例行,默认是不生效的,如果想设置该行生效,可以把去掉即可!1、全局设置 常用参数:globalworkgroup = WORKGROUP 指明共享所在的工作组,可以是NT域名、工作组名server string =Samba Server 客户端看到的服务器的描述信息netbios name = share file of samba Windows下看到的netbios信息,默认是没有给出的,要使具用此描述,必须手动添加hosts allow = 192.168.2. 192.168.1. EXC
9、EPT 192.168.1.10 允许192.168.2.0段和192.168.1.0段访问,但192.168.1.10主机除外(注意:多网段时要用空格隔开)hosts deny = 192.168.2.10 拒绝192.168.2.10访问(注意:与上一个同时使用时,deny优先生效)interfaces = 192.168.2.10 当服务器有多个网络接口时,可以指定samba监听端口,默认监听全部端口的访问smb passwd file = /etc/samba/smbpasswd 指定samba的密码文件所在位置username map = /etc/samba/smbusers 指定
10、账号映射文件的位置,它是提高安全性的方法,可以防止系统用户直接暴露出来log file = /var/log/samba/%m.log 默认的日志文件,%m是以主机名称来分别记录日志max log size = 50 默认日志大小为50K2.用户共享文件夹设置forshare 中括号里是共享文件名commont = 共享的描述信息path = 共享文件路径public = yes|no 是否可以匿名访问browsable = yes|no 是否出现共享文件名read only = yes|no 是否只读writable = yes|no 是否可写write list = 用户名,用户,组名 设
11、置可读权限的用户valid users = 用户名或组名 设置有效用户invalid users = 用户名或组名 设置无效用户create mask = 0644 设置创建文件时的权限directory mask = 0755 设置创建文件夹时的权限3.编辑配置文件a. 保存现有的配置文件# sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.bakb. 创建新的Samba配置文件# sodu vim /etc/samba/smb.conf:global /全局设置display charset = UTF-8unix charset = UTF-
12、8dos charset = cp950 /这3行是为了防止乱码workgroup = WORKGROUP /就是Windows中显示的工作组netbios name = CloudSave /就是在Windows中显示出来的计算机名;server string = XX /就是Samba服务器说明,可以自己来定义;这个不是什么重要的;security = user / user表示不提供匿名用户登陆,访问需提供帐号密码log file=/var/log/samba/%U.log /日志文件存放的位置share /设置共享文件夹sharepath=/CloudSave/share /设置要共享
13、的目录放在哪里browseable=yes /是否可以浏览,可以;可以浏览意味着,我们在工作组下能看到共享文件夹。如果您不想显示出来,那就设置为 browseable=nowritable=yes /是否可写,这里我设置为可写;read only=no /是否只读valid users=cloudusers /只对指定的Samba帐号可见,包括它的创建者。这里设置的是cloudusers这个组里的所有成员/下面几行是设置回收站功能:vfs object=回收站 /回收站名字 recycle:keeptree=yes /保持目录的树状结构versions=yes /相同文档名时,有不同版本rep
14、ository=recy/%U /回收站的位置,这里设置为每个用户都有一个目录exclude=*.tmp,*.TMP /设置哪些类型的文件不放入回收站maxsize=0 /要放入回收站的最大单个文件大小,单位为字节,0为无限制user1 /设置user1的私人文件夹path=/CloudSave/user1 browseable=yes writable=yes read only=no valid users=user1create mask=644 /设置创建文件的权限directory mask=755 /设置创建文件夹的权限vfs object=回收站 keeptree=yes ver
15、sions=yes repository=recy/%U exclude=*.tmp,*.TMP maxsize=0 四、 samba的环境变量 %S = 当前服务名(如果有的话)%P = 当前服务的根目录(如果有的话)%u = 当前服务的用户名(如果有的话)%g = 当前用户说在的主工作组%U = 当前对话的用户名%G = 当前对话的用户的主工作组%H = 当前服务的用户的Home目录%v = Samba服务的版本号。%h = 运行Samba服务机器的主机名%m = 客户机的NETBIOS名称%L = 服务器的NETBIOS名称%M = 客户机的主机名%N = NIS服务器名%p = NIS
16、服务的Home目录%R = 说采用的协议等级(值可以是CORE, COREPLUS, LANMAN1, LANMAN2,NT1)%d = 当前服务进程的ID%a = 客户机的结构(只能识别几项:Samba,WfWg,WinNT,Win95)%I = 客户机的IP%T = 当前日期和时间附近一 netbios name:你可以指定你samba服务器的netbios名字。通过windows机器的网络邻居可以看到这个名字。如果你没有特别指定,Linux将会使用它自己的网络名作为netbios名。 invalid users:不允许访问samba的用户名列表。比如“root”不应该被允许访问samba
17、。 interfaces:如果你的Linux服务器有一张以上的网卡,同时你希望限制只有一个网络可用。 security:可用的安全模式。如果使用security=user将会要求每个用户都在GNU/Linux服务器上拥有一个账号如果你不需要samba服务器管理用户,同时打算让所有人是用同样的共享资源,可以设为:security=share。 workgroup:你的linux服务器所在的工作组名字。 server string:你的Linux机器的简单描述(一些字符串)。 socket options:用来调节samba服务器,并且让他快些的选项列表。视情况而定。 encrypt passwo
18、rds:必须使用加密口令么?必须了解到,(几乎)每个windows系统都会有不同的搞法! wins support:你的Linux服务器需要以wins方式工作? os level:OS级别指定哪个服务器将成为域控制器(domain master),局部控制器(local master),等等。 domain master:指定samba作为主域服务器 local master:指定samba作为local master server preferred master:如果有其他服务器存在的话,Samba是否会是首选的一个? domain logons:Samba可以管理整个域的连接控制么? l
19、ogon script:当此用户开始一次会话时运行哪个脚本? logon path:启动脚本文件在什么地方? logon home:在何处存放用户profile? name resolve order:以怎样的顺序使用资源顺序以查询网络内机器名字? dns proxy:Samba服务器是否同时也被用作DNS代理服务器? preserve case:保持文件名的大小写情况。 short preserve case: unix password sync:是否需要同步Unix和windows的口令? passwd program:用哪个程序更动口令。 passwd chat:用什么“协议”更动口令。 max log size:log文件的最大尺寸。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1