linux上安装配置samba服务器

简介: linux上安装配置samba服务器 在linux上安装配置samba服务器 在这给大家介绍一个不错的家伙,samba服务。如果您正在犯愁,如何在Windows和Linux之间实现资源共享,就请看看这篇详解,希望能帮您解决困扰。

linux上安装配置samba服务器

在linux上安装配置samba服务器

在这给大家介绍一个不错的家伙,samba服务。如果您正在犯愁,如何在Windows和Linux之间实现资源共享,就请看看这篇详解,希望能帮您解决困扰。

先简单介绍一下,SMB(Server Messages Block,信息服务块)是在局域网上共享文件和打印机的一种协议,通过它可以使局域网内的Windows、linux和Unix等系统共享文件和打印机等资源。在linux上可以运行SMB的软件很多,最常用的就是Samba。如果您使用的是REDHAT 9,在那三张光盘中就提供了samba服务器的RPM包。

 

安装samba服务器的RPM

像在linux下安装配置其他服务一样,先要安samba有关的RPM包:

1)Samba-common:包括samba服务器和客户端均需要的文件(在第一张光盘中)

2)Samba:samba服务端软件(在第一张光盘中)

3)Samba:samba客户端软件(在第一张光盘中)

说明一下,列出这些要安装的rpm包包只是为了说明清楚些,其实只要用个“samba*”就全搞定了。为了老少皆宜,我把所有操作过程都帖了过来,连不会挂载光驱的朋友都应该能看懂吧。

 

1)

[root@linux root]# mount /mnt/cdrom

[root@linux root]# cd /mnt/cdrom/RedHat/RPMS/

[root@linux RPMS]# rpm -ivh rpmdb-redhat-9-0.20030313.i386.rpm

warning: rpmdb-redhat-9-0.20030313.i386.rpm: V3 DSA signature: NOKEY, key ID

db42a60e

Preparing...        ###################################### [100%]

   1:rpmdb-redhat     ################################### [100%]

这一步是准备工作,把REDHAT 9的C盘中的rpmdb-redhat包安上,可以解决安装时的依赖关系错误。

 

[root@linux RPMS]# cd

[root@linux root]# umount /dev/cdrom

[root@linux root]# mount /mnt/cdrom

既然samba的包都在REDHAT 9的A盘,就在光驱中放入A盘,mount挂载一下。

mount: /dev/cdrom already mounted or /mnt/cdrom busy

mount: according to mtab, /dev/cdrom is already mounted on /mnt/cdrom

[root@linux root]# cd /mnt/cdrom/RedHat/RPMS/

[root@linux RPMS]# rpm -ivh samba* --aid

安装所有以samba开头的包,加上—aid参数,就把安装时所需的其他包也安上了,很方便。

warning: samba-2.2.7a-7.9.0.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60e

Preparing...         ##################################### [100%]

   1:libjpeg           ##################################### [ 14%]

   2:libtiff              ##################################### [ 29%]

   3:libpng            ##################################### [ 43%]

   4:cups-libs        ##################################### [ 57%]

   5:samba-common    ################################## [ 71%]

   6:samba           ##################################### [ 86%]

   7:samba-client  #################################### [100%]

 

修改配置文件

[root@linux RPMS]# vi  /etc/samba/smb.conf

在[global]部分做如下修改:

1) workgroup = WORKGROUP        (改一下工作组名)

2) hosts allow = 192.168.138.    (写一个允许访问这服务器的网段,末尾有“.”)

3) security=user

    samba有四种安全等级:

    share:用户不需要账户及密码即可登录samba服务器

    user:由提供服务的samba服务器负责检查账户及密码(默认)

    server:检查账户及密码的工作由另一台windows或samba服务器负责

    domain:指定windows域控制服务器来验证用户的账户及密码)

4) encrypt passwdords=yes         (去掉前面的注释“;”)

    smb passwd file = /etc/samba/smbpasswd     (密码文件的位置)

 

在文件末尾添加如下内容:

[samba]              (共享文件夹名)

comment=This is my samba server  (这是注释行,可以不写东西)

path=/samba    (指定要共享文件的位置)

writable = yes         

browseable =yes

read only = yes

create mode=0664   (这是文件权限)

directory mode=0777    (这是目录权限)

 

保存退出。vi编辑器使用,按“i”,修改添加;先按“esc”,再按“:”输入“wq”即是保存退出,输入“q!”是不存盘退出。

 

启动samba服务

[root@linux samba]# service smb start     (启动samba服务)

Starting SMB services: [  OK  ]

Starting NMB services: [  OK  ]

[root@linux samba]# testparm         (检查配置文件的正确性)

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

Processing section "[homes]"

Processing section "[printers]"

Processing section "[samba]"

Loaded services file OK.

