千家信息网

Linux之Samba文件共享

发表于:2025-12-01 作者:千家信息网编辑
千家信息网最后更新 2025年12月01日,Samba可以实现Linux和Windows之间的文件共享,主要包括服务端软件Samba、客户端软件Samba-client、用于提供服务端和客户端程序的公共组件Samba-common。在CentO
千家信息网最后更新 2025年12月01日Linux之Samba文件共享

Samba可以实现Linux和Windows之间的文件共享,主要包括服务端软件Samba、客户端软件Samba-client、用于提供服务端和客户端程序的公共组件Samba-common。在CentOS中大部分软件包已经默认安装好了。Samba服务器提供smbd、nmbd两个服务程序,分别完成不同的功能。其中,smbd负责为客户端提供服务器中共享资源(目录和文件等)的访问;nmbd负责提供基于NetBIOS协议的主机名称解析,以便为Windows网络中的主机进行查询服务。

示例:

ABC是一家网站设计公司,公司下面有设计部、开发部、运维部等多个部门,公司决定部署一台Samba服务器,满足各个部门间快速共享数据的需求。

设计部共享目录:/ABC/design

开发部共享目录:/ABC/develop

运维部共享目录:/ABC/ops

公共共享目录:/ABC/share

每个目录设置两个用户,部门主管具有读写的权限,其它人仅有读的权限,以运维部为例:主管的用户名为:opsadmin(密码和用户名一致),其它人:ops1(密码与用户名一致)。公共共享目录:administrator(密码和用户名一致)具有读写权限,其它所有人仅有读的权限。

1 关闭防火墙和Selinux:

[root@localhost ~]# service iptables stop

[root@localhost ~]# vim /etc/selinux/config

SELINUX=disabled

[root@localhost ~]# setenforce 0


2 配置Samba服务器:

安装程序组件

[root@localhost ~]# rpm -qa | grep 'samba'

samba-common-3.6.23-33.el6.i686

samba-client-3.6.23-33.el6.i686

samba-winbind-3.6.23-33.el6.i686

samba4-libs-4.2.10-6.el6_7.i686

samba-winbind-clients-3.6.23-33.el6.i686

[root@localhost ~]# yum -y install samba


建立共享目录和测试文件

[root@localhost ~]# mkdir -pv /ABC/{design,develop,ops,share}

[root@localhost ABC]# echo "This is design" >> /ABC/design/de.txt

[root@localhost ABC]# echo "This is develop" >> /ABC/develop/deve.txt

[root@localhost ABC]# echo "This is ops" >> /ABC/ops/ops.txt

[root@localhost ABC]# echo "This is share" >> /ABC/share/share.txt

[root@localhost ABC]# tree /ABC/

/ABC/

├── design

│ └── de.txt

├── develop

│ └── deve.txt

├── ops

│ └── ops.txt

└── share

└── share.txt


4 directories, 4 files


建立账户:Samba服务器使用独立的共享账号数据库文件,其中的账号必须有与它同名的系统用户相对应,以便主机对共享访问的读写权限进行控制;但共享用户的密码是额外设置的,可以和系统用户的密码不一样。

[root@localhost ~]# useradd -s /sbin/nologin opsadmin #先增加系统用户

[root@localhost ~]# pdbedit -a -u opsadmin #再添加共享用户

[root@localhost ~]# useradd -s /sbin/nologin ops1

[root@localhost ~]# pdbedit -a -u ops1

[root@localhost ~]# useradd -s /sbin/nologin administrator

[root@localhost ~]# pdbedit -a -u administrator

[root@localhost ~]# pdbedit -L #列出所有用户

opsadmin:501:

administrator:503:

ops1:502:

[root@localhost ~]# pdbedit -x -u vina #删除某个用户

[root@localhost ~]# pdbedit -vL ops1 #显示用户详细信息

Unix username: ops1

NT username:

Account Flags: [U ]

User SID: S-1-5-21-2138872188-2142312678-3225965792-1001

Primary Group SID: S-1-5-21-2138872188-2142312678-3225965792-513

Full Name:

Home Directory: \\localhost\ops1

HomeDir Drive:

Logon Script:

Profile Path: \\localhost\ops1\profile

Domain: LOCALHOST

Account desc:

Workstations:

Munged dial:

Logon time: 0

Logoff time: never

Kickoff time: never

Password last set: Tue, 30 May 2017 12:04:49 CST

Password can change: Tue, 30 May 2017 12:04:49 CST

Password must change: never

Last bad password : 0

Bad password count : 0

Logon hours : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF


备注:修改密码需要用到如下命令:

smbpasswd username


修改配置文件

[root@localhost ABC]# vim /etc/samba/smb.conf

[global]

security = user

[share]

path = /ABC/share

public = yes

browseable = yes

read only = yes

write list = administrator


[ops]

path = /ABC/ops

browseable = yes

public = no

write list = opsadmin

valid users = ops1,opsadmin

[root@localhost ABC]# testparm #检查配置文件

[root@localhost ABC]# chmod -R 777 /ABC/{design,develop,ops,share}


开启服务

[root@localhost ABC]# service smb start

[root@localhost ABC]# service nmb start

修改配置文件后,需要重新载入配置文件

[root@localhost ABC]# service smb reload


附:Samba配置文件常用参数详解:

1)security = user | share:

share:不需要提供用户名和密码;

user:共享目录只能被授权的用户访问,并且验证账号和密码的正确性;

2)path = /ABC/ops:共享目录的路径;

3)browseable = no | yes:该目录是否可以被浏览,no意味隐藏目录;

4)valid users = ops1,opsadmin:允许访问该共享的用户;

5)invalid users = **,**:禁止访问该共享的用户;

6)write list = ops1:允许写入该共享的用户;

7)public = no | yes:是否允许匿名访问,同 guest ok

8) directory mask = 0755:上传目录的默认权限;

9) create mask = 0644:上传文件的默认权限;


用户 目录 文件 服务 密码 权限 配置 服务器 用户名 一致 主机 公司 客户 客户端 程序 系统 账号 软件 部门 设计 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 服务器芯片组差别 数据库分区保护设置 自动分账软件开发 通州区网络营销软件开发价格信息 uml 软件开发过程 济南掌世界网络技术驻场营业部 专业软件开发专业硕士 重庆万科互联网科技有限公司 闵行区项目软件开发创新服务 软件开发人才的特点 麒麟服务器操作系统是软件吗 吉林网络技术工程 网络安全工作会议的讲话 黎明杀机屠夫选哪个服务器 u8 数据库可疑 文件管理服务器维护 数据库应用技术sql 湖南盛天网络技术股份有限公司 临沂市飞信软件开发有限公司 网络安全事件应急演练怎么操作 关于天文资料数据库有哪些 巨杉数据库5.0三大技术亮点 门户网站网络安全重要性 计算机网络技术分组交换 戴尔服务器2u多重 海思的通用软件开发 数据库文件中已建立表对象 深圳神州物联网络技术有限公司 中国网络安全报告会 数据库输入命令时错误怎么办
0