linux系统samba服务搭建gpt分区 特殊权限

配置SMB共享(跨平台的共享,Linux与Windows)
Samba 软件项目
– 用途:为客户机提供共享使用的文件夹
– 协议:SMB(验证客户端身份)、CIFS(传输数据的)
管理共享账号
• Samba用户 —— 专用来访问共享文件夹的用户
– 采用独立设置的密码
– 但需要提前建立同名的系统用户(可以不设密码)
• 使用 pdbedit 管理工具
– 添加用户:pdbedit -a 用户名
– 查询用户:pdbedit -L [用户名]
– 删除用户:pdbedit -x 用户名

#######################################################
smb服务端为server0.example.com
1.创建共享用户
useradd -s /sbin/nologin harry
echo 123 | passwd --stdin harry
useradd -s /sbin/nologin chihiro
echo 123 | passwd --stdin chihiro

useradd -s /sbin/nologin kenji
echo 123 | passwd --stdin kenji
pdbedit -a harry #将本地用户添加为共享账户,设置共享密码 456
pdbedit -a chihiro #将本地用户添加为共享账户,设置共享密码 456
pdbedit -a kenji #将本地用户添加为共享账户,设置共享密码 456
pdbedit -L #显示所有的共享账户

2.装samba软件包
[root@server0 ~]# yum -y install samba
3.修改配置文件
[root@server0 ~]# mkdir /common
[root@server0 ~]# vim /etc/samba/smb.conf
workgroup = STAFF #设置工作组
[common] #设置共享名
path = /common #设置共享实际路径

4.重起 smb 服务
[root@server0 ~]# systemctl restart smb
[root@server0 ~]# systemctl enable smb
[root@server0 ~]# touch /common/nsd01.txt
###################################################
smb客户端为desktop0.example.com

1.安装samba-client客户端软件
[root@desktop0 ~]# yum -y install samba-client
• 列出共享资源
– smbclient -L 服务器地址
• 连接到共享文件夹
– smbclient -U 用户名 //服务器地址/共享名
[root@desktop0 ~]# smbclient -L 172.25.0.11
Enter root’s password:

Sharename       Type      Comment
---------       ----      -------
common          Disk  

[root@desktop0 ~]# smbclient -U harry //172.25.0.11/common
Enter harry’s password:
Domain=[STAFF] OS=[Unix] Server=[Samba 4.1.1]
smb: > exit

[root@server0 ~]# pdbedit -x harry #服务端删除harry共享帐号
[root@server0 ~]# pdbedit -a harry #需要重起smb服务刷新

######################################################
客户端挂载samba共享

1.安装软件包支持samba共享挂载
[root@desktop0 ~]# yum -y install cifs-utils

2.挂载samba共享
[root@desktop0 ~]# mkdir /mnt/nsd #创建挂载点
[root@desktop0 ~]# mount -o user=harry,pass=456 //172.25.0.11/common /mnt/nsd
[root@desktop0 ~]# df -h #显示正在挂载的设备信息

[root@desktop0 ~]# ls /mnt/nsd/
ls: 正在读取目录/mnt/nsd/: 权限不够

##########################################################
server0服务端: SELinux 服务功能的开启(布尔值)
– 需要加 -P 选项才能实现永久设置

虚拟机Server0服务端
[root@server0 ~]# getsebool -a | grep samba
[root@server0 ~]# setsebool samba_export_all_ro on
[root@server0 ~]# getsebool -a | grep samba
虚拟机Desktop0客户端验证
[root@desktop0 ~]# ls /mnt/nsd/

###################################################
开机自动挂载samba共享目录
_netdev:此设备为网络设备
在开机启动时,先要启动网络服务,在具备IP地址之后在挂载此设备
虚拟机Desktop0客户端自动挂载samba共享目录
[root@desktop0 ~]# vim /etc/fstab
//172.25.0.11/common /mnt/nsd cifs
defaults,user=harry,pass=456,_netdev 0 0
[root@desktop0 ~]# df -h | tail -1 # 显示正在挂载的信息
[root@desktop0 ~]# umount /mnt/nsd #卸载samba共享目录
[root@desktop0 ~]# df -h #查看是否卸载成功
[root@desktop0 ~]# mount -a #检测/etc/fstab文件书写内容
[root@desktop0 ~]# df -h #查看是否挂载成功

#########################################################
实现读写的samba共享
虚拟机server0:
[root@server0 ~]# mkdir /devops
[root@server0 ~]# touch /devops/123.txt
[root@server0 ~]# ls /devops/

[root@server0 ~]# vim /etc/samba/smb.conf
[devops] #共享名
path = /devops #共享的实际路径
write list = chihiro #通过samba服务本身的访问控制,允许可以写

[root@server0 ~]# systemctl restart smb
2.设置本地权限
[root@server0 ~]# setfacl -m u:chihiro:rwx /devops
[root@server0 ~]# getfacl /devops

3.设置SELinux布尔值
[root@server0 ~]# getsebool -a | grep samba
[root@server0 ~]# setsebool samba_export_all_rw on

虚拟机Desktop0:
mkdir /mnt/dev
mount -o user=chihiro,pass=456 //172.25.0.11/devops /mnt/dev
touch /mnt/dev/1.txt

客户端与服务端访问控制:
1.防火墙
2.服务本身的权限
3.本地权限控制
4.SELinux控制

#######################################################
multiuser机制(专为客户端的普通用户访问Samba共享)
为客户端的普通用户,提供切换身份的作用
虚拟机desktop0
[root@desktop0 /]# umount /mnt/dev
[root@desktop0 /]# mount -o user=kenji,pass=456,multiuser,sec=ntlmssp //172.25.0.11/devops /mnt/dev/
[root@desktop0 /]# su - student
[student@desktop0 ~]$ cifscreds add -u chihiro 172.25.0.11
Password:
[student@desktop0 ~]$ touch /mnt/dev/a.txt
[student@desktop0 ~]$ exit

