linux技术工程师,LINUX系统工程师技术(Engineer)-------第四天

本文介绍如何搭建Samba及NFS共享服务,包括安装配置、权限管理及客户端访问等步骤。涵盖Samba的基本服务搭建、读写权限设置、多用户访问支持以及NFS服务的配置和优化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

两台虚拟机,均要检测

1. Yum是否可用

2.  防火墙默认区域修改为trusted

3. IP地址是否配置

####################################################

samba 文件共享(共享文件夹)

• Samba 软件项目

– 用途:为客户机提供共享使用的文件夹

– 协议:SMB(TCP 139)、CIFS(TCP 445)

• 所需软件包:samba

• 系统服务:smb

一、搭建基本samba服务

1.安装samba软件包

2.创建samba的共享帐号。与系统相同用户名,不同密码

[root@server0 ~]# useradd -s /sbin/nologin harry

[root@server0 ~]# useradd -s /sbin/nologin kenji

[root@server0 ~]# useradd -s /sbin/nologin chihiro

[root@server0 ~]# pdbedit -a harry    #添加samba帐号,设置密码

[root@server0 ~]# pdbedit -a kenji    #添加samba帐号,设置密码

[root@server0 ~]# pdbedit -a chihiro  #添加samba帐号,设置密码

[root@server0 ~]# pdbedit -L        #列出所有有效的samba帐号

3.修改服务配置文件 /etc/samba/smb.conf

补充:vim   末行模式    set  nu  添加行号

89行          workgroup = STAFF

321行     [common]                          #共享名

322行        path = /common      #共享实际路径

[root@server0 ~]# mkdir /common

[root@server0 ~]# echo haha > /common/abc.txt

4. 重起smb服务,设置为开机自起

虚拟机Desktop0

• 所需软件包:samba-client

[root@desktop0 ~]# smbclient -L //172.25.0.11

Enter root's password:

[root@desktop0 ~]# smbclient -U harry //172.25.0.11/common

Enter harry's password:

Domain=[STAFF] OS=[Unix] Server=[Samba 4.1.1]

smb: \> ls

NT_STATUS_ACCESS_DENIED listing \*

思路:客户端访问服务端资源

1.防火墙是否限制

2.服务本身的访问控制

3.SELinux 是否限制

SELinux:  布尔值  (功能的开关)--------列如on和off,no和yes

• getsebool 查看 SELinux 开关

[root@server0 ~]# getsebool -a | grep samba

samba_export_all_ro --> off

samba_export_all_rw --> off

• setsebool 控制 SELinux 开关

– 需要加 -P 选项才能实现永久设置

[root@server0 ~]# setsebool  samba_export_all_ro=on

[root@server0 ~]# getsebool -a | grep samba

虚拟机Desktop0

[root@desktop0 ~]# smbclient -U harry //172.25.0.11/common

Enter harry's password:

Domain=[STAFF] OS=[Unix] Server=[Samba 4.1.1]

smb: \> ls

• 所需软件包:cifs-utils-----客户端

_netdev: 开启网络服务后在改在该设备

1.安装软件包cifs-utils

2.修改/etc/fstab

//172.25.0.11/common /mnt/samba cifs user=harry,pass=123,_netdev 0  0

#mkdir /mnt/samba cifs

3. mount -a  验证

df   -h

########################################################

Samba读写的共享

1.修改配置文件/etc/samba/smb.conf

[devops]

path = /devops

write list = chihiro

[root@server0 /]# mkdir /devops

[root@server0 /]# echo hahaxixi > /devops/123.tx

2.重起smb服务

3.客户端验证:

[root@desktop0 ~]# smbclient  -L   172.25.0.11

Enter root's password:

4.客户端挂载验证

[root@desktop0 ~]# mkdir /mnt/dev

[root@desktop0 ~]# vim /etc/fstab

//172.25.0.11/devops /mnt/dev cifs user=chihiro,pass=123,_netdev 0  0

[root@desktop0 ~]# mount -a

[root@desktop0 ~]# df -h

##################################################

实现读写Samba共享的其他操作

思路:客户端访问服务端资源

1.防火墙是否限制

2.服务本身的访问控制

3.SELinux 是否限制

4. 服务端目录本地权限

一、修改服务端SELinux布尔值,开放读写

[root@server0 /]# getsebool -a | grep samba

[root@server0 /]# setsebool samba_export_all_rw=on

[root@server0 /]# getsebool -a | grep samba

二、目录本地权限

[root@server0 /]# ls -ld /devops/

[root@server0 /]# setfacl -m u:chihiro:rwx /devops/-----指针对一个人而用,chmod是针对所有人可用

[root@server0 /]# getfacl   /devops/

三、客户端验证

[root@desktop0 ~]# touch /mnt/dev/test.txt

########################################################

multiuser多用户访问(了解)

– multiuser,提供对客户端多个用户身份的区分支持

