linux-基础篇6(lvm、ftp、selinux)

lvm

pv	##物理卷
	被lv命令处理过的物理分区
vg	##物理卷组
	被组装到一起的物理卷
pe	##物理扩展
	lvm设备的最小单元,lvm是pe的整数倍
lvm	##逻辑卷
	直接使用的设备,可以增大缩减并保持原有数据不变
##lvm建立##
1.分区并指定标签为8e

在这里插入图片描述

watch -n 1 'pvs;echo===;vgs;echo===;lvs;echo===;df -h /mnt'	##另起终端动态查看lvm建立过程
pvcreate /dev/vdb1		##初始化分区,使其作为物理卷与lvm结合使用

在这里插入图片描述

vgcreate vg0 /dev/vdb1		##创建物理卷组vg0,并将物理卷添加到卷组

在这里插入图片描述

lvcreate -L 20M -n lv0 vg0	##创建逻辑卷lv0,并将物理卷组添加到逻辑卷中

在这里插入图片描述

mkfs.xfs /dev/vg0/lv0		##格式化逻辑卷,使其能挂载
mount /dev/vg0/lv0 /mnt		##挂载
df -h /mnt			##显示已挂载的逻辑卷容量

在这里插入图片描述

##lvm拉伸
lvm支持热拉伸(xfs文件系统支持热拉伸但不支持缩减;ext文件系统支持热拉伸也支持缩减,但不支持热缩减。)
1.当vg中的剩余容量充足时
lvextend -L 80M /dev/vg0/lv0		##拉伸设备
xfs_growfs	/dev/vg0/lv0		##拉伸文件系统

在这里插入图片描述

2.当vg中剩余容量不足时
再次建立分区并指定标签为8e

在这里插入图片描述

pvcreate /dev/vdb2

在这里插入图片描述

vgextend vg0 /dev/vdb2			##拉伸物理卷组

在这里插入图片描述

lvextend -L 200M /dev/vg0/lv0

在这里插入图片描述

xfs_growfs /dev/vg0/lv0

在这里插入图片描述

3.针对ext文件系统的设备的拉伸和缩减
umount /mnt
mkfs.ext4 /dev/vg0/lv0			##创建ext4文件系统

在这里插入图片描述

mount /dev/vg0/lv0 /mnt

在这里插入图片描述

##拉伸
lvextend -L 250M /dev/vg0/lv0		##拉伸设备
resize2fs /dev/vg0/lv0			##拉伸文件系统

在这里插入图片描述

##缩减
umount /dev/vg0/lv0			##需卸载设备
e2fsck -f /dev/vg0/lv0			##检查文件系统
[root@localhost ~]# e2fsck -f /dev/vg0/lv0
e2fsck 1.42.9 (28-Dec-2013)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/vg0/lv0: 11/26624 files (0.0% non-contiguous), 9013/102400 blocks

在这里插入图片描述

resize2fs /dev/vg0/lv0 100M		##先拉伸文件系统
lvreduce -L 100M /dev/vg0/lv0		##再拉伸设备

在这里插入图片描述

mount /dev/vg0/lv0 /mnt

在这里插入图片描述

##缩减vg
vgreduce vg0 /dev/vdb2		##vdb2的内存不被占用才能缩减
vgextend vg0 /dev/vdb2
##数据迁移
pvmove /dev/vdb1 /dev/vdb2

在这里插入图片描述

vgreduce vg0 /dev/vdb1
pvremove /dev/vdb1

在这里插入图片描述

pvremove /dev/vdb1

在这里插入图片描述

##lvm快照
umount /mnt
lvcreate -L 40M -n lv0-backup -s /dev/vg0/lv0
mount /dev/vg0/lv0-backup /mnt

在这里插入图片描述

如果截取数据大于40M,会损坏设备
dd if=/dev/zero of=/mnt/file bs=1M count=60
会自动卸载掉lv0-backup,再次挂载会报错

在这里插入图片描述

lvremove /dev/vg0/lv0-backup

在这里插入图片描述

lvcreate -L 40M -n lv0-backup -s /dev/vg0/lv0	##相当于设备的reset
再次挂载可以查看到原设备的数据

在这里插入图片描述

ftp

1.ftp启用
yum install -y vsftpd

在这里插入图片描述

systemctl start vsftpd
systemctl enable vsftpd

在这里插入图片描述

