资讯详情

centos 7 安装 samba

centos 7 安装 samba

最近想在linux系统下开发C 程序,想用window编辑器写代码,所以在centos 安装在系统下samba ,让window系统挂载centos 夹下系统共享的文件,以便对window就像访问当地磁盘一样,能通过window的编辑器对cenos 7 修改和保存系统下的代码文件。所以整理了centos 7 系统下安装samba最后,附上自动安装的过程samba系统的shell脚本。

分为四部分

  1. cenots系统安装samba需要注意的点
  2. centos 安装的步骤
  3. centos 7 自动安装shell脚本
  4. 结语

cenots系统安装samba需要注意的点

  1. centos 需要关闭 selinux,不然window计算机无法正常访问centos 共享文件夹
  2. samba 如果没有配置相应的权限,比如配置为不可读权限,可以为访问用户配置可读和可写权限,window计算机将无法正常访问
  3. centos 本质是linux系统,不是root 用户访问文件夹将由权限管理;因此,共享文件夹还需要给予足够的权限,否则将无法window即使计算机不能正常访问,也会报告不够的权限samba配置权限最大化
  4. 以上都是关于文件权限的问题,window电脑想要访问centos共享文件夹是跨计算机跨设备的访问,需要考虑centos的防火墙的配置以及本地window电脑防火墙配置

centos 安装的步骤

提示:在这里,我们直接通过t通过 yum 安装

  1. 安装 samba 相关软件包 建议先卸载 smaba 然后安装相关软件samba 相关软件。否则,可能会有一些。 samba 命令不能使用的问题
yum remove -y samba* yum install -y samba* 
  1. 关闭 selinux,我们通过修改配置文件永久关闭 selinux 没有 sed 工具的可以yum 自行安装或通过vi 、vim 修改手动配置文件
sed -i "s/SELINUX=enforcing/SELINUX=disable/g" /etc/selinux/config #或者 vim /etc/selinux/config   将文件中的 "SELINUX=enforcing/" 替换成 “SELINUX=disable” 

修改完成后重启centos 使关闭 selinux 生效

shutdown -r now 
  1. 修改 samba 配置 通过修改smaba配置配置文件
vim /etc/samba/smb.conf 

打开文件后 在配置文件中添加以下内容: 这里需要注意的是 这里的所有" shared "是你想加的 samba 除了账户名称 “ path = /home/shared/ ”这里的 shared 共享文件夹的名称。 这意味着将军 /home/shared 作为共享文件夹,文件夹可以访问 “shared” 可读、可写的用户权限。

[shared]         # 共享文件目录描述         comment = Shared Directories         # 共享文件目录         path = /home/shared/         # 是否允许guest访问         public = no         # 指定用户管理         admin users = shared         # 可访问用户组、用户         valid users = @shared         # 是否浏览权限         browseable = yes         # 权限是否可写         writable = yes         # 设置文件权限         create mask = 0777         directory mask = 0777         force directory mode = 0777         force create mode = 0777  

这里附上一张修改后的文件图片,方便没有接触过的朋友理解 在这里插入图片描述

  1. 添加shamba 账户 这里通过命令添加,需要注意的是创建samba在用户之前,必须确保有同名Linux用户,否则samba用户会创造失败 smbpasswd 为samba如果提示命令无法正常执行或执行, yum remove -y samba* 掉再 重新 yum install -y samba*
useradd shared smbpasswd -a shared 手动输入两次密码确认 
  1. centos 防火墙开放 samba 需要使用的端口
systemctl start firewalld.service            一行对应一个命令,不要傻傻地复制过去 firewall-cmd --zone=public --add-port=139/tcp --permanent firewall-cmd --zone=public --add-port=
       
        445/tcp --permanent firewall-cmd --zone
        =public --add-port
        =
        137/udp --permanent firewall-cmd --zone
        =public --add-port
        =
        138/udp --permanent firewall-cmd --reload ystemctl restart firewalld.service 
       
  1. 添加 samba 共享账户下的 共享目录权限
chown 777  /home/shared/
  1. 重启 samba 服务
systemctl restart smb nmb
  1. 添加开机自启动 如果不加入开机自启动,有可能重启之后得手动开启 samba 服务,不忍会出现wndiw无法访问
