怎样设置Samba文件服务器以使用Windows客户端

简介:

怎样设置Samba文件服务器以使用Windows客户端

根据Samba项目网站所述,Samba是一个开源/自由软件套件,提供了到SMB/CIFS客户端的无缝文件和打印服务。不同于其它SMB/CIFS网络协议部署(如HP-UX的LM服务器,OS/2的LAN服务器,或者VisionFS),Samba(及其源代码)是可以自由获取的(终端用户无需付费),允许在Linux/Unixt服务器和Windows/Unix/Linux客户端之间互操作。

出于这些理由,Samba在不同操作系统(除了Linux)共存的网络中首选的文件服务器解决方案——最常见的结构是多个微软Windows客户端访问安装有Samba的Linux服务器,该情形也是本文将要解决的问题。

请注意,另外一方面,如果我们的网络仅仅是由基于Unix的客户端(如Linux,AIX,或者Solaris,等等)组成,我们可以考虑使用NFS(尽管在此种情况下Samba仍然是可选方案),它可以提供更快的速度。

在Debian和CentOS中安装Samba

在我们开始安装之前,我们可以使用操作系统中的包管理系统查询Samba的信息:

在Debian上:

 
 
  1. # aptitude show samba

在CentOS上:

 
 
  1. # yum info samba

在下面的屏幕截图中,我们可以看到‘aptitude show samba’的输出(‘yum info samba’会产生类似的结果):

现在让我们来安装Samba吧(下面的截图来自Debian 7[Wheezy]服务器上的安装):

在Debian上:

 
 
  1. # aptitude install samba

在CentOS上:

 
 
  1. # yum install samba

添加用户到Samba

对于4.x之前的版本,需要建立一个本地Unix帐号以便将其添加到Samba:

 
 
  1. # adduser <username>

接下来,我们需要添加用户到Samba,使用带有‘-a’选项的smbpasswd命令来完成,该命令指出后面的用户名将被添加到本地smbpasswd文件中。我们将被提示输入密码(该密码无需和本地Unix帐号的密码相同):

 
 
  1. # smbpassword -a <username>

最后,我们将赋予用户xmodulo到我们系统上某个目录的访问权限,该目录将被用于作为此用户的Samba共享(如有需要,也可以共享给其它用户)。要完成该工作,请使用文本编辑器(如Vim)打开/etc/samba/smb.conf文件,导航到文件末,然后创建一个带有描述名称的区块(使用方括号将其括起来),如[xmodulo]:

 
 
  1. # SAMBA SHARE
  2. [xmodulo]
  3. path = /home/xmodulo
  4. available = yes
  5. valid users = xmodulo
  6. read only = no
  7. browseable = yes
  8. public = yes
  9. writeable = yes

我们现在必须重启Samba—以防万一—使用testparm命令来检查smb.conf文件的语法错误:

 
 
  1. # service samba restart
  2. # testparm

如果有错误,在testparm结束后会报告。

在Windows 7计算机上将Samba共享映射为一个网络驱动器

在计算机上右击,然后选择“映射网络驱动器”:

输入安装了Samba的机器的IP地址,后跟共享名(就是smb.conf文件中方括号括起来的那个名称),然后确保选中了“使用不同的凭据连接”:

输入先前用‘smbpasswd -a’设置的用户名和密码:

进入计算机,然后检查网络驱动器是否被正确添加:

作为测试,让我们从Samba的手册页创建一个pdf文件,然后保存到/home/xmodulo目录:

接下来,我们可以验证该文件是否可以从Windows读取:

然后检查我们是否能够用默认的pdf阅读器打开它:

最后,让我们看看我们是否能在Windows中刚刚映射的驱动器上保存文件。我们将打开change.log文件,该文件列出了Notepad++的功能:

然后试着将它作为普通文本文件(.txt扩展名)保存到Z:\;然后让我们看看该文件是否能在Linux中看到:

启用磁盘配额

作为第一步,我们需要验证当前内核是否已经编译为支持配额:

 
 
  1. # cat /boot/config-$(uname -r) | grep

每个文件系统最多有5种类型,能够强制使用的配额限制:用户软限制,用户硬限制,组软限制,组硬限制,以及宽限期限。

我们现在将为/home文件系统启用磁盘配额,在/etc/fstab文件对应的/home文件系统行现存的默认选项后添加usrquota和grpquto挂载选项,然后重新挂载文件系统以令修改生效:

