以前都是在Redhat 上搭建samba,现在改成在ubuntu12.04 上搭建发现 sudo /etc/init.d/samba restart 始终不行,原来,现在ubuntu下,启动服务要用 sudo service smbd restart,一律都改成了service 这种形式来启动。
1、首先安装 samba
sudo apt-get install samba
2、创建一个文件夹,这个文件夹就是用来共享、传递、读写文件内容的地方。
mkdir -p /home/cxw/share
chmod 777 /home/cxw/share
这里假设你的共享文件夹是在用户主目录下的share目录。
3、配置samba的配置文件smb.conf, 对配置文件做个backup。
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf_backup
sudo vim /etc/samba/smb.conf
下面请注意在以下几处动刀子。
(1)请搜索查找到 #security = user的地方,然后以下面这几行取代
security = user(前面有#号去掉)
username map = /etc/samba/smbusers
这是Samba 服务器的安全模式,有5种安全模式:Share、User、Server、Domain和Ads。用来适应不同的企业服务器需求,默认情况下为User。
(2)同样请搜寻到[global]把 workgroup = MSHOME 改成
workgroup = WORKGROUP
display charset = UTF-8
unix charset = UTF-8
dos charset = cp936
后面三行是为了防止出现中文目录乱码的情况。
(3)接着请跳到配置文件下的最后一行(命令模式下,按G)将下列几行新增到文件的最后面,假设允许访问的用户为:cxw。而文件夹的共享名为第二步设置的/home/cxw/share:
[Share]
comment = Shared Folder with username and password (注释信息)
path = /home/cxw/share (我自己用一般设置为path = / 便是整个根目录)
# public = yes (允许匿名访问)
writable = yes (可写)
# readyonly = yes (只读)
valid users = cxw (用户名,设备可访问组可用valid users =@组名)
create mask = 0700
directory mask = 0700
force user = nobody
force group = nogroup
available = yes
browseable = yes (表示可见隐藏)
(4)现在要添加cxw这个网络访问帐户。如果系统中当前没有这个帐户,那么注意这边的用户添加请使用下述命令:(假设用户为cxw,密码为123456)
sudo useradd cxw
要注意,上面只是增加了cxw这个用户,却没有给用户赋予本机登录密码。所以这个用户将只能从远程访问,不能从本机登录。而且samba的登录密码可以和本机登录密码不一样。
现在要新增网络使用者的帐号:
sudo smbpasswd -a cxw
sudo vim /etc/samba/smbusers
在新建立的文件内加入下面这一行并保存
cxw = "network username"
(5)测试并启动samba
sudo testparm
注意老的命令用不了啦
sudo /etc/init.d/samba restart
肯定会提示sudo: /etc/init.d/samba: command not found
请使用下面的命令:
sudo service smbd restart
sudo service nmbd restart
如何在不同系统之间互访samba。
1.如果你只是为了拷贝东西,那我说没有必要去建这么复杂,你完全可以使用ssh。
sudo apt-get install ssh
2.如果你是为了实时更新你的版本库,那samba可能会让你失望啦,samba只是一个单纯的用来做一个临时共享文件的仓库,还达不到版本控制器的功能。
一、在windows下访问ubuntu搭建的samba。应该是最简单不过的了。
只需使用win+R调出明令框,然后输入\\搭有samba的ubuntu机子的IP。
二、下面重点说下在ubuntu和ubuntu下共享文件。
方法1:使用smbclient
建有samba的主机肯定已经安装过samba来。其他客户机同样需要安装samba。
sudo apt-get install samba smbfs
安装ok之后,那就正式开始使用smbclient吧。
(1),列出某个IP地址所提供的共享文件夹
smbclient -L 198.168.0.1 -U username%password
(2),像FTP客户端一样使用smbclient
smbclient //192.168.0.1/tmp -U username%password
执行smbclient命令成功后,进入smbclient环境,出现提示符: smb:\>
这里有许多命令和ftp命令相似,如cd 、lcd、get、megt、put、mput等。通过这些命令,我们可以访问远程主机的共享资源。
方法2:使用mount进行挂载
除了使用smbclient,还可以通过mount和smbcount挂载远程共享文件夹
这边就需要用到你的fstype来,所以就应征来当初apt-get install smbfs是必须的。
mount -t smbfs -o username=administrator,password=123456 //192.168.0.1/tmp /mnt/tmp
smbmount //192.168.0.1/tmp /mnt/tmp -o username=administrator