Linux安装samba的过程,Samba安装全过程

对于linux与windows共享,和平共处,我们可以用Samba软件

Samba是一套免费的开源软件,可以在linux或其他类unix操作系统上实现windows域控制器,文件服务,打印服务等。

Samba实现了windows系统所使用的核心网络协议:SMB(Server Message Block)

Samba可以提供如下功能:

活动目录服务(Active Directory Server, ADS)

主域控制器(Primary Domain Controller, PDC)

共享目录

共享打印机

Samba是一个高性能的服务软件,只需要更低的硬件就可以实现windows server相同的性能。

一、安装Samba

sudo apt-get install samba

安装完成之后,在windwos上访问(我的linux server ip:192.168.1.66):

输入\\192.168.1.66 如图:

453139c0ca464b1d485cb7991d698d99.png

通过标题栏可以看出已经可以访问了,但里面没有共享资源

二、Samba的配置

Samba的配置文件是/etc/samba/smb.conf,它所使用的语法和windows的.ini文件差不多。

注:在修改配置练习时,请备份原配置文件

最简单的配置

[global]

security=share

[linux_share]

path=/home/linux/share

public=yes

这个配置分成两段:

***段:global

第二段:linux_share 这是一个自己定义的名字,当从windows访问时,就可以看到这个共享文件夹的名称

security=share, 表示安全等级为share,这样用户不需要经过密码验证了。

path定义了共享的文件夹的路径

public=yes 表示公开给所有人访问

配置完成时,检查一下配置文件的语法: 用testparm命令

如图:

95733711d5e2c25c46055be997cdd1e0.png

重启Samba生效

sudo /etc/init.d/smbd restart

现在通过windows访问可以看到我们创建的共享文件夹了

0190cc7b164f04cbb229366a172257b4.png

三、Samba的安全认证

Samba提供了安全认证等级,分4个级别:

share : 不需要输入用户名和密码

user : 需要输入用户名,密码, Samba对用户进行认证

server : 认证工作由另一台Samba服务器或者Windows server负责

domain : 指定一台windows server来进行用户认证

其中user是Samba的默认安全认证级别,也就是说在/etc/samba/smb.conf配置文件中,将security一行改为security=user,那么用户在浏览共享内容前,就必须输入用户名和密码。

现在把安全级别提升为user

sudo vim /etc/samba/smb.conf

[global]

security=user

[linux_share]

path=/home/linux/share

valid users=cdyemail #指定有效的用户,多个用可访问用逗号隔开

public=no #公开访问为否

重启samba服务:sudo /etc/init.d/smbd restart

通过windows访问如图:

512a935a03e1ca3dfb9fb4c2b9002c12.png

现在要密码了,但是输入linux的用户名和密码无法通过认证,如果想让Samba通过认证,需要以下几点:

(1)、在ubuntu系统中创建用户

(2)、在Samba中创建该用户

(3)、在windows中创建相同的用户(和Samba用户密码相同)

1、在Ubuntu中创建用户

如果要将某个资源共享给新用户,必须先用adduser命令向Ubuntu中添加该用户。如:

我们打算将某个资源共享给一个叫做cdyemail的用户,首先要做的就是在Ubuntu系统中创建这个用户

sudo useradd cdyemail

这样,系统中就有了cdyemail这个用户了。

2、在Samba中创建用户

Ubuntu系统中的用户,和Samba用户是两回事,要将资源共享给某个系统中的用户,必须将该用户添加到Samba中。

添加方法:

sudo smbpasswd -a cdyemail

#smbpasswd是命令, -a表示add user , cdyemail表示用户名

这样cdyemail的认证信息就被写入到Samba中了。重启Samba生效

添加完用户和密码后,现在可以在windows中通过这个用户名和密码进行访问了。

3、在windows中创建相同的用户

在windows客户端中,我们需要创建与samba中完全相同的用户名和密码,这样才能通过Samba的认证,我们在windows客户端上打开Samba共享资源时,Samba会自动将windows环境中的用户信息传递到服务器上进行验证,因此如果登录的windows用户和Samba用户名相同的话(密码也相同),就不需要输入密码了,自动就能通过认证。

我在测试中通过,相当给力!!

4、Samba用户密码修改

如果修改密码了,则windows与Samba都要同步修改。在Samba中修改的方法如下:

sudo smbpasswd cdyemail #cdyemail为要修改的用户名

