安装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

相关文章

C++对象布局及多态实现探索之内存布局(整理的很多链接)

本文通过观察对象的内存布局,跟踪函数调用的汇编代码。分析了C++对象内存的布局情况,虚函数的执行方式,以及虚继承,等等 文章链接:http://dev.yesky.com/254/2191254.shtml      论C/C++函数间动态内存的传递 (2005-07-30)   当你涉及到C/C++的核心编程的时候,你会无止境地与内存管理打交道。 文章链接:http://dev.yesky

ESP32 esp-idf esp-adf环境安装及.a库创建与编译

简介 ESP32 功能丰富的 Wi-Fi & 蓝牙 MCU, 适用于多样的物联网应用。使用freertos操作系统。 ESP-IDF 官方物联网开发框架。 ESP-ADF 官方音频开发框架。 文档参照 https://espressif-docs.readthedocs-hosted.com/projects/esp-adf/zh-cn/latest/get-started/index

Linux 安装、配置Tomcat 的HTTPS

Linux 安装 、配置Tomcat的HTTPS 安装Tomcat 这里选择的是 tomcat 10.X ,需要Java 11及更高版本 Binary Distributions ->Core->选择 tar.gz包 下载、上传到内网服务器 /opt 目录tar -xzf 解压将解压的根目录改名为 tomat-10 并移动到 /opt 下, 形成个人习惯的路径 /opt/tomcat-10

VMware9.0详细安装

双击VMware-workstation-full-9.0.0-812388.exe文件: 直接点Next; 这里,我选择了Typical(标准安装)。 因为服务器上只要C盘,所以我选择安装在C盘下的vmware文件夹下面,然后点击Next; 这里我把√取消了,每次启动不检查更新。然后Next; 点击Next; 创建快捷方式等,点击Next; 继续Cont

vcpkg安装opencv中的特殊问题记录(无法找到opencv_corexd.dll)

我是按照网上的vcpkg安装opencv方法进行的(比如这篇:从0开始在visual studio上安装opencv(超详细,针对小白)),但是中间出现了一些别人没有遇到的问题,虽然原因没有找到,但是本人给出一些暂时的解决办法: 问题1: 我在安装库命令行使用的是 .\vcpkg.exe install opencv 我的电脑是x64,vcpkg在这条命令后默认下载的也是opencv2:x6

通过SSH隧道实现通过远程服务器上外网

搭建隧道 autossh -M 0 -f -D 1080 -C -N user1@remotehost##验证隧道是否生效,查看1080端口是否启动netstat -tuln | grep 1080## 测试ssh 隧道是否生效curl -x socks5h://127.0.0.1:1080 -I http://www.github.com 将autossh 设置为服务,隧道开机启动

【服务器运维】CentOS6 minimal 离线安装MySQL5.7

1.准备安装包(版本因人而异,所以下面的命令中版本省略,实际操作中用Tab自动补全就好了) cloog-ppl-0.15.7-1.2.el6.x86_64.rpmcpp-4.4.7-23.el6.x86_64.rpmgcc-4.4.7-23.el6.x86_64.rpmgcc-c++-4.4.7-23.el6.x86_64.rpmglibc-2.12-1.212.el6.x86_64.r

【服务器运维】CentOS7 minimal 离线安装 gcc perl vmware-tools

0. 本机在有网的情况下,下载CentOS镜像 https://www.centos.org/download/ 1. 取出rpm 有的情况可能不需要net-tools,但是如果出现跟ifconfig相关的错误,就把它安装上。另外如果不想升级内核版本的话,就找对应内核版本的rpm版本安装 perl-Time-Local-1.2300-2.el7.noarch.rpmperl-Tim

Windows/macOS/Linux 安装 Redis 和 Redis Desktop Manager 可视化工具

本文所有安装都在macOS High Sierra 10.13.4进行,Windows安装相对容易些,Linux安装与macOS类似,文中会做区分讲解 1. Redis安装 1.下载Redis https://redis.io/download 把下载的源码更名为redis-4.0.9-source,我喜欢跟maven、Tomcat放在一起,就放到/Users/zhan/Documents

Ubuntu20.04离线安装Docker

1.下载3个docker离线安装包,下载网址: https://download.docker.com/linux/ubuntu/dists/xenial/pool/stable/amd64/ 2.把3个离线安装包拷贝到ubuntu本地执行以下命令 sudo dpkg -i containerd.io_1.4.6-1_amd64.deb sudo dpkg -i docker-ce-c