Ubuntu下Samba安装配置及使用

来源:互联网 发布:王健林破产知乎 编辑:程序博客网 时间:2024/05/02 18:19

Ubuntu下Samba安装配置及使用

samba简介:

Samba在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。通过设置“NetBIOS over TCP/IP”使得Samba不但能与局域网络主机分享资源,还能与全世界的电脑分享资源。 —百度百科


一、Samba服务器安装及配置

1.安装samba服务

$ sudo apt-get install samba

2.备份samba配置文件

$ sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak

3.创建共享目录

$ sudo mkdir -p  /home/shipeng/share$ sudo chmod 777 /home/shipeng/share  #修改共享目录访问权限

4.修改配置文件 $ sudo vim /etc/samba/smb.conf

####################按照如下配置添加至文件末尾####################[share]comment=欢迎访问samba服务器      #该共享的备注path=/home/shipeng/share       #共享的目录public=yes                     #指定共享资源是否可供游客账户访问(yes|no)wriable=yes                    #指定共享目录是否可写.可选值(yes|no)available=yes                  #设置共享目录是否可用.可选值(yes|no)browseable=yes                 #设置共享目录是否可显示(网络邻居中是否可看到).可选值(yes|no)user=user1,@group1             #设置所有可能使用该共享资源的用户,@group表示这个组所有成员valid   users=user1,@group1    #指定能够使用该共享资源的用户和组invalid users=user1,@group1    #指定不能够使用该共享资源的用户和组read  list=user1,@group1       #指定只能够读取共享资源的用户和组write list=user1,@group1       #指定能够读取和写入共享资源的用户和组allow hosts=172.18.24.100      #允许访问的主机列表,支持通配符deny  hosts=172.18.24.101      #禁止访问的主机列表,支持通配符max connections=100            #设置最大同时连接数

5.samba服务相关命令

sudo /etc/init.d/samba start 启动samba服务
sudo /etc/init.d/samba stop 关闭samba服务
sudo /etc/init.d/samba restart 重启samba服务

6.samba服务器卸载

apt-get remove samba
apt-get remove sambaclient
apt-get remove samba-common


二、Samba用户管理

一、创建samba用户

提示:创建samba用户之前,必须确保系统中存在一个同名用户,否则samba用户则创建无效

1.创建Linux用户 sudo useradd user1,由于该用户没有被赋予登录密码,所以该用户只能从远程访问而不能登录。
2.创建samba用户。

$ sudo touch /etc/samba/smbpasswd  #由于用户保存在smbpasswd文件中,所以首先判断该文件是否存在。$ sudo smbpasswd -a user1          #添加user1用户,(按照提示输入user1的samba访问密码)。

3.smbpasswd相关命令
smbpasswd -a user 新增samba用户(确保用户是系统用户)
smbpasswd -d user 冻结用户,冻结的用户则不能进行访问
smbpasswd -e user 恢复用户,让冻结的用户可以正常访问
smbpasswd -n user 设置用户密码为空(确保global下 null passwords -true)
smbpasswd -x user 删除samba用户

二、samba帐号映射

samba服务器帐号必须对应一个同名的系统帐号,基于这一点,对于hacker(黑客)来说,只要samba服务器的samba帐号,就等于知道了Linux系统帐号,所以我们要使用用户帐号映射这个功能来解决这个问题。用户帐号映射这个功能需要建立一个帐号映射关系表,里面记录了samba帐号和虚拟帐号的对应关系,客户端来访问samba服务器时就使用虚拟帐号来登录。

1.编辑smb.conf配置文件,在global中开启用户帐号映射功能。

$ sudo vim /etc/samba/smb.conf[global]省略...username map = /etc/samba/smbusers省略...

2.编辑smbusers文件,按照如下格式配置用户映射。
samba帐号=虚拟帐号
3.重启samba服务,完成虚拟用户映射。


三、客户端访问(ubuntu)

1.安装samba客户端组件

    sudo apt-get install cifs-utils

2.在本地创建一个目录用于挂载samba共享目录

    sudo mkdir /home/shipeng/nas

3.使用挂载命令挂载samba共享目录

    # -t cifs  代表使用SMB文件系统    # -o 参数1,参数2,参数3    #    guest(代表匿名访问,即使用guest来宾账户)    #    user (表示用户名)    #    pass (表示密码)             #    iocharset=utf8(可避免中文乱码)    sudo mount -t cifs //172.18.24.98/share  /home/shipeng/nas -o guest

到此!samba共享目录已经挂载完毕,通过访问挂载目录[/home/shipeng/nas]来访问共享资源

4.如使用完毕需要卸载

    umount /home/shipeng/nas 

5.如需开机自动挂载samba共享目录则需编辑 fstab

    sudo vim /etc/fstab    #在fstab中加入如下代码    //172.18.24.98/share  /home/shipeng/nas cifs iocharset=utf8 0 0     #保存后退出,并执行自动挂载命令    sudo mount -a

0 0