linux命令:samb文件共享服务器配置

简介:

 

为了实现Windows主机与Linux服务器之间的资源共享,Linux操作系统提供了Samba服务,Samba服务为两种不同的操作系统架起了一座桥梁,使Linux系统和Windows系统之间能够实现互相通信,为广泛的Linux爱好者提供了极大方便。本文简要介绍如何在Linux操作系统上搭建Samba服务器和简单配置。

 

1、服务查询

默认情况下,Linux系统在默认安装中已经安装了Samba服务包的一部分 ,为了对整个过程有一个完整的了解,在此先将这部分卸载掉。使用命令

rpm -qa | grep samba ,默认情况下可以查询到两个已经存在的包:

samba-client-3.0.33-3.7.el5

samba-common-3.0.33-3.7.el5

 

2、卸载Samba

用rpm -e 将两个包卸载掉。对于samba-common-3.0.33-3.7.el5,因为与其它rpm包之间存在依赖关系,所以必须加参数-f和--nodeps,-f是指强制,--nodeps是指不检查依赖关系,具体完整命令为:

 rpm -e samba-common-3.0.33-3.7.el5 -f --nodeps

rpm -e samba-client-3.0.33-3.7.el5 -f --nodeps

 

3、安装Samba4和samba4-client 

用以下命令安装:

 [root@xuelinux ~]# yum install samba4

[root@xuelinux ~]# yum install samba4-winbind

[root@xuelinux ~]# yum install samba4-client

[root@xuelinux ~]# yum install samba4-devel

安装完成后,使用命令rpm -qa | grep samba进行查询,发现搭建samba服务器所依赖的所有服务器都已经安装好了即可。

 

4、配置smb.conf文件

Samba的配置文件一般就放在/etc/samba目录中,主配置文件名为smb.conf,文件中记录着大量的规则和共享信息,所以是samba服务非常重要的核心配置文件,完成samba服务器搭建的大部分主要配置都在该文件中进行。

Samba服务器的工作原理是:客户端向Samba服务器发起请求,请求访问共享目录,Samba服务器接收请求,查询smb.conf文件,查看共享目录是否存在,以及来访者的访问权限,如果来访者具有相应的权限,则允许客户端访问,最后将访问过程中系统的信息以及采集的用户访问行为信息存放在日志文件中。 


实例操作:如何通过samba共享linux文件目录:


第一步:修改配置文件

     首先备份一下samba的配置文件

cd /etc/samba

cp smb.conf smb.confbak

然后重新创建一个smb.conf文件

vim smb.conf

然后我们把这段写入smb.conf中 

[global]                                 #全局设置

    workgroup = WORKGROUP

    netbios name = MYSERVER
    server string = Samba Server TestServer
    security = share

[shared_name]       #共享名称 

 comment =           #注释信息

 path =              #共享目录的路径

 browseable =        #是否可以浏览(yes|no)

 read only =         #是否只读(yes|no)

 writable =          #是否可写(yes|no)

 write list = user1,user2,@group,+group      #定义可写列表,可以是用户或者组

 valid users =            #定义白名单

 invalid users =          #定义黑名单


注解:

[global]这段是全局配置,是必段写的。其中有如下的几行;

workgroup 就是Windows中显示的工作组;在这里我设置的是LINUXSIR (用大写);
netbios name 就是在Windows中显示出来的计算机名;
server string 就是Samba服务器说明,可以自己来定义;这个不是什么重要的;
security 这是验证和登录方式,这里我们用了share ;验证方式有好多种,这是其中一种;另外一种常用的是user的验证方式;如果用share呢,就是不用设置用户和密码了;

[shared_name] 这个在Windows中显示出来是共享的目录;
path = 可以设置要共享的目录放在哪里;
writeable = 是否可写,这里我设置为可写;
browseable = 是否可以浏览,可以;可以浏览意味着,我们在工作组下能看到共享文件夹。如果您不想显示出来,那就设置为 browseable = no

guest ok = 匿名用户是否允许以guest身份是登录;


第二步:建立目录并设置好权限

 [root@xuelinux samba]# mkdir /share/test -pv  #递归建立目录

mkdir: 已创建目录 “/share”

mkdir: 已创建目录 “/share/test”

修改samba配置文件,在最后面增加以下几行:

 [root@xuelinux samba]# vim smb.conf 

[tools]

      comment = Share Testing

      path = /share/test

      public = yes

      writable = yes

[root@xuelinux samba]# testparm   #查看测试配置文档是否有问题

Load smb config files from /etc/samba/smb.conf

Processing section "[homes]"

Processing section "[printers]"

Processing section "[tools]"

Loaded services file OK.

Server role: ROLE_STANDALONE

Press enter to see a dump of your service definitions


[global]

server string = Samba Server Version %v

passdb backend = tdbsam

log file = /var/log/samba/%m.log

max log size = 50

cups options = raw


[homes]

comment = Home Directories

read only = No

browseable = No


[printers]

comment = All Printers

path = /var/spool/samba

printable = Yes

browseable = No


