在Linux下最常用的共享服务软件为samba。samba共享服务是为让Linux使用Windows下的Server Messgae Block(smb)网络协议而生的自由软件。它提供了Server端和Client端,Server端可以像Windows那样对外提供共享服务,Client端可以访问其它共享服务。首先来安装samba相关软件包:
yum install samba samba-client
服务操作:
service smb start service smb stop service smb restart
我们不想让共享目录匿名访问,所以要创建一个叫lidqshare的系统用户(当然也可以叫其它名字),只有这个用户可以访问共享目录:
useradd -s /usr/sbin/nologin lidqshare
注意,这个用户的默认shell程序被指定为nologin,也就说lidqshare这个用户不可以登录本系统,无论是在本地登录或者是ssh方式登录。lidqshare这个用户只能作为访问共享的用户。于是为smb服务创建一个同名的smb帐号:
smbpasswd -a lidqshare Password: Create smb user lidqshare sucessed.
创建一个作为共享目录的文件夹,并为其分配所属者和权限:
mkdir -p /share chown lidqshare /share chgrp lidq /share chmod 666 /share ls -lh drw-rw-rw-. 10 lidqshare lidq 4k Jun 24 08:40 share
将share目录的所属者指定为lidqshare,将share目录的所属组分配为lidq,这样做的目的是为了让lidq用户可以自由的使用lidqshare创建的文件。
修改/etc/samba/smb.conf配置文件,在文件末尾中加入共享项:
#共享名 [share] #共享目录 path = /share #不作为公共共享(不可以匿名访问) public = no #允许写入 writable = yes #允许访问的用户 valid users = lidqshare #权限 create mask = 666 #权限 directory mask = 666 #绑定用户 force user = lidqshare #绑定组 force group = lidq
最后重启smb服务:
service smb restart
samba共享服务器至此已经部署完毕,我们可以使用smbclient命令来测试共享服务是否已经可用:
smbclient -L 172.16.1.2 -U lidqshare Enter lidqshare's password: Domain=[MYGROUP] OS=[Windows 6.1] Server=[Samba 4.2.2] Sharename Type Comment --------- ---- ------- share Disk IPC$ IPC IPC Service (Samba Server Version 4.2.2) Domain=[MYGROUP] OS=[Windows 6.1] Server=[Samba 4.2.2] Server Comment --------- ------- Workgroup Master --------- -------
可以看到172.16.1.2这台计算机下有一个共享目录名叫share。再使用smbclient访问共享目录,并使用ls命令来查看共享目录下的内容:
smbclient //172.16.1.2/share -U lidqshare Enter lidqshare's password: Domain=[MYGROUP] OS=[Windows 6.1] Server=[Samba 4.2.2] smb: \> ls . D 0 Wed Jun 24 08:40:23 2015 .. DR 0 Thu Jun 11 10:39:26 2015 2015-06-11 D 0 Thu Jun 11 14:55:11 2015 2015-06-17 D 0 Wed Jun 17 19:21:45 2015 2015-06-19 D 0 Fri Jun 19 17:38:19 2015 2015-06-20 D 0 Tue Jun 20 08:33:01 2015 2015-06-21 D 0 Sat Jun 13 09:24:45 2015 103081248 blocks of size 1024. 84864956 blocks available
可以看到smb共享服务搭建完成。
另外,如果使用局域网内其它计算机访问这个共享时,需要将防火墙的445端口打开:
iptables -A INPUT -p tcp -m tcp --dport 445 -j ACCEPT iptables -A OUTPUT -p tcp -m tcp --dport 445 -j ACCEPT
Copyright © 2015-2023 问渠网 辽ICP备15013245号