侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130562 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

Linux-CenOS7 Samba的安装与配置

2023-11-28 星期二 / 0 评论 / 0 点赞 / 62 阅读 / 8637 字

Samba属于GNU Public License(简称GPL)的软件;因此,你可以合法且免费地使用它;它重新实现了SMB/CIFS协议,可以在各个平台共享文件和打印机。1991年,还是大学生的And

Samba属于GNU Public License(简称GPL)的软件;因此,你可以合法且免费地使用它;它重新实现了SMB/CIFS协议,可以在各个平台共享文件和打印机。

1991年,还是大学生的Andrew Tridgwell,有三台机器,分别是Microsoft的DOS系统、DEC的Digital Unix系统、以及Sun的Unix系统。当时的技术无法让三者共享文件。为此,他开发了samba并将其开源。

本来改名为smbserver,但是一家商业公司注册了SMBServer商标。他被告知不能使用。于是执行了grep -i '^s.*m.*b' /usr/share/dict/words,从中选择了samba这个词。

什么是SMB?SMB(Server Message Block)通信协议是微软(Microsoft)和英特尔(Intel)在1987年制定的协议,主要是作为Microsoft网络的通讯协议,而Samba则是将SMB协议搬到UNIX上来应用;Samba的核心是SMB(Server Message Block)协议。

SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。通过“NetBIOS over TCP/IP”使得Samba不但能与局域网络主机分享资源,更能与全世界的电脑分享资源;因为互联网上千千万万的主机所使用的通讯协议就是TCP/IP。

SMB是在会话层(ession layer)和表示层(presentation layer)以及小部分应用层(applicationlayer)的协议。SMB使用了NetBIOS的应用程序接口(Application Program Interface,简称API)。

另外,它是一个开放性的协议,允许了协议扩展——使得它变得更大而且复杂;大约有65个最上层的作业,而每个作业都超过120个函数,甚至Windows NT也没有全部支持到,最近微软又把 SMB 改名为CIFS(Common Internet File System), 并且加入了许多新的特色,而Samba亦支持了NT Lan Manager 0.12等 SMB 的延伸协议,这是得Samba具有管理NT网域的能力。

访问需求如下

/home/samba/share 允许Share、SharePC访问; /home/samba/company 允许SharePC访问

共享名路径权限
SHAREDOCS/home/samba/share仅允许特定用户进行读写访问
COMPANYDOCS/home/samba/company仅允许特定用户进行读写访问

1. 安装Samba

yum -y install samba samba-client samba-common

查看安装版本信息

[root@localhost samba]# rpm -qi sambaName        : sambaEpoch       : 0Version     : 4.4.4Release     : 12.el7_3Architecture: x86_64Install Date: 2017年02月06日 星期一 20时44分28秒Group       : System Environment/DaemonsSize        : 1869273License     : GPLv3+ and LGPLv3+Signature   : RSA/SHA256, 2017年01月18日 星期三 08时01分25秒, Key ID 24c6a8a7f4a80eb5Source RPM  : samba-4.4.4-12.el7_3.src.rpmBuild Date  : 2017年01月17日 星期二 14时10分29秒Build Host  : c1bm.rdu2.centos.orgRelocations : (not relocatable)Packager    : CentOS BuildSystem <http://bugs.centos.org>Vendor      : CentOSURL         : http://www.samba.org/Summary     : Server and Client software to interoperate with Windows machinesDescription :Samba is the standard Windows interoperability suite of programs for Linux andUnix.

2. 配置Samba服务器

创建共享目录

cd /homemkdir -p samba/share samba/company 

配置内核参数

ulimit -n 16384vim /etc/security/limits.conf// 在最后加入以下内容- nofile 16384
.

Tip: 这主要是避免在启动Samba时出现以下警告信息:rlimit_max: increasing rlimit_max (1024) tominimum Windows limit (16384)

.

备份原有的配置文件

# cd /etc/samba/# cp smb.conf smb.conf.bak

删除原有所有内容,

echo '' > smb.confvim smb.conf

添加如下内容:

