【转】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]