linux-SAMBA

安装配置SAMBA
安装前的准备:学习过程中我使用的是vmware虚拟机进行的安装
安装的时候请确保你的yum源配置是否正确,为避免不必要的问题出现这里关闭selinux,使用命令setenforce 0可以实现。


1、 samba在linux中模拟实现SMB和CIFS协议,及其NETBIOS协议,实现把linux模拟成SMB、CIFS或者NETBIOS的客户端,来实现和windows或者其他系统之间共享文件。


2、 当samba在linux上安装启动的话,会启动两个主要的进程,nmdb(实现名称解析)和smdb(实现文件共享)


3、 samba监听udp(137、138端口)tcp(139端口)以实现名称解析。实现文件共享则监听tcp(445端口)


4、 samba的安全级别分为四类、默认为user
share  :允许匿名共享,能访问你所有共享的目录。最不安全。
user  :访问的时候必须提供用户名和密码才能访问,用户是系统用户,但是密码不是登录系统的密码。
doman/server:实现第三方认证,通过认证才能访问,比user安全级别高一点。
ads  :基于域的安全认证


5、 samba的软件包
默认情况下samba的客户端软件包都已经安装过了比如
samba-client.i386    samba-common.i386
samba-swat.i386  //这个是samba一个图形化的工具使用的话必须安装
这里先安装samba这一个就好了。


6、
yum install samba -y
mkdir /share    //创建共享目录,名字随便起,位置也可以改变
修改主配置文件实现对/share的共享。
vim /etc/samba/smb.conf
这是定义的共享信息,还可以更多的进行限制,这里只定义这几项。放在了文件的最底部
[tools]        //定义share文件共享时候的名称
        comment = My Tools   //注释信息
        path = /share     //共享文件的位置
        browseable = yes    //是否可以让别人浏览
        guest ok = yes     //是否让来宾账户访问
        writable = yes     //是否可以写入。(还取决于目录本身权限)
:wq
testparm         //使用检查命令检查写入是否正确
service smb start       //启动samba
chkconfig smb on       //定义开机自动启动samba
netstat -tunlp        //查看端口启用情况

添加用户,这里使用gentoo来进行演示
如果想访问samba共享的文件,定义user必须要有用户和密码,用户必须是系统用户,默认密码放在/etc/shadow
但是samba的密码和系统密码不是一个,它的密码放在/etc/samba下一个加密的文件里面。
useradd gentoo
smbpasswd -a gentoo  //给gentoo用户添加使用samba的密码
redhat     //密码
在smb的配置文件中把组改成你所在的组
如:在windows中点击我的电脑右键属性查看,一般都是WORKGROUP组
vim /etc/samba/smb.conf
work group = WORKGROUP
:wq
service smb restart    //重启服务
可以在windows的网上邻居里面查看工作组计算机
输入用户名和密码就可以看到你所共享的文件了。
你定义可以写入,如果你不可以在共享目录中写入文件,说明你对这个文件没有写入权限,可以增加写权限
setfacl -m u:gentoo:rwx /share
此时就可以写入文件了。


7、
实例,这里再加入一个用户,centos、
定义不能让centos写入,gentoo能写入,二者都可以访问共享的文件
useradd centos
setfacl -m u:centos:rwx /share/
smbpasswd -a centos
redhat //密码
vim /etc/samba/smb.conf
[tools]
        comment = My Tools 
        path = /share    
        browseable = yes
        guest ok = yes 
  write list = gentoo   //定义用户列表,这里面的可以写入,不在的都不能写入
  保存退出。
由于windows有缓存,效果演示不明显,这里采用另一台linux虚拟机进行验证。
 smbclient -L 192.168.0.68   //查看这台计算机共享的文件,并输入密码(这里匿名登录无密码)
 smbclient -L 192.168.0.68 -U gentoo //使用gentoo登录查看,输入密码redhat
查看到共享的文件后访问tools
 smbclient //192.168.0.68/tools -U gentoo
 登录后可以使用put上传文件,get下载文件,mkdir建立目录等
 如果你想把/etc/inittab上传上来,必须到那个目录下上传,不能使用绝对路径,只能使用相对路径
 lcd /etc
 put inittab
 exit
使用centos用户登录,上传或者删除,一个文件试试,看是否设置成功。。。

8、
定义一个组,让这个组的所有成员都具有写权限.
 groupadd mygroup
 usermod -aG mygroup gentoo
 usetmod -aG mygroup centos
定义配置文件,添加mygroup这个组有写入权限
 vim /etc/samba/smb.conf
 在刚才定义的write list后面写上组名,组名前面使用@或者+表示后面跟的是组
 write list = @mygroup
 service smb restart
然后再使用gentoo和centos登录看一下,结果如何?


9、
定义使用特定的客户端访问、
vim /etc/samba/smb.conf
在hosts allow这一行把注释去掉后面的ip网段改成你允许的网段
hosts allow = 127. 172.16. 192.168.   //表示允许127网段172.16网段192.168网段访问
保存退出,重启服务
10、
可以把共享的文件挂载到本地使用,如使用gentoo用户把文件挂载到本地使用
mount -t cifs //192.168.0.68/tools /mnt -o username=gentoo
cifs为文件类型
-o指定用户名
/mnt为挂载点
gentoo用户可以对挂载目录进行写入权限.


11、
安装图形化的使用工具samba-swat (samba-swat是非独立守护进程,依赖超级守护进程。超级守护进程管理的非独立守护进程的相关配置文件都在/etc/xinetd.d/目录下)使用901端口
yum install samba-swat -y
vim /etc/xinetd.d/swat
only_from  = 172.16.0.0/16   //表示只允许来自此网段的用户访问
disable  = no
:wq
service xinetd start      //启动此服务,由超级守护进程管理
此时可以在windows的浏览器中输入服务器的ip地址加上端口来访问
如:    192.168.0.68:901
使用你的系统root用户的账号和密码进行登录,登录后可以改密码,改的只是samba密码,你的系统用户的密码并没有变。使用这个软件部允许远程连接的,防止你的用户信息被别人截获。
里面定义了你的共享的文件,和可以定义的文件的访问权限,就像windows里面注册信息一样,改完保存一下,新的会覆盖老的,并且立即生效,为了以防万一,记得要备份哦。。。。。。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章