如果windows不修改,则要手动输入Samba修改后的用户名和密码,windows修改后要求注销一下(重登录)

三、共享权限的控制

目录我们只要以访问文件的内容,但没有权限修改文件,也无法向共享目录添加新文件。

1、添加文件写入权限

[global]

security=user

[linux_share]

path=/home/linux/share

valid users=cdyemail

writeable=yes #添加一句,表示具有写权限了

public=no

重启samba服务 sudo /etc/init.d/smbd restart ,之后就可以写文件了,但要求服务器上的目录本身有这个权限。我测试时用rwx权限测试成功。

对于服务器目录权限的测试:

由于我共享的是share目录,创建时用root,所以在默认的情况下,即使开了writeable也没有权限写,因为服务器目录的本身权限有问题。

(1)先修改用户所属

sudo chown cdyemail:cdyemail

(2)只保留cdyemail用户有权限访问这个目录

sudo chmod u+rwx,g-rwx,o-rwx share

(3)访问,测试写文件

测试成功,cdyemail用户有权限写。

*********未完************

由于现在要在命令行下进行数据共享的工作,所以先记录到这儿,有时间再记录其它的功能

访问服务器的共享资源:

服务器配置如下,一个要求用户认证的共享,一个大众都可能访问的。

[global]

security=user

[share_resource]

path=/home/linux/share

valid users=shareuser

writeable=yes

public=no

[public]

path=/home/linux/public

writeable=yes

public=yes

客户机访问如下:

安装:smbclient , smbfs

smbclient可以查看资源,下载资源等,这里用mount挂载远程的共享目录

sudo mount -t smbfs -o username=shareuser,passwd=***** //192.168.1.66/share_resource /mnt/data

#smbfs是文件系统类型

#share_resource就是在samba中定义的共享名称,挂载到/mnt/data目录上

*************************

【编辑推荐】

【责任编辑:李晶 TEL:(010)68476606】

点赞 0

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/405645.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

树莓派UART串口编程--使用wiringPi库-C开发【2-修改驱动】

一、前言 上一篇博文记录了使用wiringPi提供的串口驱动wiringSerial.c wiringSerial.h,并基于该驱动对串口进行简单的通信,测试中发现该串口的驱动比较简单,接收数据会存在分包的现象,另外一点是串口配置只提供了波特率参数配置&…

【转】全面理解javascript的arguments,callee,caller,call,apply概念(修改版)

(注:在看到大家如此关注JS里头的这几个对象,我试着把原文再修改一下,力求能再详细的阐明个中意义 2007-05-21)在提到上述的概念之前,首先想说说javascript中函数的隐含参数:arguments Arguments 该对象代表…

windows延缓写入失败相关问题解决办法

From: http://www.ggsafe.com/news/1324547234222.shtml 我们在使用电脑时,有时在不正常关机后电脑会出现这样那样的问题。windows延缓写入失败就是其中一个,很多网友在互联网上发帖求助windows延缓写入失败怎么办,出现这种情况一般都是由于电…

wince linux 性能,wince remote call profiler(性能分析)

如何使用1 建立工程,CPU类型必须于目标机型一致如ARMV4I,所以选择WCE Application,然后选择empty project2 project settings 中,link页,Object/library modules中添加 cecap.lib(前面有空格),Ingore libraries中添加,libc.lib(前面有逗号).C/C页Project Options最后添加 /call…

前端小知识点(4):JS 运行机制和存储

目录 被忽视的内存管理 JS工作原理 JS代码如何运行 JavaScript内存的生命周期 栈内存、堆内存 代码案例 运行结果 被忽视的内存管理 JavaScript不像C、C等语言——程序员必须通过调用内存管理接口,比如 malloc()和free(),自己手动分配和释放内存。…

Linux ps aux查看进程

一、ps 命令 ps 是Process Status的缩写,用于查看进程状态,ps 可以显示linux系统的所有进程信息。 用法: ps a 显示现行终端机下的所有程序,包括其他用户的程序。ps -A 显示所有程序。 ps c 列出程序时,显示每个程序…

2010数据库SQL Server 盘点

让我们一起来盘点一下2010数据库SQL Server 发布了那些给力的新品。 1. 微软发布SQL Server 2008 R2 微软公司于2010年4月21日宣布推出Microsoft SQL Server 2008 R2。SQL Server 2008 R2已经可以看作是本年度的一次重量级发布。微软公司努力将SQL Server打造为一个信息平台&am…

