一、安装Ubuntu samba服务器

$ sudo apt-get install samba

$ sudo apt-get install smbclient # Linux客户端测试用

二、创建samba配置文件

1. 备份原配置文件

$ sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak

2. 创建共享目录

$ sudo mkdir -p /home/share

一般来说,该目录的权限为755,将其改为777之后,Owner之外的其他用户才有权限写入。

$ sudo chmod 777 /home/share

3. 修改配置文件

$ sudo vim /etc/samba/smb.conf

在smb.conf最后添加:

[share]

path = /home/share

browseable = yes

writable = yes

comment = smb share test

另外,总结一下常见的samba配置及说明:

[share] # 该共享的共享名

comment = smb share test # 该共享的备注

path = /home/share # 共享路径

allow hosts = host(subnet) # 设置该Samba服务器允许的工作组或者域

deny hosts = host(subnet) # 设置该Samba服务器拒绝的工作组或者域

available = yes|no # 设置该共享目录是否可用

browseable = yes|no # 设置该共享目录是否可显示

writable = yes|no # 指定了这个目录缺省是否可写,也可以用readonly = no来设置可写

public = yes|no # 指明该共享资源是否能给游客帐号访问,guest ok = yes其实和public = yes是一样的

user = user, @group # user设置所有可能使用该共享资源的用户,也可以用@group代表group这个组的所有成员,不同的项目之间用空格或者逗号隔开

valid users = user, @group # 指定能够使用该共享资源的用户和组

invalid users = user, @group # 指定不能够使用该共享资源的用户和组

read list = user, @group # 指定只能读取该共享资源的用户和组

write list = user, @group # 指定能读取和写该共享资源的用户和组

admin list = user, @group # 指定能管理该共享资源(包括读写和权限赋予等)的用户和组

hide dot files = yes|no # 指明是否像UNIX那样隐藏以“.”号开头的文件

create mode = 0755 # 指明新建立的文件的属性,一般是0755

directory mode = 0755 # 指明新建立的目录的属性,一般是0755

sync always = yes|no # 指明对该共享资源进行写操作后是否进行同步操作

short preserve case = yes|no # 指明是否区分文件名大小写

preserve case = yes|no # 指明是否保持大小写

case sensitive = yes|no # 指明是否对大小写敏感,一般选no,不然可能引起错误

mangle case = yes|no # 指明混合大小写

default case = upper|lower # 指明缺省的文件名是全部大写还是小写

force user = testuser # 强制把建立文件的属主是谁。如果我有一个目录,让guest可以写,那么guest就可以删除,如果我用force user= testuser强制建立文件的属主是testuser,同时限制create mask = 0755,这样guest就不能删除了

wide links = yes|no # 指明是否允许共享外符号连接,比如共享资源里面有个连接指向非共享资源里面的文件或者目录,如果设置wide links = no将使该连接不可用

max connections = 100 # 设定最大同时连接数

delete readonly = yes|no # 指明能否删除共享资源里面已经被定义为只读的文件

三、创建samba用户

注意,创建samba用户之前,必须先确保有一个同名的Linux用户,否则samba用户会创建失败。

$ sudo smbpasswd -a smbuser

解决办法:

这是因为没有加相应的系统账号,所以会提示Failed to add entry for user的错误,只需增加相应的系统账号test就可以了:
[root@ubuntu ~]# groupadd smbuser-g 6000
[root@ubuntu ~]# useradd smbuser-u 6000 -g 6000 -s /sbin/nologin -d /dev/null

四、重启samba服务

$ sudo service smbd restart

五. 客户端访问测试

1. Linux客户端访问测试

$ smbclient -L //localhost/share

2. Windows客户端访问测试

可以访问如下地址:

\\IP或者主机名\share

如果public = no,此时需要输入samba用户密码;如果public = yes,则作为nobody用户直接访问。

另外,在Windows客户端使用net use * /del /y这条命令可以清理访问缓存。

转自: http://blog.csdn.net/i_chips/article/details/19191957

