千家信息网

Linux之Samba文件共享

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,Samba可以实现Linux和Windows之间的文件共享,主要包括服务端软件Samba、客户端软件Samba-client、用于提供服务端和客户端程序的公共组件Samba-common。在CentO
千家信息网最后更新 2026年11月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安全错误 数据库的锁怎样保障安全 互联网科技工作委员会毛军 广州互联网科技公司 百单互联网科技有限公司 奔汉互联网科技 天下捷融互联网科技 互联网金融科技委员会 太原新华互联网科技学校怎么样 顶级互联网科技成果有哪些 华服互联网科技官网 成都互联网科技公司工作好不好 哈尔滨屹滨互联网科技有限公司 晋城互联网科技 科技互联网的核心竞争力 云南省自由互联网科技有限公司 富国互联网科技002692 互联网科技包装股份有限公司上市 新氧科技和美国互联网有关系吗 北京天晋互联网科技有限公司 互联网科技创新创业项目 株洲百竞科技的互联网营销顾问 互联网高科技 亿人帮互联网科技 互联网金融和金融科技 农村开互联网科技讲堂 燊美集互联网科技有限公司 众安科技工业互联网合作 广东工业互联网大赛深圳学泰科技 互联网科技包装股 互联网公司属于科技吗 数字科技和互联网金融哪个好
0