[Linux实用工具]Windows下同步Linux文件(Linux安装Samba和配置)

简介:

场景需求:

安装了Ubuntu在虚拟机上,但是代码编辑或者其它更多的操作的时候,还是习惯在windows下进行。如果windows下编辑完再上传到服务器,再编译执行,就太繁琐了。一次两次还好说,这编译级别上千次的,每次也需要上传的话,无疑是个人间悲剧。但是有了Samba,犹如雪中送炭啊。
 
安装
Ubuntu下安装比较简单,执行
 # install samba samba-common
即可。当然也可以直接去官网(https://www.samba.org/)下载安装。
 
配置
1. 新建共享的目录:
# mkdir /home/用户名/share
# chmod 777 /home/用户名/share
 
2. 修改配置smb.conf
修改前最好先备份smb.conf文件。
# cp /etc/samba/smb.conf /etc/samba/smb.conf_bak
# vim /etc/samba/smb.conf
    2.1 取消 # security = user 的注释,并在后面一行加上 username map = /etc/samba/smbusers
security = user
username map = /etc/samba/smbusers
    2.2 在文件的最后面加上以下配置    
复制代码
[Share]
comment = Shared Folder with username and password
path = /home/用户名/share
available = yes
browseable = yes
public = yes
writable = yes
valid users = [访问用户名(系统的用户)]
create mask = 0700                                 #远程创建目录、文件默认权限
directory mask = 0700                              #远程访问目录权限
force user = nobody                                #目录所属用户
force group = nogroup                              #目录所属用户组
复制代码

我的习惯是指给相应的权限给相应的账号,譬如我本身用的是weiyg账号,我会如下配置,这样的话,windows下新建、修改、访问的权限,都会与我weiyg的权限保持一致。这样比较方便。当然,如果本身整个系统都是一个人维护,那就没啥所谓了。

 

复制代码
[share]
path = /home/weiyg/share
available = yes
browseable = yes
public = yes
writable = yes
valid users = weiyg
create mask = 0764
directory mask =0777
force user =weiyg
force group = weiyg
复制代码

 

 

    2.3 修改[global]中的workgroup = WORKGROWP ,并添加编码的设置,如下:

workgroup = WORKGROUP
display charset = UTF-8
unix charset = UTF-8
dos charset = cp936

 

        上面编码设置是为了防止中文目录、文件名乱码的情况。
 
3. 添加访问用户(系统用户)
# useradd [用户名]
    对于我的设置来说,其实我是直接用我本身的用户权限访问的。系统本身就存在了weiyg用户了,这时候不需要执行这一步了。如果如上执行的话,过没有设置密码的话,这个用户就只能从远程访问,不能从本机登录。
 
4. 添加远程访问用户(samba的用户)
# smbpasswd -a [远程访问用户名]
    执行以上命令,并设置密码。该用户是windows远程访问的用户,并不是系统的用户。当然为了方便,我自己设置的用户名其实是跟我系统用户一样的。即
# smbpasswd -a weiyg
    如果要删除远程访问用户,执行如下命令。
# smbpasswd -x [远程访问用户名]
    新建一个/etc/samba/smbusers文件,并保存下面代码:
[访问用户名] = "network username"
    我是这么设置的 weiyg = "weiyg" (不知道对不对,反正最后可以访问)
 
启动
# /etc/init.d/sambd start
# /etc/init.d/sambd restart
 
windows远程访问
    在windows文件管理器上点击【映射网络驱动器】并输入ip地址和用户名密码,即可访问到linux下的文件。
    
 
个人理解原理
    windows下访问用的其实是Samba的账号,然后windows与Samba交互,本质上对文件的操作,其实还是Samba与linux文件交互的系统用户。所以为了方便,我将远程访问用户和系统用户设置成一样的。
 
以上个人理解,可能存在出入!
  本文转自 Ron Ngai 博客园博客,原文链接:http://www.cnblogs.com/rond/p/3688543.html   ,如需转载请自行联系原作者

相关文章
|
7月前
|
安全 Linux iOS开发
Nessus Professional 10.10 Auto Installer for RHEL 10, AlmaLinux 10, Rocky Linux 10 - Nessus 自动化安装程序
Nessus Professional 10.10 Auto Installer for RHEL 10, AlmaLinux 10, Rocky Linux 10 - Nessus 自动化安装程序
465 6
Nessus Professional 10.10 Auto Installer for RHEL 10, AlmaLinux 10, Rocky Linux 10 - Nessus 自动化安装程序
|
7月前
|
存储 Linux 开发工具
Linux环境下使用Buildroot配置软件包
使用Buildroot可以大大简化嵌入式Linux系统的开发和维护工作,但它需要对Linux系统和交叉编译有深入的理解。通过上述步骤,可以有效地配置和定制软件包,为特定的嵌入式应用构建高效、稳定的系统。
788 11
|
7月前
|
消息中间件 Kafka Linux
Linux下安装Kafka 3.9.1
本文介绍Kafka 3.9.1版本的安装与配置,包括通过ZooKeeper或KRaft模式启动Kafka。涵盖环境变量设置、日志路径修改、集群UUID生成、存储格式化及服务启停操作,适用于Linux环境下的部署实践。
925 0
|
9月前
|
网络协议 关系型数据库 Linux
【App Service Linux】在Linux App Service中安装 tcpdump 并抓取网络包
在App Service for Linux环境中,无法像Windows一样直接使用网络排查工具抓包。本文介绍了如何通过TCPDUMP在Linux环境下抓取网络包,包括SSH进入容器、安装tcpdump、执行抓包命令及下载分析文件的完整操作步骤。
426 5
|
9月前
|
弹性计算 安全 Linux
阿里云服务器ECS安装宝塔Linux面板、安装网站(新手图文教程)
本教程详解如何在阿里云服务器上安装宝塔Linux面板,涵盖ECS服务器手动安装步骤,包括系统准备、远程连接、安装命令执行、端口开放及LNMP环境部署,手把手引导用户快速搭建网站环境。
|
8月前
|
Linux 应用服务中间件 Shell
二、Linux文本处理与文件操作核心命令
熟悉了Linux的基本“行走”后,就该拿起真正的“工具”干活了。用grep这个“放大镜”在文件里搜索内容,用find这个“探测器”在系统中寻找文件,再用tar把东西打包带走。最关键的是要学会使用管道符|,它像一条流水线,能把这些命令串联起来,让简单工具组合出强大的功能,比如 ps -ef | grep 'nginx' 就能快速找出nginx进程。
872 1
二、Linux文本处理与文件操作核心命令
|
8月前
|
Linux
linux命令—stat
`stat` 是 Linux 系统中用于查看文件或文件系统详细状态信息的命令。相比 `ls -l`,它提供更全面的信息,包括文件大小、权限、所有者、时间戳(最后访问、修改、状态变更时间)、inode 号、设备信息等。其常用选项包括 `-f` 查看文件系统状态、`-t` 以简洁格式输出、`-L` 跟踪符号链接,以及 `-c` 或 `--format` 自定义输出格式。通过这些选项,用户可以灵活获取所需信息,适用于系统调试、权限检查、磁盘管理等场景。
495 137