– sec=ntlmssp,提供NT局域网管理安全支持

客户端完成:

[root@desktop0 /]# vim  /etc/fstab

//172.25.0.11/devops /mnt/dev cifs user=kenji,pass=123,_netdev,multiuser,sec=ntlmssp 0  0

[root@desktop0 /]# umount /mnt/dev/

[root@desktop0 /]# mount -a

[root@desktop0 /]# df -h

[root@desktop0 /]# su - student

[student@desktop0 dev]$ cd /mnt/dev

[student@desktop0 dev]$ cifscreds add -u chihiro 172.25.0.11

Password:

[student@desktop0 dev]$ ls

[student@desktop0 dev]$ touch abc.txt

[student@desktop0 dev]$ exit

#########################################################

配置NFS共享-----------网络文件系统用于linux系统之间

• Network File System,网络文件系统

– 用途:为客户机提供共享使用的文件夹

– 协议:NFS(TCP/UDP 2049)、RPC(TCP/UDP 111)

• 所需软件包: nfs-utils

• 系统服务: nfs-server

搭建基本的只读NFS服务

1.在虚拟机server0上,检测nfs-utils是否安装

[root@server0 /]# rpm -q nfs-utils

2.修改配置文件/etc/exports

[root@server0 /]# mkdir /public

[root@server0 /]# echo hehelele > /public/nsd.txt

[root@server0 /]# vim /etc/exports

/public   172.25.0.0/24(ro)

3.重起nfs-server服务,设置开机自起

[root@server0 /]# systemctl restart  nfs-server

[root@server0 /]# systemctl enable  nfs-server

4.客户端  访问nfs-server服务

[root@desktop0 /]# mkdir /mnt/nfs

[root@desktop0 /]# showmount -e 172.25.0.11-------查看有哪些共享服务

[root@desktop0 /]# vim /etc/fstab

172.25.0.11:/public /mnt/nfs  nfs  _netdev 0 0

[root@desktop0 /]# mount -a

[root@desktop0 /]# ls  /mnt/nfs

#######################################################

读写nfs-server服务

一.客户端root用户的读写

服务端:

[root@server0 /]# mkdir /abc

[root@server0 /]# echo 123 > /abc/a.txt

[root@server0 /]# vim /etc/exports

/abc   172.25.0.0/24(rw)

[root@server0 /]# systemctl restart nfs-server

客户端:

[root@desktop0 /]# vim /etc/fstab

172.25.0.11:/abc /mnt/nsd  nfs  _netdev 0 0

[root@desktop0 /]# mkdir /mnt/nsd

[root@desktop0 /]# mount -a

[root@desktop0 /]# df -h

服务端:

[root@server0 /]# vim /etc/exports

/abc   172.25.0.0/24(rw,no_root_squash)    #不压榨客户端root权限

[root@server0 /]# systemctl restart nfs-server

客户端:

[root@desktop0 /]# systemctl  restart nfs  #重起客户端服务

[root@desktop0 /]# touch /mnt/nsd/5.txt

二、普通用户

客户端普通用户访问服务端nfs-server服务,

服务端会以客户端相同UID身份的本地用户进行权限判定

LDAP :  网络用户,提供用户名

kerberos : 密码验证,实现“一次密码认证,多次免密登录”的通行证机制

服务端:

[root@server0 /]# lab  nfskrb5  setup

[root@server0 /]# grep ldapuser0 /etc/passwd

[root@server0 /]# id ldapuser0

1.部署kerberos加密的密钥文件

wget http://172.25.254.254/pub/keytabs/server0.keytab -O /etc/krb5.keytab

[root@server0 /]# ls /etc/krb5.keytab

2.修改配置文件

[root@server0 /]# vim /etc/exports

/abc   172.25.0.0/24(rw,no_root_squash,sec=krb5p)------{sec=krb5p}表示共享密码的验证去找kerberos

3.重起nfs-server与nfs-secure-server

# systemctl restart nfs-server  nfs-secure-server

客户端:

[root@desktop0 /]# lab  nfskrb5  setup

[root@desktop0 /]# grep ldapuser0 /etc/passwd

[root@desktop0 /]# id ldapuser0

1.部署kerberos加密的密钥文件

wget http://172.25.254.254/pub/keytabs/desktop0.keytab -O /etc/krb5.keytab

[root@desktop0 /]# ls /etc/krb5.keytab

2.修改/etc/fstab

172.25.0.11:/abc /mnt/nsd  nfs  _netdev,sec=krb5p 0 0

3.重起nfs与nfs-secure服务

[root@desktop0 /]# systemctl restart nfs  nfs-secure

4.验证挂载

[root@desktop0 /]# umount /mnt/nsd

[root@desktop0 /]# mount -a

[root@desktop0 /]# df -ah

本文转自hj_1314wgn 51CTO博客,原文链接:http://blog.51cto.com/13513556/2048525,如需转载请自行联系原作者

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值