2.ftp基本信息
访问数据的端口:21
数据传输端口:>1024的随机端口

默认发布目录:/var/ftp
访问方式
	lftp 172.25.254.226		##匿名用户登录
	lftp 172.25.254.226 -u student	##本地用户登录

配置文件:
	/etc/vsftpd/vsftpd.conf
3.ftp的安全部署
500报错:权限过大
530报错:认证失败
550报错:服务本身不允许
553报错:文件系统权限过小
匿名用户上传
chmod 775 /var/ftp/pub
chgrp ftp /var/ftp/pub

在这里插入图片描述

vim /etc/vsftpd/vsftpd.conf
anon_upload_enable=YES

在这里插入图片描述

yum install -y lftp	##需要下载lftpd服务

在这里插入图片描述

vim /etc/sysconfig/selinux
SELINUX=disabled	##关闭内核防火墙,配置完后需重启虚拟机

在这里插入图片描述
测试:
在这里插入图片描述

匿名用户下载
anon_world_readable_only=NO

在这里插入图片描述
测试:
在这里插入图片描述

匿名用户建立目录
anon_mkdir_write_enable=YES

在这里插入图片描述
测试:
在这里插入图片描述

匿名用户删除和重命名
anon_other_write_enable=YES

在这里插入图片描述
测试:
在这里插入图片描述

匿名用户家目录修改
anon_root=/westos

在这里插入图片描述
测试:
在这里插入图片描述

匿名用户默认上传文件权限修改
anon_umask=xxx	

在这里插入图片描述
测试:
在这里插入图片描述

匿名用户使用的用户身份修改
chown_uploads=YES
chown_username=student

在这里插入图片描述
测试:
在这里插入图片描述

最大上传速率
anon_max_rate=102400 单位:字节	##平均速率不超过100kb/s
dd if=/dev/zero of=/mnt/bigfile bs=1M count=2000

在这里插入图片描述
测试:
在这里插入图片描述

最大链接个数
max_clients=5
本地用户家目录修改
local_root=/westos

在这里插入图片描述
测试:
在这里插入图片描述

本地用户上传文件权限
local_umask=xxx

在这里插入图片描述
测试:
在这里插入图片描述

