设备--文件系统--文件--加密
将加密破坏后仍可以查看文件中的信息,安全性较差
设备--加密--文件系统--文件
将加密破坏后,里面的内容仍然是加密文件,安全性较好
####创建新的分区####
当所有分区都在被使用,并且无磁盘时,可以分割出一个分区暂时使用:
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)
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格式的安全上下文
如果程序要访问不符合安全上下文的文件,是被拒绝的