#########################################################
配置NFS共享(Linux与Linux平台之间)
NFS共享概述
• Network File System,网络文件系统
– 用途:为客户机提供共享使用的文件夹
– 协议:NFS(TCP/UDP 2049)、RPC(TCP/UDP 111)
• 所需软件包:nfs-utils
• 系统服务:nfs-server

虚拟Server0:
1.安装nfs-utils
[root@server0 ~]# rpm -q nfs-utils
nfs-utils-1.3.0-0.el7.x86_64

2.配置nfs-server服务,修改配置文件/etc/exports
[root@server0 ~]# mkdir /public
[root@server0 ~]# touch /public/nfs.txt
[root@server0 ~]# ls /public/
[root@server0 ~]# vim /etc/exports
/public *(ro) #共享目录为/public允许所有人只读访问

3.重起nfs-server服务,设置开机自起动
[root@server0 ~]# systemctl restart nfs-server
[root@server0 ~]# systemctl enable nfs-server

虚拟机Desktop0:
[root@desktop0 /]# showmount -e 172.25.0.11 #显示有那些nfs共享
Export list for 172.25.0.11:
/public *
[root@desktop0 /]# mkdir /mnt/pub
[root@desktop0 /]# mount 172.25.0.11:/public /mnt/pub
[root@desktop0 /]# df -h
[root@desktop0 /]# ls /mnt/pub
[root@desktop0 /]# vim /etc/fstab
172.25.0.11:/public /mnt/pub nfs defaults,_netdev 0 0

[root@desktop0 /]# umount /mnt/pub/
[root@desktop0 /]# df -h
[root@desktop0 /]# mount -a
[root@desktop0 /]# df -h

##########################################################
管理交换空间
什么是交换空间
• 相当于虚拟内存,
– 当物理内存不够用时,使用磁盘空间来模拟内存
– 在一定程度上缓解内存不足的问题
– 交换分区:以空闲分区充当的交换空间
划分分区:
fdisk 只支持MBR
parted 支持MBR和GPT GPT分区模式 最多128个主分区

[root@server0 ~]# parted /dev/vdb
(parted) mktable gpt #指定分区模式或分区表
(parted) print
(parted) mkpart #划分新的分区
分区名称? []? haha #分区的名字
文件系统类型? [ext2]? #文件系统直接回车
起始点? 0
结束点? 2G
忽略/Ignore/放弃/Cancel? Ignore

(parted) mkpart
分区名称? []? haha
文件系统类型? [ext2]?
起始点? 2G
结束点? 4G
(parted) unit GB
(parted) print
(parted) quit

[root@server0 ~]# lsblk
将提供的设备按 swap 类型进行格式化
– mkswap 空闲分区或文件设备

[root@server0 ~]# mkswap /dev/vdb1 #格式化交换文件系统
[root@server0 ~]# mkswap /dev/vdb2
[root@server0 ~]# blkid /dev/vdb1 #查看设备文件系统类型
[root@server0 ~]# blkid /dev/vdb2
[root@server0 ~]# swapon -s #查看交换空间组成的成员
[root@server0 ~]# swapon /dev/vdb1 #启动/dev/vdb1交换分区
[root@server0 ~]# swapon -s #查看交换空间组成的成员
[root@server0 ~]# swapon /dev/vdb2 #启动/dev/vdb2交换分区
[root@server0 ~]# swapon -s #查看交换空间组成的成员
[root@server0 ~]# swapoff /dev/vdb2 #停用/dev/vdb2交换分区
[root@server0 ~]# swapon -s #查看交换空间组成的成员

实现开机自动启用swap交换分区
[root@server0 ~]# vim /etc/fstab
/dev/vdb1 swap swap defaults 0 0
/dev/vdb2 swap swap defaults 0 0

[root@server0 ~]# swapon -s
[root@server0 ~]# swapoff /dev/vdb1
[root@server0 ~]# swapoff /dev/vdb2
[root@server0 ~]# swapon -s

[root@server0 ~]# swapon -a #测试/etc/fstab内容中swap分区
[root@server0 ~]# swapon -s

##########################################################
Sticky Bit
• 附加在其他人的 x 位上
– 其他人的权限标识会变为 t
– 适用于开放 w 权限的目录,可以阻止用户滥用 w 写入
权限(禁止操作别人的文档)
[root@server0 ~]# mkdir /nsd1712
[root@server0 ~]# chmod u=rwx,g=rwx,o=rwx /nsd1712
[root@server0 ~]# ls -ld /nsd1712
[root@server0 ~]# chmod o+t /nsd1712
[root@server0 ~]# ls -ld /nsd1712

Set UID
• 附加在属主的 x 位上
– 属主的权限标识会变为 s
– 适用于可执行文件,Set UID可以让使用者具有文件属主的身份及部分权限
– 传递所有者身份

[root@server0 ~]# cp /bin/mkdir /bin/hahadir
[root@server0 ~]# ls -l /bin/mkdir
[root@server0 ~]# ls -l /bin/hahadir
[root@server0 ~]# chmod u+s /bin/hahadir
[root@server0 ~]# ls -l /bin/hahadir
[root@server0 ~]# su - student
[student@server0 ~]$ /bin/mkdir abc01
[student@server0 ~]$ /bin/hahadir abc02
[student@server0 ~]$ ls -ld abc01 abc02
[student@server0 ~]$ exit

猜你喜欢

转载自blog.csdn.net/qq_41703438/article/details/88563440