安装Samba,实现Ubuntu12.04和win7的文件共享

2024-06-16 12:18

本文主要是介绍安装Samba,实现Ubuntu12.04和win7的文件共享,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

这是写的第一篇文章,很大部分是转载的别人的东西,在网上转来转去也不知道是谁的,在此声明,不是原创,写在这里是为了分享我安装配置Samba服务器的过程经验,向和我一样的刚开始不明白的人分享我遇到的问题和应该注意的地方。之前用的是RedHat的,经发哥推荐,开始用Ubuntu12.04。更换了网易163的源。因为要用到嵌入式的交叉编译,就安装Samba。搞了一天。

我是在win7上的vmvare上装的Ubuntu12.04 。

1、安装Samba服务器

sudo apt-get install samba
sudo apt-get install smbfs
查看Samba是否安装成功
sudo dpkg -l samba*

Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Description
+++-==============-==============-============================================

出现上面的表示安装成功。
2、创建共享目录
sudo mkdir /home/xxx/share_samba      创建共享目录
sudo chmod 777 /home/xxx/share_samba  给共享目录设置权限
“xxx”是你的主机名,这个共享文件夹可以根据你自己的喜好来创建。
3、编辑Samba的配置文件
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.backup  备份配置文件,这是一个好习惯
sudo vim /etc/samba/smb.conf<span style="white-space:pre">	</span>对配置文件进行编辑
找到global],workgroup = WORKGROUP ,(网上有的版本说把WORKGROUP改成MSHOME,我没有改,也不知道是什么意思,待解决),并在后面添加如下信息:
display charset=UTF-8
unix charset=UTF-8
dos charset=cp936
这三行是为了防止出现中文乱码的情况(具体也不明白)
找到security=user (若此句前面有#号则去掉,在smb.conf文件中“#“和”;“都是注释,)并在后面加上username map = /etc/samba/smbusers
还有将紧接着的passdb backend = tdbsam 改成 passdb backend = smbpasswd

在文件最后,添加下面的内容

[share]
comment=This is Linux share directory
path=/home/xxx/share_samba
available=yes
browseable=yes
writable=yes
valid users=dayu    dayu是下面要添加的Samba服务器用户名
create mask=0700
directory mask=0700
force user=nobody
force group=nogroup
4、创建Samba账户

在此创建的Samba账户是dayu,该用户只能登陆Samba服务器,不能登陆Ubuntu系统

sudo useradd dayu
sudo smbpasswd -a dayu  为dayu设置登陆密码,不是登陆Ubuntu的密码,是登陆Samba的密码
然后会要求你输入Samba账户(dayu)的密码
sudo cat >/etc/samba/smbusers 打开新建立的配置文件
在这个新建立的文件内加入下面这一行并保存
dayu="network username"
如果将来需要更改dayu的网络访问密码,也用这个命令改
sudo smbpasswd -a dayu 
删除网络使用者的账号的命令是把上面的-a换成-x

如果希望增加两个samba账户则以空格隔开即可,相应改动:
user1 user2= “network username”
validusers = user1 user2

5、重启Samba服务器

sudo  /etc/init.d/smbd restart
6、测试

smbclient -L //localhost/share_samba

[sudo] password for xxx:
Enter root's password:
Domain=[MSHOME] OS=[Unix] Server=[Samba 3.4.0]
Sharename Type Comment
--------- ---- -------
print$ Disk Printer Drivers
share Disk Shared Folder with username and password
IPC$ IPC IPC Service (ubuntu server (Samba, Ubuntu))
Domain=[MSHOME] OS=[Unix] Server=[Samba 3.4.0]
Server Comment
--------- -------
xxx-PC
UBUNTU ubuntu server (Samba, Ubuntu)
。。。

如果你的系统没有smbclient ,会提示你安装smbclient。

$sudo apt-get install smbclient

7、使用

可以到windows下输入ip使用了,在文件夹处输入 "\\" "Ubuntu机器的ip”
输入账户名:dayu和密码。如果不能成功使用,可以调整虚拟机的网络连接方式,nat,关闭的防火墙,win7:控制面板—网络和intelent—防火墙,关闭ubuntu的防火墙,命令:sudo ufw disable.核实上面设置的访问用户对于Ubuntu共享文件夹所在的各个目录层次是否具有相应的访问权限,chmod命令

8、以上是有Samba登陆账户和密码的使用,下面是共享文件不需要登陆名和密码的情况

将security=share改为security=share   和  在配置文件添加的

valid users=dayu  去掉
其他的和上面的一样。

折腾了一天,不容易,刚开始什么都不明白。


下面记录几个相关知识:
启动Samba服务器后,可以使用ps命令查看进程:
$ sudo ps -aux
可以看到Samba服务会同时启动两个服务,其中smbd主要用来管理共享出来的目录,nmbd主要用来解析NetBIOS名。在Windows系统中,主机可以被加入一个组中,这样每个主机都必须有一个名字,这个名字是用于在网上被标志的名,并非机器的主机名,将其称为NetBIOS名。其中nmbd进程是随着smbd进程启动而启动。

启动samba服务 sudo /etc/init.d/smbd start
关闭samba服务 sudo /etc/init.d/smbd stop
重启samba服务 sudo /etc/init.d/smbd restart

这篇关于安装Samba,实现Ubuntu12.04和win7的文件共享的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


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

相关文章

虚拟机Centos7安装MySQL数据库实践

《虚拟机Centos7安装MySQL数据库实践》用户分享在虚拟机安装MySQL的全过程及常见问题解决方案,包括处理GPG密钥、修改密码策略、配置远程访问权限及防火墙设置,最终通过关闭防火墙和停止Net... 目录安装mysql数据库下载wget命令下载MySQL安装包安装MySQL安装MySQL服务安装完成

使用zip4j实现Java中的ZIP文件加密压缩的操作方法

《使用zip4j实现Java中的ZIP文件加密压缩的操作方法》本文介绍如何通过Maven集成zip4j1.3.2库创建带密码保护的ZIP文件,涵盖依赖配置、代码示例及加密原理,确保数据安全性,感兴趣的... 目录1. zip4j库介绍和版本1.1 zip4j库概述1.2 zip4j的版本演变1.3 zip4

python生成随机唯一id的几种实现方法

《python生成随机唯一id的几种实现方法》在Python中生成随机唯一ID有多种方法,根据不同的需求场景可以选择最适合的方案,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习... 目录方法 1:使用 UUID 模块(推荐)方法 2:使用 Secrets 模块(安全敏感场景)方法

JAVA中安装多个JDK的方法

《JAVA中安装多个JDK的方法》文章介绍了在Windows系统上安装多个JDK版本的方法,包括下载、安装路径修改、环境变量配置(JAVA_HOME和Path),并说明如何通过调整JAVA_HOME在... 首先去oracle官网下载好两个版本不同的jdk(需要登录Oracle账号,没有可以免费注册)下载完

Spring StateMachine实现状态机使用示例详解

《SpringStateMachine实现状态机使用示例详解》本文介绍SpringStateMachine实现状态机的步骤,包括依赖导入、枚举定义、状态转移规则配置、上下文管理及服务调用示例,重点解... 目录什么是状态机使用示例什么是状态机状态机是计算机科学中的​​核心建模工具​​,用于描述对象在其生命

Spring Boot 结合 WxJava 实现文章上传微信公众号草稿箱与群发

《SpringBoot结合WxJava实现文章上传微信公众号草稿箱与群发》本文将详细介绍如何使用SpringBoot框架结合WxJava开发工具包,实现文章上传到微信公众号草稿箱以及群发功能,... 目录一、项目环境准备1.1 开发环境1.2 微信公众号准备二、Spring Boot 项目搭建2.1 创建

IntelliJ IDEA2025创建SpringBoot项目的实现步骤

《IntelliJIDEA2025创建SpringBoot项目的实现步骤》本文主要介绍了IntelliJIDEA2025创建SpringBoot项目的实现步骤,文中通过示例代码介绍的非常详细,对大家... 目录一、创建 Spring Boot 项目1. 新建项目2. 基础配置3. 选择依赖4. 生成项目5.

Java JDK1.8 安装和环境配置教程详解

《JavaJDK1.8安装和环境配置教程详解》文章简要介绍了JDK1.8的安装流程,包括官网下载对应系统版本、安装时选择非系统盘路径、配置JAVA_HOME、CLASSPATH和Path环境变量,... 目录1.下载JDK2.安装JDK3.配置环境变量4.检验JDK官网下载地址:Java Downloads

SQL server数据库如何下载和安装

《SQLserver数据库如何下载和安装》本文指导如何下载安装SQLServer2022评估版及SSMS工具,涵盖安装配置、连接字符串设置、C#连接数据库方法和安全注意事项,如混合验证、参数化查... 目录第一步:打开官网下载对应文件第二步:程序安装配置第三部:安装工具SQL Server Manageme

Linux下删除乱码文件和目录的实现方式

《Linux下删除乱码文件和目录的实现方式》:本文主要介绍Linux下删除乱码文件和目录的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux下删除乱码文件和目录方法1方法2总结Linux下删除乱码文件和目录方法1使用ls -i命令找到文件或目录