linux学习笔记(七)

这篇博客详细介绍了如何在Linux系统中配置FTP服务器,包括创建和管理RAID、设置VSFTPD服务、调整SELinux策略以及匿名和本地用户访问权限的配置,确保FTP服务的安全和稳定运行。
###加密方式###
设备--文件系统--文件--加密
将加密破坏后仍可以查看文件中的信息,安全性较差
设备--加密--文件系统--文件
将加密破坏后,里面的内容仍然是加密文件,安全性较好

####创建新的分区####
当所有分区都在被使用,并且无磁盘时,可以分割出一个分区暂时使用:
dd if=/dev/zero of=/swapfile bs=1M count=1000     ##从根下截取1000M的剩余空间
/dev/zero 无限零字节,里面没有数据,但可以当作数据块
du -sh /swapfile
mkswap /swapfile             ##格式化
swapon -a /swapfile          ##激活新交换区
swapon -s                    ##显示当前交换区的状态
chmod 600 /swapfile
先挂载设备,再修改权限
blkid           ##显示系统正在使用的设备id



####磁盘加密保护####
##LUKS(linux统一密钥设置)是标准的设备加密格式
##LUKS可以对分区或卷进行加密

fdisk /dev/vdb        ##新建vdb1分区
partprobe
cryptsetup luksFormat /dev/vdb1  ##对vdb1加密,并设置解密密码
mount /dev/vdb1 /mnt/     ##挂载mnt
mount:unknow filesystem type 'crypto_LUKS'  ##挂载失败
crypsetup open /dev/vdb1 westos   ##输入密码后,会将加密的卷/dev/vdb1 解锁为 /dev/mapper/westos
Enter passphrase for /dev/vdb1:   ##输入密码
ll /dev/mapper/westos         ##查看
mkfs.xfs /dev/mapper/westos     ##解密的卷上创建xfs文件系统
mount /dev/mapper/westos /mnt   ##创建挂载点,并挂载mnt
touch /mnt/file{1..3}           
ls /mnt/                       ##查看
umount /mnt
cryptsetup close westos       ##锁定加密的卷
ls /mnt/             ##查看,但是看不到文件
ll /dev/mapper/
mount /dev/vdb1 /mnt/      ##挂载,显示挂载失败

##必须首先对加密的文件进行解密,才能挂载其中的文件系统


删除现有文件系统
1.通过使用umount /mountpoint卸载文件系统。
2.在/etc/fstab中删除相应条目
3.删除挂载点目录:rmdir /mountpoint

开机自启动挂载;
vim /root/passwdfile         ##解密所需的密码文件
##########################
2017westos
##########################
chmod 600 /root/passwdfile    ##设定密码文件的权限
cryptsetup luksAddKey /dev/vdb1 /root/passwdfile    ##关联密码文件
vim /etc/crypttab
######################################
date  /dev/vdb1  /root/passwdfile      ##将设备解密为/dev/mapper/date
######################################                 
vim /etc/rc.d/rc.local             ##设置开机自动挂载
##################################            
mount   /dev/mapper/date    /mnt
##################################
chmod +x /etc/rc.d/rc.local        ##给予文件可执行权限

reboot



关闭开机自动挂载:
umount /mnt/
vim /etc/rc.d/rc.local
vim /etc/crypttab
rm -fr /root/passwdfile
cryptsetup close date

mkfs.xfs /dev/vdb1 -f



##创建raid分区##
监控命令:watch -n 1 cat /proc/mdstat
1:两块硬盘同时写一个设备       
5:0+1

0:两块硬盘同时读一个设备


fdisk /dev/vdb   ##新建三个分区vdb1,2,3,并将类型改为raid(fd)

partprobe        ##刷新
fdisk -l         ##显示系统中所有可以使用的设备信息
mdadm -C /dev/md0 -a yes -l 1 -n 2 -x 1 /dev/vdb{1..3}   ##建立raid卡
-a:/dev/md0不存在时自动创建
-l 1:level等级为1
-n 2:运行两块分区
-x 1:闲置一块分区
mkfs.xfs /dev/md0          
mount /dev/md0 /mnt

mdadm -D /dev/md0        ##查看raid卡信息



##raid分区管理##
mdadm -f /dev/md0 /dev/vdb1       ##手动破坏一个设备
mdadm -r /dev/md0 /dev/vdb1       ##拔除坏的设备,当只剩余一个分区时,不能使用-r

mdadm -a /dev/md0 /dev/vdb1       ##添加一个设备



##关闭raid分区##
1.umount /mnt
2.mdadm -S /dev/md0         ##停止设备,停止前/md0上不能有挂载
3.rm -fr /dev/md0           ##删除设备
4.fdisk /dev/vdb            ## 删除分区
5.partprobe                 ##重启分区表
               
