初学Linux——day12——Samba、NFS

论坛 期权论坛 脚本     
匿名技术用户   2021-1-7 09:42   451   0

重点: samba 的部署


互联网中常见协议:

协议含义端口
http超文本传输协议80
https安全的超文本传输协议443
ftp文件传输协议21
tftp简单的文件传输协议69
dns域名解析协议53
smtp发邮件协议25
pop3收邮件协议110
snmp网络管理协议161
telnet远程管理协议23

互联网怎样找到另一台主机:通过IP地址

如何找到主机上相应的程序:端口

端口:标识服务或程序,编号
允许改变端口号,也允许一个服务或程序具备多个端口

数据包的四个要素:源IP地址、目标IP地址、数据、端口


Samba服务基础,配置SMB共享(Windows与Linux跨平台的共享)

用途:为客户机提供共享使用的文件夹
协议:SMB(TCP 139)验证、CIFS(TCP 445)传输数据

所需软件包:samba
系统服务:smb
配置文件:/etc/samba/smb.conf

Samba用户 —— 专用来访问共享文件夹的用户
但需要提前建立同名的系统用户
采用独立设置的密码,即与系统登陆密码不同

pdbedit -a [用户名] #创建samba共享帐号
pdbedit -x [用户名] #删除samba共享帐号
pdbedit -L #查看所有samba共享帐号

修改 /etc/samba/smb.conf
[自定共享名] #共享时候客户端看到的目录名(不要用特殊字符)
path = 文件夹绝对路径 #共享的文件夹的服务端存储目录
; public = no|yes //默认no #是否公开,即访问是否必须输入帐号密码登陆
; browseable = yes|no //默认yes #是否允许访问
; read only = yes|no //默认yes #是否只读
; write list = 用户1 .. .. //默认无 #允许写的用户
; valid users = 用户1 .. .. //默认任何用户 #允许登陆的用户
; hosts allow = 客户机地址 .. .. #允许的客户端IP
; hosts deny = 客户机地址 .. .. #拒绝的客户端IP


搭建基本的samba共享服务

一、虚拟机Server0:
1.安装软件包samba
2.建立samba共享帐号,专用于验证samba共享服务用户名
useradd -s /sbin/nologin [用户名]
pdbedit -a [用户名] #添加为共享帐号

3.修改配置文件,发布目录,设置共享名(详细格式在上方)

mkdir [目录]

echo "[共享名] \npath = [目录]" /etc/samba/smb.conf

**如果要求,此服务器必须是 STAFF 工作组的一个成员,在配置文件的80多行
workgroup = STAFF

4.重起smb服务
systemctl restart smb
systemctl enable smb

5.SELinux的 布尔值(功能的开关 on与off)
需要加 -P 选项才能实现永久设置

getsebool -a | grep samba #查看SELinux布尔值
setsebool samba_export_all_ro on #修改SELinux只读布尔值
setsebool samba_export_all_rw on #修改SELinux读写布尔值

6.设置本机目录的基本的权限(一般是读写的时候要求修改,不然客户端也不能完成写)
setfacl -m u:[用户名]:rwx /devops/
getfacl /devops/


二、客户端:虚拟机Desktop0

使用用命令测试,一般不用
1.所需软件包:samba-client访问服务端共享
2.显示服务端共享内容(不输入root密码)
smbclient -L //172.25.0.11
3.访问共享(输入密码)
smbclient -U harry //172.25.0.11/common
Enter harry's password:


更加科学方便的方式访问samba共享:挂载
1.安装软件包cifs-utils(支持cifs传输协议)
2.进行挂载
mkdir /mnt/nsd01
ls /mnt/nsd01

mount -o user=[用户名],pass=[密码] //172.25.0.11/[IP] [挂载点] # 临时挂载

** _netdev:网络设备(注意有下划线)
在开机启动时,挂载带有_netdev参数的设备,需要首先将网络服务部署完成,配置好所有网络参数,在挂载本设备

echo '//172.25.0.11/[IP] [挂载点] cifs defaults,user=[用户名],pass=[密码],_netdev 0 0' >> /etc/fstab

mount -a #验证是否书写正确
df -h


总结:

客户端访问服务端影响的方面
1.防火墙(firewall-cmd)
2.SELinux(getsebool 和 setsebool)
3.服务本身的策略(配置文件)
4.服务端本地目录的权限(判断共享目录对于设置的samba用户权限是什么,用setfacl设置)

samba的服务端配置:
1.装包samba 2.创建用户并录入samba 3.配置(发布建共享目录) 4.起服务 5.关闭防火墙和selinux 6.设置权限

samba的客户端配置:
1.装包cifs.utils 2.挂载使用


multiuser机制

在客户端实现samba挂载时,采用权限较小用户验证,必要时可以切换成权限较大的用户身份

multiuser,提供对客户端多个用户身份的区分支持
sec=ntlmssp,提供NT局域网管理安全支持

echo '//172.25.0.11/[IP] [挂载点] cifs defaults,user=[用户名],pass=[密码],_netdev,multiuser,sec=ntlmssp 0 0 ' >> /etc/fstab

在挂载samba服务的后面加上两个指令

用下面指令来切换samba身份,从而做到权限的变更
cifscreds add -u chihiro 172.25.0.11


配置NFS共享(Linux与Linux之间的共享)
Network File System,网络文件系统
用途:为客户机提供共享使用的文件夹
协议:NFS(TCP/UDP 2049)、RPC(TCP/UDP 111)

所需软件包:nfs-utils
系统服务:nfs-server

虚拟机server0
1.安装软件nfs-utils
yum -y install nfs-utils

2.发布共享 /abc
echo ' [共享目录] [IP]/[子网掩码]([ro,rw])' >>/etc/exports

3.重起nfs-server服务
systemctl restart nfs-server
systemctl enable nfs-server

客户端虚拟机desktop0
挂载使用
echo '[IP]:[共享目录] [挂载目录] nfs defaults,_netdev 0 0' >> /etc/fstab

mount -a
df -h


配置IPv6地址

IPv4地址:32个二进制组成,以 点 分隔 4 部分,最终用4个十进制表示

IPv6地址:128个二进制组成,以 冒号 分隔 8 部分,每部分由 4个16进制数表示

每段内连续的前置 0 可省略、连续的多个 : 可简化为 ::
例如: 2003:ac18:0000:0000:0000:0000:0000:0305
2003:ac18::305/64

nmcli connection modify 'System eth0' ipv6.method manual ipv6.addresses [IP]/64 connection.autoconnect yes

nmcli connection up 'System eth0'


环境变量:
$PATH :为执行命令时,提供搜寻路径(在搜寻命令程序文件位置)
$USER :当前用户名

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP