天天看点

VM中 Ubuntu14.04 中Samba的安装配置和使用

以前都是在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

继续阅读