设置用户磁盘额度:
fdisk /dev/vdb
mkfs.xfs -f /dev/vdb1
mkdir /pub
mount - o usrquota,grpquota /dev/vdb1 /pub    ##挂载时具有设备的配额功能
chmod 1777 /pub                               ##先挂载后修改权限
partprobe
quotaon -ugv /dev/vdb1                        ##查看是否设置了用户配额
edquota -u student                            ##给指定用户配额
su - student
dd if=/dev/zero of=/pub/file bs=1M count=50

更改/etc/fstab文件内容时出错会导致系统无法正常开启
inodes:文件个数

##LVM定义##
物理分区或磁盘是LVM的第一构建块。这些可以是分区、完整磁盘、RAID集或SAN磁盘
物理卷是LVM所使用的基础“物理”储存。这通常是块设备,例如分区或完整磁盘。设备必须初始化为LVM物理卷,才能与LVM结合使用
卷组是存储池,由一个或多个物理卷组成
物理区块是物理卷中存储的小型数据区块,用作LVM存储的后端
逻辑区块映射到物理区块,构成LVM存储的前端。默认情况下,每个逻辑区块映射到一个物理区块。启用某些选项将更改此映射。例如,镜像会导致每个逻辑区块映射到两个物理区块
逻辑卷是逻辑区块组。逻辑卷可以像硬盘驱动器分区一样使用

##逻辑卷##
逻辑卷和逻辑卷管理有助于更加轻松地管理磁盘空间。如果文件系统需要更多的空间,可以将其卷组的可用空间分配给逻辑卷,并且可以调整文件系统的大小。如果磁盘开始出现错误,可以通过卷组将替换磁盘注册为物理卷,并且逻辑卷的范围可迁移到新磁盘。

####LVM####
监控命令:watch -n 1 'echo === pvinfo===;pvs;echo ===vginfo===;vgs;echo ===lvinfo===;lvs;echo ===;df -h /data'
disk ##用于创建与LVM结合使用的新分区
pvcreate /dev/vdb1       ##初始化分区,将其作为物理卷与LVM结合使用
vgcreate vg0 /dev/vdb1   ##创建名为vg0且由物理卷/dev/vdb1组成的卷组
vgdisplay                ##显示逻辑卷信息
lvcreate -L 500M -n lv0 vg0     ##从vg0上创建名为lv0,容量为500M的新逻辑卷
mkfs.xfs /dev/vg0/lv0           ##格式化
lvextend -L 1G /dev/vg0/lv0 ##拉伸逻辑卷
##当拉伸的分区过大时,会报错
vgextend vg0 /dev/vdb2          ##把新的逻辑卷添加到组中
xfs文件系统只支持拉伸,不支持缩减
lvextend         ##拉伸文件
xfs_growfs       ##拉伸文件系统

如果组里空间足够,可以拉伸,如果不够,必须添加新的设备,然后拉伸



##缩减lLVM##
xfs文件系统不能够缩减,exfs文件系统可以缩减
umount /dev/vg0/lv0
mkfs.exfs /dev/vg0/lv0
e2fsck -f /dev/vg0/lv0      ##检测能否缩减
resize2fs /dev/vg0/lv0 500M       ##缩减文件系统
lvreduce -L 500M /dev/vg0/lv0     ##缩减lvm大小
mount /dev/vg0/lv0  /data/
pvmove /dev/vdb1 /dev/vdb2        ##将vdb2的内容传到vdb1上
vgcreduce vg0 /dev/vdb1           ##将/dev/vdb1从逻辑组vg0删除
pvremove /dev/vdb1

##在缩减时,要先缩减文件系统,再缩减逻辑卷,否则会导致文件系统不能被挂载