linux下有四个作业优先级,第一次作业:对Linux系统分析

一.操作系统的组成1.无进程的内核在一些操作系统当中操作系统的内核在所有的进程之外执行。也就是说操作系统有自己的内存区域和系统栈,当进程发生 中断,陷阱或系统调用时,此进程的上下文环境被保存在系统栈中,控制权转移给内…

前端小知识点(6):听了好多闭包,这次可能最懂

目录 一、作用域和作用域链 二、闭包 三、无意间共享环境[可以通过闭包解决] 代码一 结果一 代码二 结果二 代码三 结果三 一、作用域和作用域链 当函数声明的时候,函数会通过内部属性[scope]来记录创建范围 二、闭包 什么是闭包:闭包是一个函数加…

Linux的Qt编译出现:-1: error: cannot find -lGL问题的解决方法

Qt是支持跨平台的C图形用户界面应用程序开发框架,在一个平台上开发好应用程序可以在多个平台方便移植。 在将windows平台上开发的Qt界面程序移植到Linux Ubuntu系统中,在构建项目时出现以下编译问题: error: cannot find -lGL。 即&#xf…

git rebase原理(转)

git rebase 不会取回代码 要用git fetch先取回, git rebase 是合并代码。 (1)首先用git fetch返回服务器上的代码 (2)首先用git rebase origin/master 合并 (3)如果发生冲突了会提示&#xff0c…

前端小知识点(7):正则前瞻

目录 一、js中的正则表达式,只有前瞻没有后顾 正向前瞻:(?) 》匹配符合的 代码1 结果1 代码2 结果2 一、js中的正则表达式,只有前瞻没有后顾 正向前瞻:(?) 》匹配符合的 负向前瞻:(?!) 》匹配不…

c语言编译生成cpp,C语言的编译过程

编译: 编译程序读取源程序(字符流),对之进行词法和语法的分析,将高级语言指令转换为功能等效的汇编代码,再由汇编程序转换为机器语言,并且按照操作系统对可执行文件格式的要求链接生成可执行程序。流程:C源…

设置启用树莓派的HDMI显示

树莓派所有的启动初始化都是在config.txt中完成的,因此,若插入HDMI树莓派没有显示桌面,则是没有配置HDMI。 首先在找到config.txt,两种方法: 第一种方法,将SD卡取出,用读卡器在windows上找到&…

前端小知识点(8):作者为什么设计原型

目录 一、从古代说起 二、Brendan Eich的选择 三、new运算符的缺点 四、prototype属性的引入 五、总结 六代码部分 一、从古代说起 要理解Javascript的设计思想,必须从它的诞生说起。 1994年,网景公司(Netscape)发布了Navi…

前端小知识点(9):函数和对象之间的关系

目录 函数与对象之间的关系 代码演示 运行结果 函数与对象之间的关系 函数 有什么 : 函数也是对象 函数有:prototype 对象 有什么 对象:__proto__ 原型对象里面有什么:constructor 代码演示 //fun是一个函数&#xf…

Linux 给Qt应用软件创建图标启动

一、描述 Ubuntu源码编译安装Eclipse和Qt后,没有自动创建图标,每次启动需要进入到目录下运行脚本,比较麻烦。 可通过创建类似于windows系统的快捷方式进行快捷启动。 快捷方式一般以.desktop后缀命名,并保存到/usr/share/appli…

scheme解释器 C语言实现,使用Scala写了个简单的Scheme解释器

大家好,我使用scala实现了个简单的解释器,能够实现整数的加减乘除。我是照着快学 19章的 3 - 4 * 5 这个例子做的。思路也是按照它的来的。大概是这样 1)首先定义 factor是整数2)那么 term : ( factorfactor...) 就是一个完整的表达式了3) …

Android 的用户层 uevent处理机制

From: http://blog.csdn.net/linphusen/article/details/5667647 摘录几篇android研发日志 1 http://blog.csdn.net/linweig/archive/2010/06/01/5640697.aspx Firmware 加载原理分析----分析的比较透彻,我在wifimod…

前端小知识点(10):原型链

目录 原型链 : 代码1 运行结果1 代码二 运行结果2 原型链 : 每一个对象都有一个原型(__proto__),这个原型还可以拥有自己的原型,形成最终的原型链。 查找一个对象特定的属性或者方法,我们先去当前对象中找&#xff…