[tools]

comment = Share Testing

path = /share/test

read only = No

guest ok = Yes

第三步:启动smbd和nmbd服务器;

[root@xuelinux samba]# service smb start   #启动samba服务

启动 SMB 服务:                                            [确定]

启动 NMB 服务:                                            [确定]

[root@xuelinux samba]# service nmb start  #启动nmbd服务

启动 NMB 服务:                                            [确定]


第四步:把相关需要访问共享的用户设置为samba服务用户

[root@xuelinux samba]# smbpasswd -a hadoop #把系统已存在的用户hadoop设置为samba服务的用户

New SMB password:           #设置访问共享的密码,此密码最好跟系统用户的登录密码不同

Retype new SMB password:

Added user hadoop.    #添加成功

[root@xuelinux samba]#  ll

总计 52

-rw-r--r-- 1 root root   20 2009-05-29 lmhosts

-rw------- 1 root root 4096 03-22 10:14 passdb.tdb     #已经生成了密码数据库文件

-rw------- 1 root root 8192 03-22 10:14 secrets.tdb    #已经生成了安全密钥数据库文件

-rw-r--r-- 1 root root 9733 03-22 09:10 smb.back

-rw-r--r-- 1 root root 9839 03-22 10:09 smb.conf

-rw-r--r-- 1 root root   97 2009-05-29 smbusers

通过windows客户端访问测试结果如下,成功访问共享目录:

wKioL1jR4ufCwvpwAAEJP7zBxYY290.jpg

由于tools目录暂时没有给hadoop用户写权限,所以暂时无法再该目录下新建文件,需先修改tools目录的访问权限:

[root@johntest samba]# setfacl -m u:hadoop:rwx /share/test/  #给用户hadoop设置facl权限,使得对test目录具有读写执行权限。


扩展:

linux系统如何访问windows共享文件

smbclient  #访问windows共享命令 

    -L NetBIOS_Name  #接主机名或IP地址

    -U username     #接访问共享的用户名

[root@xuelinux ~]# smbclient -L 10.109.134.247 -U j0701130

Enter j0701130's password: 

Domain=[KS01-IT-521] OS=[Windows 10 Pro 10586] Server=[Windows 10 Pro 6.3]


Sharename       Type      Comment

---------       ----      -------

IPC$            IPC       远程 IPC

ISO             Disk      

oracle          Disk      

工具          Disk      

session request to 10.109.134.247 failed (Called name not present)

session request to 10 failed (Called name not present)

session request to *SMBSERVER failed (Called name not present)

NetBIOS over TCP disabled -- no workgroup available

[root@xuelinux ~]# smbclient //10.109.134.247/iso -U j0701130

#以j701130用户访问10.109.134.247的共享目录iso

Enter j0701130's password: 

Domain=[KS01-IT-521] OS=[Windows 10 Pro 10586] Server=[Windows 10 Pro 6.3]

smb: \>      #登录成功


[root@xuelinux ~]# yum install samba4-swat  #安装web界面控制samb服务器

Loaded plugins: fastestmirror, security

Loading mirror speeds from cached hostfile

Setting up Install Process

Resolving Dependencies

--> Running transaction check

---> Package samba4-swat.i686 0:4.0.0-58.el6.rc4 will be installed

--> Processing Dependency: xinetd for package: samba4-swat-4.0.0-58.el6.rc4.i686

--> Running transaction check

---> Package xinetd.i686 2:2.3.14-39.el6_4 will be installed

--> Finished Dependency Resolution

.........

Installed:

  samba4-swat.i686 0:4.0.0-58.el6.rc4                                                                

Dependency Installed:

  xinetd.i686 2:2.3.14-39.el6_4  


[root@xuelinux ~]# service xinetd start

正在启动 xinetd:                                          [确定]

[root@xuelinux ~]# chkconfig swat on

[root@xuelinux ~]# chkconfig --list

........

svnserve        0:关闭 1:关闭 2:关闭 3:关闭 4:关闭 5:关闭 6:关闭

sysstat         0:关闭 1:启用 2:启用 3:启用 4:启用 5:启用 6:关闭

udev-post       0:关闭 1:启用 2:启用 3:启用 4:启用 5:启用 6:关闭

winbind         0:关闭 1:关闭 2:关闭 3:关闭 4:关闭 5:关闭 6:关闭

xinetd          0:关闭 1:关闭 2:关闭 3:启用 4:启用 5:启用 6:关闭

ypbind          0:关闭 1:关闭 2:关闭 3:关闭 4:关闭 5:关闭 6:关闭


基于 xinetd 的服务:

chargen-dgram:  关闭

chargen-stream: 关闭

daytime-dgram:  关闭

daytime-stream: 关闭

discard-dgram:  关闭

discard-stream: 关闭

echo-dgram:     关闭

echo-stream:    关闭

rsync:          关闭

swat:           启用

tcpmux-server:  关闭

time-dgram:     关闭

time-stream:    关闭

[root@xuelinux ~]# service xinetd restart

停止 xinetd:                                             [确定]

