场景需求:

安装了Ubuntu在虚拟机上,但是代码编辑或者其它更多的操作的时候,还是习惯在windows下进行。如果windows下编辑完再上传到服务器,再编译执行,就太繁琐了。一次两次还好说,这编译级别上千次的,每次也需要上传的话,无疑是个人间悲剧。但是有了Samba,犹如雪中送炭啊。
 
安装
Ubuntu下安装比较简单,执行
 # install samba samba-common
即可。当然也可以直接去官网(https://www.samba.org/)下载安装。
 
配置
1. 新建共享的目录:
# mkdir /home/用户名/share
# chmod /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 = #远程创建目录、文件默认权限
directory mask = #远程访问目录权限
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 =
directory mask =
force user =weiyg
force group = weiyg

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

workgroup = WORKGROUP
display charset = UTF-
unix charset = UTF-
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文件交互的系统用户。所以为了方便,我将远程访问用户和系统用户设置成一样的。
 
以上个人理解,可能存在出入!
 

[Linux实用工具]Windows下同步Linux文件(Linux安装Samba和配置)的更多相关文章

  1. Windows下 maven3.3.1的安装步骤+maven配置本地仓库

    简单讲下maven的安装步骤: 1.在安装maven之前,先确保已经安装JDK1.6及以上版本,并且配置好环境变量. 2.下载maven3,最新版本是Maven3.3.1 ,下载地址:http://m ...

  2. Windows下 maven3.0.4的安装步骤+maven配置本地仓库

    简单讲下maven的安装步骤: 1.在安装maven之前,先确保已经安装JDK1.6及以上版本,并且配置好环境变量. 2.下载maven3,最新版本是Maven3.0.4 ,下载地址:http://m ...

  3. Windows下使用PSCP从Linux下载或上传文件

    1. 先下载putty包,然后解压 https://the.earth.li/~sgtatham/putty/latest/w64/putty.zip 2. 下载Linux文件到当前目录 PSCP.e ...

  4. Windows 下目录及文件向Linux同步

    本文解决的是Windows 下目录及文件向Linux同步的问题,Windows向 Windows同步的请参考:http://www.idcfree.com/article-852-1.html 环境介 ...

  5. 用脚本如何实现将Linux下的txt文件批量转化为Windows下的txt文件?

    众所周知,Windows和Linux的文件换行回车格式不同,Windows下换行格式是\r\n(回车+换行),Linux下换行格式为\n(只是换行),因此,其中一个操作系统的文本文件若需要在另外一个中 ...

  6. Linux&Windows下批量修改文件后缀

    Linux下从给定文件夹中找出小于1M的文件,并批量添加.gif后缀 先看一下文件夹下的目录的格式 ll -Sh -rw-rw-r-- 1 yangkun yangkun 17M May 10 15: ...

  7. [Linux实用工具]Linux监控工具munin的展示(Nginx)

    Munin的安装和配置可以参考第一篇文章: [Linux实用工具]Linux监控工具munin的安装和配置 http://www.cnblogs.com/rond/p/3757804.html Mun ...

  8. Linux学习总结(3)——Linux实用工具

    1. Windows下同步Linux文件(Linux安装Samba和配置) 场景需求: 安装了Ubuntu在虚拟机上,但是代码编辑或者其它更多的操作的时候,还是习惯在windows下进行.如果wind ...

  9. [Linux实用工具]munin-node插件配置和插件编写

    前面介绍了2篇munin使用的相关文章: [Linux实用工具]Linux监控工具munin的安装和配置 [Linux实用工具]Linux监控工具munin的展示(Nginx)   这次介绍一下mun ...

随机推荐

  1. [Aaronyang] 写给自己的WPF4.5 笔记5[数据绑定三巴掌1/3]

    生活总有意外,微笑对待每一件事,无需抱怨--Aaronyang的博客(www.ayjs.net) 博文摘要:数据库下载 教你如何在vs2013中不安装Mssql数据库,使用了Sqlserver Com ...

  2. dbms_monitor开启/关闭会话跟踪

    从10g开始,可以使用dbms_monitor开启/关闭会话跟踪. sql> desc dbms_monitor procedure client_id_stat_disable argumen ...

  3. 《跟老男孩学Linux运维:Web集群实战》读书笔记

    Linux 介绍 Linux 安装 Linux 调优 Web 基础 Nginx 应用 LNMP 应用 PHP 缓存加速 Nginx 调优 MySQL 应用 NFS 网络文件共享 Nginx 反向代理与 ...

  4. rdlc 分页操作和分页统计

    1. 工具箱中拖一个列表过来,设置 列表-->行组-->组属性常规-->组表达式=Int((RowNumber(Nothing)-1)/10)分页符-->勾选在组的结尾. 2. ...

  5. 【转载并整理】mysql 1293错误 建表两个timestamp

    http://www.jb51.net/article/50878.htm 这里要使用到mysql的触发器

  6. Mac下命令行下载android源代码并构建apk过程

    前提是java .sdk.ndk .cmake.gradle .gradlew都已经安装和配置好. 1.下载源码: git clone http://git-ma.xxxx.com.cn/xxxx/x ...

  7. jQuery学习笔记(jquery.form插件)

    官网: http://malsup.com/jquery/form/ jQuery Form插件是一个优秀的Ajax表单插件,可以非常容易地.无侵入地升级HTML表单以支持Ajax.jQuery Fo ...

  8. 深入理解Linux内核-定时测量

    定时测量:由基于固定频率振荡器和计数器的几个硬件电路完成的. 记时体系概貌: 内核中与时间相关的任务: 硬件设备: 实时时钟(RTC):1.Real Time Clock ,独立于CPU和所有芯片,每 ...

  9. HTTP模块SuperAgent

    superagent它是一个强大并且可读性很好的轻量级ajaxAPI,是一个关于HTTP方面的一个库,而且它可以将链式写法玩的出神入化. var superagent = require('super ...

  10. HTML5学习笔记(二十六):JavaScript的错误处理

    错误相关的调试和处理在开发中是特别重要的一种技能. try-catch 我们来看下面的情况: // noneFunc 这个方法并不存在 window.noneFunc(); // js 报错后终止运行 ...