#======================= Global Settings =====================================  [global]    # ----------------------- Network Related Options -------------------------  # 定义工作组,也就是windows中的工作组概念workgroup=WORKGROUP# 定义Samba服务器的简要说明server string= Samba Server Version %v# 定义windows中显示出来的计算机名称netbios name=CentOS_Samba  # ----------------------- Standalone Server Options ------------------------  security=user  # --------------------------- Logging Options -----------------------------  #定义Samba用户的日志文件,%m代表客户端主机名 log file = /var/log/samba/log.%m  #============================ Share Definitions ==============================  [SHAREDOCS]  comment=通用共享  path=/home/samba/sharebrowseable=yes  available=yes  writable=yes  admin users=@SharePC  valid users=@Share @SharePC  write list=@Share @SharePC  create mask=0770  directory mask=0770    [COMPANYDOCS]  comment=公司资料  path=/home/samba/company  public=no  browseable=yes  available=yes  writable=yes  admin users=@SharePC  valid users=@SharePC  write list=@SharePC  create mask=0770  directory mask=0770

3. 创建用户并分配权限

创建操作系统用户

useradd Shareuseradd SharePC

修改操作系统用户的密码(我输入的是123456)

[root@localhost samba]# passwd Share更改用户 Share 的密码 。新的 密码:无效的密码: 密码少于 8 个字符重新输入新的 密码:passwd:所有的身份验证令牌已经成功更新。//效果同上[root@localhost samba]# passwd SharePC

创建SAMBA用户

smbpasswd -a Sharesmbpasswd -a SharePC

授权共享目录

chown Share sharechown SharePC company

4. 防火墙关闭

关闭firewall

systemctl stop firewalld.service //停止firewallsystemctl disable firewalld.service //禁止firewall开机启动

关闭iptables

service iptables stop

关闭SELinux:

setenforce 0

设置SELINUX=disabled(需要重启电脑)

vim /etc/selinux/config//文件中设置,SELINUX=disabled //然后重启服务器。

5. 开机启动smb服务

systemctl restart smbsystemctl enable smbsystemctl status smb

6. 客户端链接

Linux

[root@localhost ~]# smbclient -L 192.168.2.206 -U ShareEnter Share's password: Domain=[WORKGROUP //定义工作组,也就是WINDOWS中的工作组概念] OS=[Windows 6.1] Server=[Samba 4.4.4]	Sharename       Type      Comment	---------       ----      -------	SHAREDOCS       Disk      通用共享	COMPANYDOCS     Disk      公司资料	IPC$            IPC       IPC Service (Samba Server Version 4.4.4 //定义Samba服务器的简要说明)Domain=[WORKGROUP //定义工作组,也就是WINDOWS中的工作组概念] OS=[Windows 6.1] Server=[Samba 4.4.4]	Server               Comment	---------            -------	Workgroup            Master	---------            -------

Windows

共享文件夹://192.168.2.206/sharedocs用户名:Share

MacOS

打开Finder(或在桌面),CMD + k,可以得到页面,输入:

smb://username@ip/sharenamesmb://[email protected]/SHAREDOCS
  • 1)Finder->Go(前往)->Connete to Server...(连接服务器)(Command+K)
    • 输入:smb://主机IP或主机名/共享名
    .

    提示:输入samba地址之后可以点击旁边的+按钮收藏,下次就不用再输入了。

    .
  • 2)输入密码(没有密码就为空)
  • 3)共享目录会自动打开,自动挂载
.

提示:如果finder不小心关闭后,不需要重新连接,可以再“共享的”列表里找到。

.

.DS_Store安全隐患

由于Finder自带的.DS_Store包含了太多信息,如果在服务器产生.DS_Store会造成安全隐患。如果没有特殊配置,你用Finder管理远程的文件夹会自动产生.DS_Store。

在云端检查你的共享文件夹,如果发现.DS_Store,立即删除!

ls -a /home/USER_NAME/shared_directory如何让Finder不在远程连接时产生.DS_Store?

打开Mac的Terminal,输入

defaults write com.apple.desktopservices DSDontWriteNetworkStores true

然后重启Mac,再试试远程连接。

广告 广告

评论区