Press enter to see a dump of your service definitions

创建一个samba用户 

该用刻户在windows下有没有都无所谓。

1)建一个系统用户

[root@linux samba]# useradd  samba      (建一个名叫samba的用户)

[root@linux samba]# passwd samba        (给samba用户添加密码)

Changing password for user samba.

New password:               (密码要六位以上,不显示在屏幕上)

BAD PASSWORD: it does not contain enough DIFFERENT characters

Retype new password:         (确认密码)

passwd: all authentication tokens updated successfully.

 

2)然后创建samba帐户

[root@linux samba]# smbpasswd -a samba 

(-a必须加,为了生成密码文件smbpasswd,该密码是windows登陆Linux的samba用户密码)

New SMB password:

Retype new SMB password:

unable to open passdb database.

Added user samba.

 

3)查看一下生成的用户名、密码

[root@linux samba]# vi /etc/samba/smbpasswd

samba:500:A9C604D244C4E99DAAD3B435B51404EE:ACB98FD0478427CD18949050C5E87B47:[UX         ]:LCT-468268E6:

 

4)重新启动samba服务

[root@linux samba]# service smb restart

Shutting down SMB services: [  OK  ]

Shutting down NMB services: [  OK  ]

Starting SMB services: [  OK  ]

Starting NMB services: [  OK  ]

 

最后阶段,进行测试

1)先按照主配置文件所指定的位置,建好要共享的资源。

[root@linux usr]# mkdir samba     (建/usr/samba文件夹)

[root@linux usr]# chmod 777 /usr/samba   (samba服务器受本地文件系统权限和共享权限两种权限,而且是取最严格的权限,为了方便就把本地权限都给足好了)

[root@linux usr]# cd samba

[root@linux samba]# vi aaa.txt

 

2)在Windows客户机的地址栏中输入samba服务器ip(如“\\192.168.138.110)

 

 

OK了,在linux搭建的samba服务器上资源可以供Windows客户端访问了。

 

 

 

Linux Samba服务器配置小记

公司需求:

1. 公司搭建Samba服务器,将对公司数据进行统一的有效管理;

2. 所有员工在公司局域网内不论在哪台电脑上工作,都能访问并能将自己的文件数据保存在Samba文件服务器上。

3. 销售部,技术部都拥有各自部门的共享目录,其他部门不允许访问;

4. Samba服务器只供公司内部使用,并限量员工的使用空间。

 

根据网络拓扑进行Samba服务器的部署步骤;

一、建立公司员工账号及技术与销售组;

二、将相关员工加入技术及销售组;

三、建立销售及技术共享的目录,并更改目录相关权限;

四、安装并配置Samba服务器;

五、利用quota进行磁盘配额;

 

关于如何建账号,组这里就不再叙述。直接从第三步开始进行部署;

[root@server ~]# mkdir /home/sales

[root@server ~]# mkdir /home/jishu

[root@server ~]# chgrp jishu /home/jishu

[root@server ~]# chmod 770 /home/jishu

[root@server ~]# chgrp sales /home/sales

[root@server ~]# chmod 770 /home/sales

 

安装并配置Samba

[root@server ~]# rpm -qa samba*

samba-common-3.0.23c-2

samba-3.0.23c-2

samba-client-3.0.23c-2

默认系统已经安装好Samba组件;

 

设置smb.conf配置文件如下:

[root@server ~]# vi /etc/samba/smb.conf

具体相关配置文件里面的参数,有兴趣自己去搜索相关资料;

#设置主机方面的参数;

[global]

#与Linux主机名称有关的设置信息

workgroup = keywise 工作组设置

netbios name=server Samba服务器的NETBIOS名称

server string = This is liang’s Samba Server

#与语言有关的设置信息

unix charset=utf8

display charset=utf8

dos charset=cp950

#与日志文件有关的设置信息

log file = /var/log/samba/%m.log 日志存放位置

max log size = 50

#与密码有关的设置信息

security = user 访问需要提供密码

encrypt passwords=yes 是否加密

smb password file=/etc/samba/smbpasswd 密码放置文件

#新增每个用户的默认目录及群组用户目录,如下图;

编辑完smb.conf文件后,保存退出;

 

然后设置可使用Samba的账号与密码;

先查看并确认密码文件是否存在,若不存在,得自行建立;

[root@server ~]# ls -l /etc/samba/smbpasswd

-rw------- 1 root root 207 Jul 6 01:15 /etc/samba/smbpasswd

新增用户并查看/etc/samba/smbpassword;如下图;添加samba账户之前,确认系统中有相关账号;

 

测试smb.conf语法设置的正确性;

[root@server ~]# testparm

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

Processing section "[homes]"

Processing section "[printers]"

Processing section "[temp]"

Processing section "[homes]"