接下来,我们需要在/home目录创建两个文件以用于作为用户和组配额的数据库文件:aquota.useraquota.group。然后,我们将生成启用配额后每个文件系统的当前磁盘使用表:

 
 
  1. # quotacheck -cug /home
  2. # quotacheck -avugm

尽管已经为/home文件系统启用磁盘配额,我们还没有给任何用户或组设置权限。检查现有用户/组的配额信息:

 
 
  1. # quota -u <username>
  2. # quota -g <groupname>

在这最后几步中,使用quotatool命令来为每个用户和/或组来分配磁盘配额(注意,该任务也可以使用edquota来完成,但是quotatool更为直接,更不易犯错)。

要为用户xmodulo设置软限制为4MB,硬限制为5MB,xmodulo组为10MB/15MB:

 
 
  1. # quotatool -u xmodulo -bq 4M -l '5 Mb' /home
  2. # quotatool -g xmodulo -bq 10M -l '15 Mb' /home

我们可以在Windows 7中看到结果(4.00MB中有3.98MB空闲):

原文发布时间:2014-08-21

本文来自云栖合作伙伴“linux中国”

目录
相关文章
|
28天前
|
SQL 弹性计算 安全
购买阿里云活动内云服务器之后设置密码、安全组、增加带宽、挂载云盘教程
当我们通过阿里云的活动购买完云服务器之后,并不是立马就能使用了,还需要我们设置云服务器密码,配置安全组等基本操作之后才能使用,有的用户还需要购买并挂载数据盘到云服务器上,很多新手用户由于是初次使用阿里云服务器,因此并不知道这些设置的操作流程,下面给大家介绍下这些设置的具体操作流程。
购买阿里云活动内云服务器之后设置密码、安全组、增加带宽、挂载云盘教程
|
20天前
|
Shell Windows
Windows服务器 开机自启动服务
Windows服务器 开机自启动服务
13 0
|
11天前
|
网络协议 Python
pythonTCP客户端编程连接服务器
【4月更文挑战第6天】本教程介绍了TCP客户端如何连接服务器,包括指定服务器IP和端口、发送连接请求、处理异常、进行数据传输及关闭连接。在Python中,使用`socket`模块创建Socket对象,然后通过`connect()`方法尝试连接服务器 `(server_ip, server_port)`。成功连接后,利用`send()`和`recv()`进行数据交互,记得在通信完成后调用`close()`关闭连接,确保资源释放和程序稳定性。
|
16天前
|
Ubuntu Linux 虚拟化
【Linux】ubuntu安装samba服务器
【Linux】ubuntu安装samba服务器
|
27天前
|
Linux 数据安全/隐私保护 Docker
linux和windows中安装emqx消息服务器
linux和windows中安装emqx消息服务器
27 0
|
29天前
|
弹性计算 监控
ecs合理设置CPUCredits
阿里云ECS的Burstable实例使用CPU Credits管理额外计算能力。监控应用负载以评估CPU需求,选择合适实例类型,优化工作负载分配,确保 Credits 累积与消耗平衡。当Credits不足时,可升级实例或调整工作负载。关注阿里云最新文档以获取准确操作指南。
19 3
|
1月前
|
存储 Windows
windows server 2019 云服务器看不见硬盘的解决方案
windows server 2019 云服务器看不见硬盘的解决方案
|
1月前
|
数据安全/隐私保护 Windows
Windows Server 各版本搭建终端服务器实现远程访问(03~19)
左下角开始➡管理工具➡管理您的服务器,点击添加或删除角色点击下一步勾选自定义,点击下一步蒂埃涅吉终端服务器,点击下一步点击确定重新登录后点击确定点击开始➡管理工具➡计算机管理,展开本地用户和组,点击组可以发现有个组关门用来远程登录右键这个组点击属性,点击添加输入要添加的用户名,点击确定添加成功后点击确定打开另一台虚拟机(前提是在同一个局域网内),按 WIN + R 输入 mstsc 后回车输入 IP 地址后点击连接输入用户名及密码后点击确定连接成功!
32 0
|
1月前
|
消息中间件 监控 NoSQL
在Windows下设置分布式队列Celery的心跳轮询
在Windows下设置分布式队列Celery的心跳轮询
28 0
|
1月前
|
Java Python
如何设置代理ip服务器地址
如何设置代理ip服务器地址
52 0