pv 物理卷
被lv命令处理过的物理分区
vg 物理卷组
被组装到一起的物理卷
pe 物理扩展
lvm设备的最小单元,lvm是pe的整数倍
lvm 逻辑卷
直接使用的设备,可以增大缩减并保持原有的数据不变
1.分区并指定标签为8e
pvcreate /dev/vdb8
vgcreate /vg0 /dev/vdb8
lvcreate -L 20M -n lv0 vg0
mkfs.xfs /dev/vg0/lv0 /mnt
mount /dev/vg0/lv0 /mnt
df -h /mnt
改变已有分区8的标签为8e,建立物理卷,物理卷组和逻辑卷
建立完成后需挂载下面的文件系统才能看到vdb8文件系统的大小,下图中没有进行挂载
lvm支持热拉伸
1.当vg中的剩余容量充足时
lvextend -L 80M /dev/vg0/lv0 拉伸设备
xfs_growfs /dev/vg0/lv0 拉伸文件系统
拉伸文件系统时需进行挂载,下图中由于没有挂载,出现报错,挂载后即可
2.当vg中剩余容量不足时
再次建立分区并指定标签为8e
pvcreate /dev/vdb9
vgextend vg0 /dev/vdb9 拉伸物理卷组
lvextend -L 100M /dev/vg0/lv0
xfs_growfs /dev/vg0/lv0
建立新分区9并将分区的标签改为8e
创建vdb9的物理卷,拉伸物理卷组,拉伸逻辑卷和文件系统
3.针对ext文件系统的设备的拉伸和缩减
umount /mnt
mkfs.ext4 /dev/vg0/lv0
mount /dev/vg0/lv0 /mnt
lvextend -L 250M /dev/vg0/lv0
resize2fs /dev/vg0/lv0
对文件系统进行250M的拉伸,由于lvm是pe的整数倍,本机的pe为4,所以实际显示的lvm的大小为252。可通过pvdisplay查看pe的大小
缩减
umount /dev/vg0/lv0
e2fsck -f /dev/vg0/lv0
resize2fs /dev/vg0/lv0 100M
lvreduce -L 100M /dev/vg0/lv0
mount /dev/vg0/lv0 /mnt
缩减前要取消挂载,缩减可能会摧毁数据,所以在缩减时会出现警告,输入y即可继续
vgreduce vg0 /dev/vdb9
vgextend vg0 /dev/vdb9
因为vdb9之前时有4MB的数据是在用的,所以在缩减vg之前要先给逻辑卷进行缩减
缩减后vdb9就不属于vg0这个逻辑卷组了
扩展后vdb9再次属于vg0这个组
数据的迁移
pvmove /dev/vdb8 /dev/vdb9
vgreduce vg0 /dev/vdb8
pvremove /dev/vdb8
lvcreate -L 10M -n lv0-backup -s /dev/vg0/lv0
mount /dev/vg0/lv0-backup /mnt
如果截取数据大于10M ,会损坏设备
dd if=/dev/zero of=/mnt/file bs=1M count=60
会自动卸载掉lv0-backup,再次挂载会报错
umount /mnt
lvremove /dev/vg0/lv0-backup
lvcreate -L 40M -n lv0-backup -s /dev/vg0/lv0 相当于设备的reset
再次挂载可以查看到源设备的数据
1.ftp启用
yum install -y vsftpd
systemctl start vsftpd
systemctl enable vsftpd
设置防火墙
2.ftp基本信息
访问数据的端口:21
数据传输端口目录:大于1024的随机端口
默认发布:/var/ftp
访问方式
lftp 172.25.254.109 匿名用户登录
lftp 172.25.254.109 -u student 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
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 单位:字节
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
vim /etc/vsftpd/westos 文件名称任意
user1
123
user2
123
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=westos
虚拟用户家目录独立设定
vim /etc/vsftpd/vsftpd.conf
local_root=/ftphome/$USER
user_sub_token=$USER
mkdir -p /ftphome/user1/user1dir
mkdir -p /ftphome/user2/user2dir
在配置文件中加入下列信息
创建两个目录后,用lftp查看,虚拟用户家目录设定完成
虚拟用户独立配置
chgrp ftp /ftphome/user1/user1dir
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/vsftd/userconf/user1
举例:anon_upload_enable=YES
touch /mnt/westos
mv /mnt/westos /var/ftp
ls -Z /var/ftp
pa auZ | grep vsftpd
lftp 172.25.254.109 -u student 可以上传,可以删除
disabled --> enforcing
touch /mnt/westos1
mv /mnt/westos1 /var/ftp
ls -Z /var/ftp
pa auZ | grep vsftpd
改变selinux为enforcing,本地用户就不能上传和删除
setenforce 0
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/vstpd/vsftpd.conf
anon_root=/westos
lftp 172.25.254.109 不能访问
setenforce 0
chcon -t public_content_t /westos -R
ls -Zd /westos
把selinux重启一次,安全上下文又变回default_t
semanage fcontext -l | grep /var/ftp
semanage fcontext -l | grep /westos
semanage fcontext -a -t public_content_t /wetos
semanage fcontext -l | grep /westos 只改变westos目录的安全上下文
restorecon -RvvF /westos
semanage fcontext -d -t public_content_t /wetos
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
本地用户可以写,可是删除
selinux报错
***** Plugin catchall_boolean (57.6 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.
You can read 'None' man page for more details.
Do
setsebool -P ftpd_full_access 1
***** Plugin catchall_labels (36.2 confidence) suggests *******************
If you want to allow vsftpd to have getattr access on the file
Then you need to change the label on $FIX_TARGET_PATH
Do
semanage fcontext -a -t FILE_TYPE '$FIX_TARGET_PATH'
Then execute:
restorecon -v '$FIX_TARGET_PATH'
***** Plugin catchall (7.64 confidence) suggests **************************
If you believe that vsftpd should be allowed getattr 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