Processing section "[jishu]"

Processing section "[sales]"

Loaded services file OK.

Server role: ROLE_STANDALONE

Press enter to see a dump of your service definitions

 

启动并观察SMB服务

[root@server ~]# /etc/init.d/smb start

Starting SMB services: [ OK ]

Starting NMB services: [ OK ]

[root@server ~]# netstat -tlunp

Active Internet connections (only servers)

Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name

tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN 2667/smbd

tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN 2667/smbd

udp 0 0 192.168.1.50:137 0.0.0.0:* 2671/nmbd

udp 0 0 0.0.0.0:137 0.0.0.0:* 2671/nmbd

udp 0 0 192.168.1.50:138 0.0.0.0:* 2671/nmbd

udp 0 0 0.0.0.0:138 0.0.0.0:* 2671/nmbd

注:Samba默认会启动多个端口,TCP端口139,445;UDP端口137,138;

测试SAMBA

l         使用匿名账号查看,密码为空;看到相关的工享目录;

l         使用jack账号查看,能看到自己的家目录;每个拥有SAMBA账号的用户,看到的目录都和自己的账号同名;

l         开始在客户端进行测试;利用一个账户进行测试;在测试时,遇到相关LINUX防火墙安全性问题;因此建议先关闭防火墙,或建相应的规则允许通过;如下图:

l         利用一个属于sales组的账户,访问sales共享目录,出现如下错误;

查看由于账号没有加入sales组;因为/home/sales目录所属组为sales;因此没权限访问;

[root@server ~]# ll /home

total 72

drwxrwx--- 2 root jishu 4096 Jul 6 06:21 jishu

drwx------ 2 liang liang 4096 Jul 6 06:16 liang

drwx------ 2 root root 16384 Jun 26 08:43 lost found

drwxrwx--- 2 root users 4096 Jul 6 01:16 public

drwxrwx--- 2 root sales 4096 Jul 6 02:30 sales

将账户加入相应组;

[root@server ~]# vi /etc/group

jishu:x:504:jack

sales:x:505:tom

然后利用net use * /del 删除已建连接;重新用Jack账号访问;

能成功看到属于自己的私有目录;并对目录有写入权限;

l         看对技术目录有没有权限写入,测试一下;因为Jack属于技术组;因此应该对jishu目录有写入权限;

OK,测试成功;SAMBA基本配置完成;

 

由于服务器空间有限,还得利用quota限制用户及组的空间使用;

Quota的前提,磁盘空间必须为独立的分区;可以依据不同的用户及组来加以限制使用硬盘空间;这里以/home为例;

比如限制每个用户的hardlimit为50MB;而softlimit为40MB;

1、修改/etc/fstab, 如下图;

[root@server ~]# vi /etc/fstab

 

[root@server ~]# mount–a

[root@server ~]# sync;sync;sync; reboot

 

建立quota所需要的设置文件;

[root@server ~]# quotacheck -avug

quotacheck: Scanning /dev/hda6 [/home] quotacheck: Cannot stat old user quota file: No such file or directory

quotacheck: Cannot stat old group quota file: No such file or directory

quotacheck: Cannot stat old user quota file: No such file or directory

quotacheck: Cannot stat old group quota file: No such file or directory

done

quotacheck: Checked 10 directories and 21 files

quotacheck: Old file not found.

quotacheck: Old file not found.

[root@server ~]#

以上提示为找不到相关设置文件;只能自行建立;

[root@server ~]# touch /home/aquota.user; touch /home/aquota.group

[root@server ~]# quotacheck -avug

quotacheck: Scanning /dev/hda6 [/home] done

quotacheck: Checked 10 directories and 23 files

[root@server ~]#

 

启动quota

[root@server ~]# quotaon -av

/dev/hda6 [/home]: group quotas turned on

/dev/hda6 [/home]: user quotas turned on

[root@server ~]#

 

设置用户磁盘配额;

[root@server ~]# edquota -u jack

磁盘配额也基本完成;如果要对组进行配额,就执行以下命令;这里就不多言了;

[root@server ~]# edquota -g jishu

 

所有的配置步骤基本完成,由于在学习阶段;希望博友们多指教不足之处,并提相关建议,博主在此有礼了,THX;

 

 

