原文网址:http://gcell.blog.163.com/blog/static/52666594201501084530277/

1、首先,在系统偏好设置的共享设置中,关掉局域网文件共享(去掉打勾),然后打开终端,运行:

//安装samba

brew install samba

//禁用 netbiosd
sudo launchctl stop com.apple.netbiosd
sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.netbiosd.plist

2、进入任意目录新建 org.samba.nmbd.plist 和 org.samba.smbd.plist 两个plist文件,
nmbd的文件内容为:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>org.samba.nmbd</string>
    <key>ProgramArguments</key>
    <array>
        <string>/usr/local/Cellar/samba/3.6.23/sbin/nmbd</string>
        <string>-D</string>
    </array>
    <key>OnDemand</key>
    <false/>
    <key>RunAtLoad</key>
    <true/>
    <key>KeepAlive</key>
    <true/>
    <key>ServiceDescription</key>
    <string>netbios</string>
</dict>
</plist>

smbd的文件内容为:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>org.samba.smbd</string>
    <key>ProgramArguments</key>
    <array>
        <string>/usr/local/Cellar/samba/3.6.23/sbin/smbd</string>
        <string>-D</string>
    </array>
    <key>OnDemand</key>
    <false/>
    <key>RunAtLoad</key>
    <true/>
    <key>KeepAlive</key>
    <true/>
    <key>ServiceDescription</key>
    <string>samba</string>
</dict>
</plist>

请注意红色加粗字体部分,可能要修改为你对应的samba版本号。

3、提前准备好smb.conf配置文件,此例为匿名访问可读写(测试安卓手机、win7等均可正常访问)

[global]
netbios name = iMac
display charset = UTF-8
server string = Samba
unix charset = UTF-8
workgroup = WORKGROUP
browseable = yes
security = user
passdb backend = tdbsam
guest account = nobody
guest ok = yes
invalid users = root
load printers = no
printable = no
map to guest = Bad User
max protocol = SMB2
min receivefile size = 16384
os level = 20
socket options = TCP_NODELAY IPTOS_LOWDELAY
syslog = 2
log file = /var/log/samba.log.%m
use sendfile = yes
writeable = yes

[mac]
path = /Users/gcell/Movies/movies
read only = no
guest ok = yes
create mask = 777

browseable = yes
directory mask = 777

4、终端下cd进入plist文件的保存目录,本例中是~/samba
运行:

