####磁盘加密保护#### ##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 /mntmdadm -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格式的安全上下文 如果程序要访问不符合安全上下文的文件,是被拒绝的