技术改变世界! --狂诗绝剑
相关文章
【Linux】vim使用与配置教程
Vim是一款功能强大的文本编辑器,广泛应用于Linux环境,是开发者和系统管理员的必备工具。本文介绍了Vim的基本操作与简单配置,涵盖命令模式、插入模式和底行模式的使用方法,以及光标定位、复制粘贴、搜索替换等常用技巧。同时,文章还提供了实用的分屏操作和代码注释方法,并分享了通过`.vimrc`文件进行个性化配置(如显示行号、语法高亮、自动缩进等)的技巧,帮助用户提升文本编辑效率。掌握这些内容,能让Vim更好地服务于日常工作与开发需求。
36 3
|
10天前
|
Websoft9:为开发者打造的高效 Linux 服务器面板
Websoft9 是一款以开源应用部署与管理为核心的服务器面板,采用“环境即服务”模式。它通过运行环境标准化、自动化配置、安全融合和资源管理四个方面实现平台与环境的深度协同。支持多语言框架预集成、云原生组件整合,提供 200+ 应用模板一键部署,并具备全流程安全防护和统一资源监控能力,助力开发者高效管理和扩展应用环境。
37 0
在Rocky Linux 9上安装JDK并配置环境变量!
本教程介绍在Rocky Linux 9上安装JDK并配置环境变量的完整步骤。首先更新系统,清理旧版本JDK相关包及残留文件,确保环境干净。接着搜索并安装所需版本的JDK(如OpenJDK 17),验证安装是否成功。然后查找JDK安装路径,配置全局环境变量`JAVA_HOME`和`PATH`,最后验证环境变量设置。按照此流程操作,可顺利完成Java开发环境搭建,支持多版本切换(如JDK 8/11/17)。生产环境请谨慎操作,避免影响现有服务。
57 21
Linux云服务器如何搭建LNMP环境
LNMP环境是Linux系统中常用的Web服务架构,由Linux、Nginx、MySQL/MariaDB和PHP组成,适用于高效托管动态网站。本文以CentOS 7为例,详细介绍了LNMP环境的搭建步骤,包括Nginx、MariaDB和PHP的安装与配置,以及最终通过创建`index.php`文件验证环境是否成功部署。具体操作涵盖配置YUM仓库、安装服务、编辑配置文件、启动服务等关键步骤,确保用户能够顺利搭建并运行LNMP环境。
47 1
Linux云服务器如何搭建LNMP环境
做网站如何选择云服务器?(一)配置篇
选择服务器需考虑网站规模、技术需求和地理位置。个人博客适合基础配置,企业官网需4核CPU、8GB内存,电商平台则需更高配置并配备负载均衡。技术上,展示型网站用PHP+MySQL,互动社区需Node.js/Python环境,视频类网站要大带宽。地理位置影响服务器选择,国内用户选腾讯云/阿里云,海外用户选AWS等。主流服务器类型包括虚拟主机(入门级)、云服务器(推荐)和物理服务器(高端需求)。云服务商普遍提供免费试用,便于评估性能。
42 1
深度体验阿里云系统控制台:SysOM 让 Linux 服务器监控变得如此简单
作为一名经历过无数个凌晨三点被服务器报警电话惊醒的运维工程师,我对监控工具有着近乎苛刻的要求。记得去年那次大型活动,我们的主站流量暴增,服务器内存莫名其妙地飙升到90%以上,却找不到原因。如果当时有一款像阿里云 SysOM 这样直观的监控工具,也许我就不用熬通宵排查问题了。今天,我想分享一下我使用 SysOM 的亲身体验,特别是它那令人印象深刻的内存诊断功能。
【已解决】Matomo本地SMTP配置可以发邮件,但部署到阿里云ECS就发不了邮件
在阿里云ECS上使用Matomo和PHPMailer发送邮件时遇到问题,邮件无法发出且接口调用Pending。经过排查,发现是ECS安全组未开放25/465端口,导致SMTP请求无法正常通信。解决方法为在安全组中配置并开放25/465端口,从而恢复邮件发送功能。
在阿里云ECS云服务器上安装、配置及高效使用Docker与Docker Compose
本文介绍了在阿里云ECS上使用Ubuntu系统安装和配置Docker及Docker Compose的详细步骤。通过这些工具,可以快速部署、弹性扩展和高效管理容器化应用,满足开发和运维需求。内容涵盖Docker的安装、镜像源配置、创建Web程序镜像以及使用Docker Compose部署WordPress等实际操作,并分享了使用体验,展示了阿里云实例的高性能和稳定性。
212 4
Linux服务器部署docker windows
在当今软件开发中,Docker成为流行的虚拟化技术,支持在Linux服务器上运行Windows容器。流程包括:1) 安装Docker;2) 配置支持Windows容器;3) 获取Windows镜像;4) 运行Windows容器;5) 验证容器状态。通过这些步骤,你可以在Linux环境中顺利部署和管理Windows应用,提高开发和运维效率。
77 1
阿里云国际站:阿里云服务器端口配置
悟空云@CloudWuKong阿里云是全球领先的云计算服务提供商,为用户提供弹性计算、数据库、存储、网络安全等一系列云计算服务。在使用阿里云服务器时,合理配置端口非常重要,可以提高服务器安全性和稳定性。