sudo ln -sfv ~/samba/*.plist /Library/LaunchAgents
sudo chmod a+rx ~/samba/*.plist
sudo launchctl load -w /Library/LaunchAgents/org.samba.nmbd.plist
sudo launchctl load -w /Library/LaunchAgents/org.samba.smbd.plist

自己操作时,显示Path had bad permissions错误,解决方法:

sudo chown root xxxx.plist

至此,samba正常运作,局域网中应可看到主机名,并可以正常打开访问(匿名可读写)。

补充:

1. mac终端安装node时候,显示“-bash: brew: command not found”,怎么解决?

没安装 Homebrew,解决方法:

bash 下执行 ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Homebrew是啥东东?apt-get和yum知道吧?Homebrew就相当于MacOS中的yum。

2.

(1) mac电脑samba的位置

macs-Mac-mini:3.6.25 xxx$ pwd

/usr/local/Cellar/samba/3.6.25/

(2) smb.conf的位置

macs-Mac-mini:etc xxx$ ls

smb.conf smb.conf.bk

macs-Mac-mini:etc xxx$ pwd

/usr/local/Cellar/samba/3.6.25/etc

(3)smb.conf添加代码

[mac]

path = /Users/xxx/share

read only = no

writeable = yes

guest ok = yes

create mask = 777

directory mask = 777

browseable = yes

3. smbclient -L \\IPADRESS -U username

samba报错:session setup failed: NT_STATUS_LOGON_FAILURE 解决

解决方法:

smbpasswd -a username

例如:

macs-Mac-mini:etc xxx$ smbclient -L //192.168.0.103 -U xxx

Enter xxx's password:

Domain=[MYGROUP] OS=[Unix] Server=[Samba 3.6.25]

Sharename       Type      Comment

---------       ----      -------

mac             Disk      <---- 共享的目录

IPC$            IPC       IPC Service (Samba Server)

Domain=[MYGROUP] OS=[Unix] Server=[Samba 3.6.25]

Server               Comment

---------            -------

MACS-MAC-MINI        Samba Server

Workgroup            Master

---------            -------

MAGICPIXEL           TPSQUID

MODIOTEK             TPDCSVR

MXCSOFT              MXCSOFTPDC

MYGROUP              MACS-MAC-MINI

WORKGROUP            KEVIN-PC

macs-Mac-mini:etc xxx$

【转】Mac 10.10 yosemite 安装samba替代系统samba组件 -- samba不错不错的更多相关文章

  1. Mac OS X Yosemite安装Hadoop 2.6记录

    整个安装过程分为四部分: 一.  安装Homebrew 二.  ssh localhost 三. 安装Hadoop已经进行配置文件设置 (伪分布式) 四. 执行栗子 一. 安装Homebrew 採用H ...

  2. Mac OS X Yosemite安装盘U盘制作

    从App Store下载Mac OS X Yosemite安装程序,下载后的安装文件保存在应用程序(/Applications)文件夹中.请注意,此时一定不要直接启动该程序安装 OS X Yosemi ...

  3. 安装单机Hadoop系统(完整版)——Mac

    在这个阴雨绵绵的下午,没有睡午觉的我带着一双惺忪的眼睛坐在了电脑前,泡上清茶,摸摸已是略显油光的额头(笑cry),,奋斗啊啊啊啊!!%>_<% 1.课程回顾. 1.1 Hadoop系统运行 ...

  4. 解决Macbook Pro 2017安装Windows10双系统后在Windows系统中Apple蓝牙鼠标不能使用问题

    MAC BOOK PRO 2017安装Windows10双系统 在Windows系统中蓝牙鼠标不能使用解决办法 最近因工作需要,macOS系统不能要求,大部分工作必须要在Windows系统中进行,最初 ...

  5. Mac OS X 10.10 Yosemite下安装java、jdk、mysql、maven、idea

    Mac OS X Yosemite已经在2014年10月17日正式发布了. 作为一个java开发者,尝鲜第一时间安装了最新版本. 和之前的OS X系统还是有很多不同的.下面主要在java开发环境方面做 ...

  6. Vmare12(虚拟机)安装Mac OS X Yosemite 10.10

    需要预备的软件如下: OSX10.10的系统镜像,下载好之后将后缀.cdr改成.iso,下载来源如下:    链接:http://pan.baidu.com/s/1sj4ri5R 密码:y86w un ...

  7. 简单制作 OS X Yosemite 10.10 正式版U盘USB启动安装盘方法教程 (全新安装 Mac 系统)

    原文地址: http://www.iplaysoft.com/osx-yosemite.html 简单制作 Mac OS X Yosemite 正式版 USB 启动盘的方法教程: 其实制作 OS X ...

  8. VMware Workstation 11 安装MAC OS X 10.10 Yosemite(14B25)图解 2015-01-13 12:26:01|

    VMware Workstation 11 安装MAC OS X 10.10 Yosemite(14B25)图解 2015-01-13 12:26:01|  分类: 网络互联 |  标签:10.10  ...

  9. mac OS X Yosemite (10.10.5) 下 安装vim 7.4笔记

    摘要 前言 需求与mac OS X 自带vim版本的冲突 默认Python解释器问题 并非Mac自带python的 homebrew 1. 前言 本文为自己作死折腾的问题记录 2. 需求与mac OS ...

随机推荐

  1. ExtJs之文本框及数字输入

    结合HTML来理解, 比较容易. <!DOCTYPE html> <html> <head> <title>ExtJs</title> &l ...

  2. 传说中的WCF(7):“单向”&“双向”

    在WCF中,服务器与客户端的通讯有单向(单工)和双向(双工)之分.要说有什么形式上的表现,那就是单向与双向生成的SOAP不同,咱们先放下代码不说.但通常情况下,我们也不太需要去研究生成的SOAP是啥样 ...

  3. js:字符串(string)转json

    第一种方式: 使用js函数eval(); testJson=eval(testJson);是错误的转换方式. 正确的转换方式需要加(): testJson = eval("(" + ...

  4. spring 主题使用详解[转]

    在common_include_v2.jsp文件中,spring主题的使用: <link href="${staticPath }/<spring:theme code='sty ...

  5. Java:Comparator接口

    public interface Comparator<T> 接口里面的方法 int compare(T o1, T o2) o1 > o2 返回 1 o1 = o2 返回 0 o1 ...

  6. for语句中声明变量

    在C语言中,局部变量应该在函数的可执行语句之前定义,但在C++中变量可在任何语句位置定义,只要允许程序语句的地方,都允许定义变量. 在C99标准中C同C++一样允许在for循环语句中定义变量.并且这个 ...

  7. iOS 开发--转场动画

    "用过格瓦拉电影,或者其他app可能都知道,一种点击按钮用放大效果实现转场的动画现在很流行,效果大致如下:" 本文主讲SWIFT版,OC版在后面会留下Demo下载 在iOS中,在同 ...

  8. Java学习笔记之:Java Map集合

    一.介绍 通常来说,Map是一个由键值对组成的数据结构,且在集合中每个键是唯一的. 二.笔记 /** * Map:接口. 不是collection的子类 key -value 键值对 key唯一不能重 ...

  9. JVM垃圾回收机制总结(5) :JDK垃圾收集器的配置命令

    以下配置主要针对分代垃圾回收算法而言. 堆大小设置 年轻代的设置很关键 JVM中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制:系统的可用虚拟内存限制:系统的可用物理 ...

  10. C中调用LUA回调(LUA注册表)

    实现原理: 通过将LUA中得回调函数存入LUA注册表中来保存LUA函数,然后在需要回调时从LUA注册表中取出LUA函数进行调用 下面是一些预备知识:(学习两个重要的函数) 原汁原味的英文解释的最透彻, ...