szs 发表于 2017-7-7 15:51:27

【转】Mac 10.10 yosemite 安装samba替代系统samba组件

  原文网址: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等均可正常访问)
  
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


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添加代码

      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= OS= Server=

Sharename       Type      Comment
---------       ----      -------
mac             Disk      <---- 共享的目录
IPC$            IPC       IPC Service (Samba Server)
Domain= OS= Server=

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$
页: [1]
查看完整版本: 【转】Mac 10.10 yosemite 安装samba替代系统samba组件