systemctl enable  smb nmb
  1. 到这里的话,centos 的所有步骤都完成了,接下来就是 window 下访问 centos samba 共享的文件夹。 window 电脑 通过 “Win” + “R” 调出程序款,输入\IP地址\共享文件夹的名称

  2. 成功访问到了,结束啦!


centos 7 自动安装shell脚本

  1. 脚本执行到添加 samba账户 时需要手动输入账号密码,
  2. 若是想创建其他的 samba 账户,将脚本中的变量修改成自己想要的账户就行 sambaUser=自己想要的账户名称
  3. 脚本没有写死了重启,全部完成之后需要手动重启
  4. 其它的不废话,脚本注释都有。直接上脚本。

#!/bin/bash
#author:LED_H
#Time:2020.07.10

sambaUser=shared
sambaPath=/etc/samba


#修改samba 配置文件
modifySambaConf()
{ 
        
	echo -e "[${sambaUser}]" >> ${sambaPath}/smb.conf
	echo -e "\t# 共享文件目录描述" >> ${sambaPath}/smb.conf
	echo -e "\tcomment = Shared Directories" >> ${sambaPath}/smb.conf
	echo -e "\t# 共享文件目录" >> ${sambaPath}/smb.conf
	echo -e "\tpath = /home/${sambaUser}/" >> ${sambaPath}/smb.conf
	echo -e "\t# 是否允许guest访问" >> ${sambaPath}/smb.conf
	echo -e "\tpublic = no" >> ${sambaPath}/smb.conf
	echo -e "\t# 指定管理用户" >> ${sambaPath}/smb.conf
	echo -e "\tadmin users = ${sambaUser}" >> ${sambaPath}/smb.conf
	echo -e "\t# 可访问的用户组、用户" >> ${sambaPath}/smb.conf
	echo -e "\tvalid users = @${sambaUser}" >> ${sambaPath}/smb.conf
	echo -e "\t# 是否浏览权限" >> ${sambaPath}/smb.conf
	echo -e "\tbrowseable = yes" >> ${sambaPath}/smb.conf
	echo -e "\t# 是否可写权限" >> ${sambaPath}/smb.conf
	echo -e "\twritable = yes" >> ${sambaPath}/smb.conf
	echo -e "\t# 文件权限设置" >> ${sambaPath}/smb.conf
	echo -e "\tcreate mask = 0777" >> ${sambaPath}/smb.conf
	echo -e "\tdirectory mask = 0777" >> ${sambaPath}/smb.conf
	echo -e "\tforce directory mode = 0777" >> ${sambaPath}/smb.conf
	echo -e "\tforce create mode = 0777" >> ${sambaPath}/smb.conf

}

#安装 ssamba 
authInstallSamba()
{ 
        
	#永久关闭 selinux
	sed -i "s/SELINUX=enforcing/SELINUX=disable/g" /etc/selinux/config

	#等后面全部弄完之后需要重启才能生效
	
	#
	yum remove -y samba*
	yum install -y samba*

	#备份原配置文件
	cp ${sambaPath}/smb.conf ${sambaPath}/smb.conf.bak

	#修改配置文件
	modifySambaConf

	#创建samba用户之前,必须先确保有一个同名的Linux用户,否则samba用户会创建失败
	useradd ${sambaUser}

	#添加shamba 账户
	smbpasswd -a ${sambaUser}
	
	#这里需要手动改输入samba账户的密码

	#开启防火墙
	systemctl start firewalld.service

	#防火墙端口开放
	firewall-cmd --zone=public --add-port=139/tcp --permanent
	firewall-cmd --zone=public --add-port=445/tcp --permanent
	firewall-cmd --zone=public --add-port=137/udp --permanent
	firewall-cmd --zone=public --add-port=138/udp --permanent

	#防火墙重新加载
	firewall-cmd --reload

	#重启防火墙(可以不重启)
	ystemctl restart firewalld.service

	#添加 samba 共享账户下的 共享目录权限
	chown 777  /home/${sambaUser}/
	
	#重启
	systemctl restart smb nmb
	
	#加入开机自启动
	systemctl enable  smb nmb

	#重启生效
	#shutdown -r now
}


#这里开始
authInstallSamba
echo "需要手动重启,才能生效selinux"


结语

有一些错误或者不懂可以评论区留言,一起讨论下

标签: nmb悬臂梁传感器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台