正在启动 xinetd:                                          [确定]

配置文件路径为:/etc/xinetd.d/swat

wKioL1jTHfrhHDD9AAMD0jA8N08632.jpg

通过客户端访问web界面的samb服务:

wKiom1jTL0-gjMspAAaZNpq9yxQ951.jpg

















本文转自wang650108151CTO博客,原文链接:http://blog.51cto.com/woyaoxuelinux/1909138 ,如需转载请自行联系原作者

相关文章
|
5月前
|
Linux 应用服务中间件 Shell
二、Linux文本处理与文件操作核心命令
熟悉了Linux的基本“行走”后,就该拿起真正的“工具”干活了。用grep这个“放大镜”在文件里搜索内容,用find这个“探测器”在系统中寻找文件,再用tar把东西打包带走。最关键的是要学会使用管道符|,它像一条流水线,能把这些命令串联起来,让简单工具组合出强大的功能,比如 ps -ef | grep 'nginx' 就能快速找出nginx进程。
639 1
二、Linux文本处理与文件操作核心命令
|
5月前
|
Linux
linux命令—stat
`stat` 是 Linux 系统中用于查看文件或文件系统详细状态信息的命令。相比 `ls -l`,它提供更全面的信息,包括文件大小、权限、所有者、时间戳(最后访问、修改、状态变更时间)、inode 号、设备信息等。其常用选项包括 `-f` 查看文件系统状态、`-t` 以简洁格式输出、`-L` 跟踪符号链接,以及 `-c` 或 `--format` 自定义输出格式。通过这些选项,用户可以灵活获取所需信息,适用于系统调试、权限检查、磁盘管理等场景。
410 137
|
5月前
|
安全 Ubuntu Unix
一、初识 Linux 与基本命令
玩转Linux命令行,就像探索一座新城市。首先要熟悉它的“地图”,也就是/根目录下/etc(放配置)、/home(住家)这些核心区域。然后掌握几个“生存口令”:用ls看周围,cd去别处,mkdir建新房,cp/mv搬东西,再用cat或tail看文件内容。最后,别忘了随时按Tab键,它能帮你自动补全命令和路径,是提高效率的第一神器。
977 57
|
4月前
|
存储 Linux 开发工具
Linux环境下使用Buildroot配置软件包
使用Buildroot可以大大简化嵌入式Linux系统的开发和维护工作,但它需要对Linux系统和交叉编译有深入的理解。通过上述步骤,可以有效地配置和定制软件包,为特定的嵌入式应用构建高效、稳定的系统。
563 11
|
4月前
|
存储 安全 Linux
Linux卡在emergency mode怎么办?xfs_repair 命令轻松解决
Linux虚拟机遇紧急模式?别慌!多因磁盘挂载失败。本文教你通过日志定位问题,用`xfs_repair`等工具修复文件系统,三步快速恢复。掌握查日志、修磁盘、验重启,轻松应对紧急模式,保障系统稳定运行。
905 2
|
5月前
|
Unix 应用服务中间件 索引
服务器数据恢复—LUN映射出错导致文件系统共享冲突的数据恢复案例
SUN光纤存储系统中有一组由6个硬盘组建的RAID6,划分为若干LUN,MAP到跑不同业务的服务器上,这些服务器上运行的是SOLARIS操作系统。 服务器不存在物理故障。由于公司业务变化,需要增加一台服务器跑新的应用。服务器管理员在原服务器在线的状态下,将其中一个lun映射到一台新服务器上。实际上,这个刚映射过去的卷已经map到了solaris生产系统上的某个lun上了。映射到新服务器后,服务器对这个卷进行初始化的操作,原solaris系统上的磁盘报错,重启服务器后这个卷已经无法挂载。 服务器管理员寻求sun原厂工程师的帮助。sun工程师检测后执行了fsck操作。执行完成后文件系统挂载成功。查
|
5月前
|
缓存 监控 Linux
Linux内存问题排查命令详解
Linux服务器卡顿?可能是内存问题。掌握free、vmstat、sar三大命令,快速排查内存使用情况。free查看实时内存,vmstat诊断系统整体性能瓶颈,sar实现长期监控,三者结合,高效定位并解决内存问题。
482 0
Linux内存问题排查命令详解
|
5月前
|
Unix Linux 程序员
Linux文本搜索工具grep命令使用指南
以上就是对Linux环境下强大工具 `grep` 的基础到进阶功能介绍。它不仅能够执行简单文字查询任务还能够处理复杂文字处理任务,并且支持强大而灵活地正则表达规范来增加查询精度与效率。无论您是程序员、数据分析师还是系统管理员,在日常工作中熟练运用该命令都将极大提升您处理和分析数据效率。
496 16
|
10月前
|
安全 Linux
阿里云linux服务器使用脚本通过安全组屏蔽异常海外访问ip
公网网站可能会遭受黑客攻击导致访问异常,使用此脚本可以屏蔽掉异常IP 恢复访问。也可自行设置定时任务定期检测屏蔽。
759 28