Ubuntu16下配置支持Windows访问的samba共享的更多相关文章

  1. 【转】Ubuntu下配置支持Windows访问的samba共享

    原文网址:http://blog.csdn.net/i_chips/article/details/19191957 一.安装Ubuntu samba服务器 $ sudo apt-get instal ...

  2. Ubuntu下配置支持Windows访问的Samba共享

    一.安装Ubuntu samba服务器 $ sudo apt-get install samba $ sudo apt-get install smbclient # Linux客户端测试用 二.创建 ...

  3. windows Apache 环境下配置支持HTTPS的SSL证书

    windows Apache 环境下配置支持HTTPS的SSL证书 1.准备工作 1)在设置Apache + SSL之前, 需要做: 安装Apache, 下载安装Apache时请下载带有SSL版本的A ...

  4. iis6下配置支持.net4.0&发布网站[转]

    iis6配置支持.net4.0 在win2003操作系统上发布两个网站,首先配置iis: 1.下载 .net framework 4.0   差不多48MB 2.安装 3.打开iis: 开始=> ...

  5. CentOS 6下配置本地用户访问vsftpd并赋予写权限

    一.安装并测试可用性 1.安装命令 yum install vsftpd 2.配置防火墙,加入一行 -A INPUT -p tcp -m tcp --dport 21 -j ACCEPT 在其它机测试 ...

  6. nginx使用ssl模块配置支持HTTPS访问

    默认情况下ssl模块并未被安装,如果要使用该模块则需要在编译nginx时指定–with-http_ssl_module参数. 需求: 做一个网站域名为 www.localhost.cn 要求通过htt ...

  7. nginx使用ssl模块配置支持HTTPS访问【解决ssl错误】

    默认情况下ssl模块并未被安装,如果要使用该模块则需要在编译nginx时指定–with-http_ssl_module参数. 需求:做一个网站域名为 www.localhost.cn 要求通过http ...

  8. <nginx+PHP>nginx环境下配置支持php7

    [root@redhat7 ~]# wget http://am1.php.net/get/php-7.1.2.tar.gz/from/this/mirror [root@redhat7 ~]# ta ...

  9. nginx使用ssl模块配置支持HTTPS访问,腾讯云申请免费证书

    开始我尝试用 let's encrypt 让http 变 https 官方:https://github.com/certbot/certbot 参考:https://www.cnblogs.com/ ...

随机推荐

  1. Redis最新面试题26题(初级、中级Redis面试题)

    Redis 1级(入门基础) 1.Redis有哪些数据类型? string,list,set,sorted set(Zset),hash 2.集合和列表有什么区别? 列表是可以从两端推入.推出数据的队 ...

  2. kafka之consumer参数auto.offset.reset 0.10+

    https://blog.csdn.net/dingding_ting/article/details/84862776 https://blog.csdn.net/xianpanjia4616/ar ...

  3. Mac-让 Finder 显示隐藏文件和文件夹

    打开「终端」,输入以下内容,然后「Return」键,这样就把隐藏的文件和文件夹显示了: defaults write com.apple.finder AppleShowAllFiles -boole ...

  4. 通过Postman进行post请求时传递X-XSRF-TOKEN

    前言介绍 这段时间一个项目后端用的是laravel.在写API接口时通过Postman6进行测试.但是在测试后形式的接口时laravel自带了CSRF验证机制.这就很尴尬了... 所以我们的目的在使用 ...

  5. Git工具使用

    GIT(分布式版本控制系统) Git是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目.Git的读音为/gɪt/. Git是一个开源的分布式版本控制系统,可以有效.高速的处理从 ...

  6. 原创python:windows解决genymotion appium adb 的问题。

    首先请安装好genymotion 与并用其下载好要用的安卓版本. (其中Oracle VM VirtualBox可以自己单独安装也可以在下载genymotion时选择包含vbox的) 参考https: ...

  7. android 中的Http请求类HttpUrlConnection和HttpClient类

    Android系统提供了两种HTTP通信类,HttpURLConnection和HttpClient. 如何选择这两个类的使用:android-developers.blogspot.com/2011 ...

  8. Gradle学习系列之读懂Gradle语法

    转载地址: http://www.cnblogs.com/CloudTeng/p/3418072.html Gradle是一种声明式的构建工具.在执行时,Gradle并不会一开始便顺序执行build. ...

  9. OpenCV3三种超像素分割算法源码以及效果

    OpenCV3中超像素分割算法SEEDS,SLIC, LSC算法在Contrib包里,需要使用Cmake编译使用.为了方便起见,我将三种算法的源码文件从contrib包里拎了出来,可以直接使用,顺便比 ...

  10. MSSQL存储过程应用

    1.原始表inoutinfo 2.现在想输入时间范围和操作类型输出对应的结果 2.1创建存储过程 create proc selecttype@type nvarchar(10),@starttime ...