限制本地用户浏览根目录
chroot_local_user=YES		##此参数要求去掉自己对家目录的写权限
chmod u-w /home/*

在这里插入图片描述
测试:
在这里插入图片描述

#用户黑名单建立
chroot_local_user=NO		##开启黑名单
chroot_list_enable=YES		##黑名单有效
chroot_list_file=/etc/vsftpd/chroot_list

在这里插入图片描述
测试:
在这里插入图片描述

用户白名单建立
chroot_local_user=YES		##开启白名单
chroot_list_enable=YES		##白名单有效
chroot_list_file=/etc/vsftpd/chroot_list

在这里插入图片描述
测试:
在这里插入图片描述

#限制本地用户登录
vim /etc/vsftpd/ftpusers	##永久黑名单

测试:
在这里插入图片描述
在这里插入图片描述

vim /etc/vsftpd/user_list	##临时黑名单

测试:
在这里插入图片描述
在这里插入图片描述

用户白名单
userlist_deny=NO
/etc/vsftpd/user_list		##此参数设定,此文件变成用户白名单,名单中出现的用户可以登录ftp

在这里插入图片描述
测试:
在这里插入图片描述
在这里插入图片描述

ftp虚拟用户的设定
vim /etc/vsftpd/westos		##文件名称任意
user1		##账户名
111		##密码
user2
222

在这里插入图片描述

db_load -T -t hash -f /etc/vsftpd/westos /etc/vsftpd/westos.db	##加密虚拟用户

在这里插入图片描述

vim /etc/pam.d/westos		##文件名称任意
account         required        pam_userdb.so   db=/etc/vsftpd/westos
auth            required        pam_userdb.so   db=/etc/vsftpd/westos

在这里插入图片描述

vim /etc/vsftpd/vsftpd.conf 
pam_service_name=westos		##参数为创建的文件名
guest_enable=YES		##允许虚拟用户登录

在这里插入图片描述
测试:
在这里插入图片描述

虚拟用户身份指定
guest_username=redhat

在这里插入图片描述
测试:
在这里插入图片描述

虚拟用户家目录独立设定
vim /etc/vsftpd/vsftpd.conf
local_root=/ftphome/$USER
user_sub_token=$USER

在这里插入图片描述

mkdir -p /ftphome/user1/user1dir
mkdir -p /ftphome/user2/user2dir

测试:
在这里插入图片描述

虚拟用户独立配置
chgrp ftp /ftphome -R			##改变目录及其内的目录的用户组
chmod 775 /ftphome/user1/user1dir	##修改权限
chmod 775 /ftphome/user2/user2dir

在这里插入图片描述

vim /etc/vsftpd/vsftpd.conf
user_config_dir=/etc/vsftpd/userconf	##设置用户的配置目录
mkdir -p /etc/vsftpd/userconf		##建立用户配置目录

在这里插入图片描述

vim /etc/vsftpd/userconf/user1		##建立用户的配置文件
举例:anon_upload_enable=YES

在这里插入图片描述
测试:
在这里插入图片描述

selinux

touch /mnt/westos			##建立共享目录
mv /mnt/westos /var/ftp			##共享到默认发布目录
ls -Z /var/ftp				##查看目录的信息
ps auxZ | grep vsftpd			##查看相关服务的所有进程信息

在这里插入图片描述

chmod u+w /home/student		##将student目录权限修改回用户可写
lftp 172.25.254.126 -u student		##可以上传,也可删除

在这里插入图片描述

disabled --> enforcing			##开启selinux

在这里插入图片描述

touch /mnt/westos1
mv /mnt/westos1 /var/ftp
ls -Z /var/ftp
ps auxZ | grep vsftpd

在这里插入图片描述
测试:
在这里插入图片描述

setenforce 0				##切换selinux状态为警告(可以上传,也可删除)
permissive

在这里插入图片描述

cat /var/log/audit/audit.log		##查看有安全上下文的所有文件和目录

在这里插入图片描述

修改安全上下文
chcon -t public_content_t /var/ftp/westos1	##临时的

在这里插入图片描述

对目录
mkdir /westos
touch /westos/westosfile{1..5}
ls -Zd /westos

在这里插入图片描述

vim /etc/vsftpd/vsftpd.conf
anon_root=/westos

在这里插入图片描述

lftp 172.25.254.126	##不能访问
setenforce 0

在这里插入图片描述

chcon -t public_content_t /westos -R
ls -Zd /westos

在这里插入图片描述

#把selinux重启一次,即disabled --> enforcing,将安全上下文又变回default_t

在这里插入图片描述

semanage fcontext -l | grep /var/ftp
semanage fcontext -l | grep /westos

在这里插入图片描述

semanage fcontext -a -t public_content_t /westos
semanage fcontext -l | grep /westos		##只改变了westos目录的安全上下文
restorecon -RvvF /westos			##加载出目录及其文件的安全上下文

在这里插入图片描述

semanage fcontext -d -t public_content_t /westos	
rm -fr /westos
mkdir /westos
touch /westos/file{1..5}

在这里插入图片描述

semanage fcontext -a -t public_content_t '/westos(/.*)?'	##目录及其文件均配置安全上下文
restorecon -RvvF /westos

在这里插入图片描述

getsebool -a | grep ftp
ftp_home_dir --> off

在这里插入图片描述

setsebool -P ftp_home_dir on			##本地用户可以写,可以删除

在这里插入图片描述
测试:
在这里插入图片描述

vim /var/log/messages		##selinux排错
*****  Plugin catchall_boolean (47.5 confidence) suggests   ******************

If you want to allow ftp to home dir
Then you must tell SELinux about this by enabling the 'ftp_home_dir' boolean.

Do
setsebool -P ftp_home_dir 1
*****  Plugin catchall_boolean (47.5 confidence) suggests   ******************

If you want to allow ftpd to full access
Then you must tell SELinux about this by enabling the 'ftpd_full_access' boolean.

Do
setsebool -P ftpd_full_access 1
*****  Plugin catchall (6.38 confidence) suggests   **************************

If you believe that vsftpd should be allowed create access on the  file by default.
Then you should report this as a bug.
You can generate a local policy module to allow this access.
Do
allow this access for now by executing:
grep vsftpd /var/log/audit/audit.log | audit2allow -M mypol
semodule -i mypol.pp

在这里插入图片描述

rpm -qa | grep setroubleshoot			##排错服务
setroubleshoot-server-3.2.17-2.el7.x86_64
setroubleshoot-3.2.17-2.el7.x86_64
setroubleshoot-plugins-3.0.59-1.el7.noarch

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值