lvm快照
ivcreate -L 20M -n lv0-snap -s /dev/vg0/lv0
20M:修改内容存储大小
-n:快照名称
-s:母盘
mount /dev/vg0/lv0-snap /data
rm -fr /data/*
umount /data/
lvremove /dev/vg0/lv0-snap         ##删除快照
lvcreate -L 20M lv0-snap -s /dev/vg0/lv0
mount /dev/vg0/lv0-snap /data/
ls /data/

##############配属FTP服务器##############
FTP是一种网络协议,它为系统提供了通过网络与远程服务进行传输的简单方法
默认配置文件让用户只能下载位于CHROOT目录中的内容。/var/ftp意味着远程FTP客户端能够连接到服务器(无需密码),并从ftp服务器上的/var/ftp/目录下载文件

nm-connection-editor配置ip
vim /etc/yum.repos.d/rhel_dvd.repo   配置yum源
hostnamectl set-hostname 修改主机名 ,重启shell
yum install vsftpd -y
systemctl start vsftpd
touch /var/ftp/westos
systemctl stop firewalld.service
systemctl disable firewalld     ##防火墙不自启动
systemctl enable vsftpd         ##开机自启动
检测:ftp://172.25.254.120

临时设定selinux
setenforce 0   警告
           1   强制关闭

永久设定selinux
vim /etc/sysconfig/selinux
7 SELINUX=disabled  
reboot
getenforce  显示为disable则为更改成功

550:服务不允许
553:本地文件系统权限不允许
530 密码,没有重启服务,selinux
    黑名单(/etc/vsftpd/ftpusers/etc/vsftp/user_list)
##vsftpd文件信息##
/var/ftp        ##默认发布目录
/etc/vsftpd        ##配置目录

####vsftpd服务的配置参数####
###一:匿名用户设定###
12  anonymous_enable=YES|NO        ##匿名用户登陆限制

##1.<匿名用户上传>##
vim /etc/vsftpd/vsftpd.conf
19  write_enable=YES
30  anon_upload_enable=YES
chgrp ftp /var/ftp/pub
chmod 775 /var/ftp/pub

##2.<匿名用户家目录修改>##
34  anon_root=/direcotry

##3.<匿名用户上传文件默认权限修改>##
23  anon_umask=xxx

##4.<匿名用户建立目录>##
38  anon_mkdir_write_enable=YES|NO

##5.<匿名用户下载>##
31  anon_world_readable_only=YES|NO ##设定参数值为no表示匿名用户可以下载

##6.<匿名用户删除>(文件,目录,重命名)##
32  anon_other_write_enable=YES|NO    
anon_world_readable_only优先级高于权限
当anon_world_readable_only=YES时,文件权限中有r,也可以下载

##7.<匿名用户使用的用户身份修改>##
53  chown_uploads=YES
54  chown_username=student

##8.<最大上传速率>##
55  anon_max_rate=102400

##9.<最大链接数>##
56  max_clients=2

###二:本地用户设定###
16  local_enable=YES|NO        ##本地用户登陆限制
19  write_enable=YES|NO        ##本地用户写权限限制(匿名用户的写权限野兽此限制
默认配置为匿名FTP服务器,仅允许匿名客户端下载,并且禁用所有本地用户,禁止上传
lftp 172.25.254.120 -u student   ##以student的身份登陆

##1.<本地用户家目录修改>###
24  local_root=/directory

##2.<本地用户上传文件权限>##
23  local_umask=xxx

##3.<限制本地用户浏览/目录>##
所有用户被锁定到自己的家目录中
107  chroot_local_user=YES    ##必须把用户改为已经存在的用户##
chmod u-w /home/*       ##把写的权限拿掉,系统会自动拒绝本地用户的所有请求

##4.用户黑名单建立##
107  chroot_local_user=NO
108  chroot_list_enable=YES
110  chroot_list_file=/etc/vsftpd/chroot_list
vim /etc/vsftpd/chroot_list

##5.用户白名单建立##
107  chroot_local_user=YES
108  chroot_list_enable=YES
110  chroot_list_file=/etc/vsftpd/chroot_list
vim /etc/vsftpd/chroot_list

##6.限制本地用户登陆##
vim /etc/vsftpd/ftpusers        ##用户黑名单
vim /etc/vsftpd/user_list        ##用户临时黑名单

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

####<ftp虚拟用户的设定>####
##创建虚拟帐号身份##
vim /etc/vsftpd/loginusers    ##文件名称任意
ftpuser1
123
ftpuser2
123
ftpuser3
123

##加密##
db_load -T -t hash -f /etc/vsftpd/loginusers loginusers.db

##关联密码文件和vsftp##
vim /etc/pam.d/ckvsftpd        ##文件名称任意
account        required    pam_userdb.so    db=/etc/vsftpd/loginusers
auth        required    pam_userdb.so    db=/etc/vsftpd/loginusers

vim /etc/vsftpd/vsftpd.conf
pam_service_name=ckvsftpd
guest_enable=YES

虚拟帐号身份指定)
guest_username=ftpuser
chmod u-w /home/ftpuser

虚拟帐号家目录独立设定)
vim /etc/vsftpd/vsftpd.conf
local_root=/ftpuserhome/$USER
user_sub_token=$USER

mkdir /ftpuserhome
chgrp ftpuser /ftpuserhome
chmod g+s /ftpuserhome
mkdir /ftpuserhome/ftpuser{1..3}


虚拟帐号配置独立)
vim /etc/vsftpd/vsftpd.conf
user_config_dir=/etc/vsftpd/userconf
mkdir -p /etc/vsftpd/userconf

vim /etc/vsftpd/userconf/ftpuser1
在此文件中设定配置文件中的所有参数,此文件的优先级搞


ftpd_t只能符合public_content_t格式的安全上下文
如果程序要访问不符合安全上下文的文件,是被拒绝的


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值