###########当硬盘被分区占用满的时候,不能分出swap分区,我们可以用创建文件的方式得到一个临时分区#####
dd if=/dev/zero(无限零字节) of=/swap bs=1M conut=1000 ###截取1000块1M的块文件
mkswap /swap ###格式化分区
swapon -a /swap ###开启分区
chmod 660 /swap ###给分区给予建议的权限
swapon -s ###查看分区有没有开启
##########磁盘加密#############
fdisk /dev/vdb ##创建分区
cryptsetun luksFormat /dev/vdb1 ##给设备设置加密层
输入加密密码
mount /dev/vdb1 /mnt
挂载不上 因为设备加密了
cryptsetun open /dev/vdb1 yiyi ##对设备加密进行解密,解密后的文件为为yiyi
输入密码打开加密设备 然后对/dev/mapper/yiyi 进行挂载 卸载等
mkfs.xfs /dev/mapper/yiyi ##格式化分区
mount /dev/mapper/yiyi /mnt
touch /mnt/file{1..5} ##创建文件,我们可以看到
ls /mnt
umount /mnt ##卸载设备之后我们看不到文件
ls /mnt
cryptsetup close /dev/mapper/yiyi ##然后破坏加密层
mount /dev/mapper/yiyi
挂载不上,因为破坏了设备加密层
cryptsetup open 。/dev/vdb1 yiyi ##重新解密就又可以使用了
ls /mnt
如果想取消加密的话我们应该先卸载映射设备 然后破坏加密层 最后再格式化原设备磁盘
########加密文件自动挂载########
vim /root/crypasswd ##创建一个存放密码的文件供读取
yiyibushe ##密码
chmod 600 /root/crypasswd ##给文件只有超级用户的权限
cryptsetup luksAddKey /dev/vdb1 /root/crypasswd ##让设备与被读取密码的文件相关联
输入密码
vim /etc/cryttab
yiyi /dev/vdb1 /root/crypasswd ##拿密码去解密设备
vim /etc/rc.d/rc.local ##开机自动挂载
mount /dev/mapper/yiyi /mnt
chmod +x /etc/rc.d/rc.local ##给文件可执行权限
#########清除自动加密过程#########
umount /mnt
vim /etc/rc.d/rc.local
删除自动挂载命令
vim /etc/cryttab
删除解密指令
rm -fr /root/crypasswd ##删除密码存放文件
cryptsetup close yiyi ##破坏加密
mkfs.xfs /dev/vdb1
fdisk /dev/vdb
partprobe ##同步分区表
#########磁盘阵列##############
raid 1(读取速度加倍) 0(写入速度加倍) 5(结合)
watch -n 1 cat /proc/mdstat ##监视磁盘阵列建立
fdisk /dev/vdb ##建立三块raid分区(大小相同)
mdadm -C /dev/md0 -a yes(如果没有文件自动创建) -l 1(raidleverl) -n 2 (使用两块分区) -x 1 (闲置一块)/dev/vdb{1..3} ##
按y
mkfs.xfs /dev/md0
mount /dev/md /mnt
mdadm -D /dev/md0 ##查看建立的raid
mdadm -f /dev/md0 /dev/vdb1 ##破坏一个磁盘分区
破坏一个后那个闲置的会立刻补上
mdadm -r /dev/md0 /dev/vdb1 ##从raid中删除一个磁盘分区
mdadm -a /dev/md0 /dev/vdb1 ##重新添加一个磁盘分区
umount /mnt
mdadm -S /dev/md0 ##删除raid
rm -fr /dev/md0 ##删除文件
########磁盘配额########
fdisk -l ##创建一个500m的分区
mkfs.xfs /dev/vdb1 -f
mkdir /pub
mount -o usrquota,grpquota /dev/vdb1 /pub ##让设备拥有配额功能
chmod 777 /pub ##再挂载上了再修改权限 因为提前修改权限的话,挂载后会还原
quotaon -ugv /dev/vdb1 ##打开配额功能
edquota -u student ##编辑student用户的配额
Disk quotas for user student (uid 1000):
(所用大小,这是一个事实不能变)
Filesystem blocks soft hard inodes soft hard
/dev/vdb1 102400 0 102400 1 0 0
(最大值) (文件个数) (个数最大值)
su - student
dd if=/dev/zero of=/pub/file bs=1M count=120 ##但是只会截取100M 的大小
du -sh /pub/file
eg:
[student@localhost ~]$ dd if=/dev/zero of=/pub/file bs=1M count=200
dd: error writing ‘/pub/file’: Disk quota exceeded
101+0 records in
100+0 records out
104857600 bytes (105 MB) copied, 0.110932 s, 945 MB/s
在普通用户下直接quota查看配额情况
在超级用户下repquota /dev/vdb1 查看配额情况
quotaoff /dev/vdb1 ##关闭配额功能 关闭之后配额就不被控制了
########磁盘扩展############
pv 物理卷 vg 物理卷组 lvm 逻辑卷管理 pe(物理块)
watch -n 1 'pvs;echo ======;vgs;echo ======;lvs;echo ======;df -h /date' ##监控
fdisk /dev/vdb ##创建两个类型位lvm的分区(8e)
pvcreate /dev/vdb2 ##创建物理卷
vgcreate vg0 /dev/vdb2 ##创建物理卷组位vg0 把/dev/vdb2加入物理卷组
vgdisplay ##显示物理卷组详细信息
vgremove vg0 ##移除物理卷组
vgcreate -s 2M vg0 /dev/vdb2 ##重新创建物理卷组 并指定 pe大小
lvcreate -L 100M -n lv0 vg0 ##创建逻辑卷
mkfs.xfs /dev/vg0/lv0 ##格式化分区
mount /dev/vg0/lv0 /data ##挂载
df
eg: ##磁盘扩展
[root@localhost ~]# lvextend -L 200M /dev/vg0/lv0
Extending logical volume lv0 to 200.00MiB
Logical volume lv0 successfully resized
pvcreate /dev/vdb3
lvextend -L 1000M /dev/vg0/lv0 ##这个时候一个500M的pv不够
vgextend vg0 /dev/vdb3 ##把vdb3也添加到物理卷组中
xfs_growfs /dev/vg0/lv0 ##热拉伸文件系统
####缩减卷#######
umount /dev/vg0/lv0 ##先卸载设备
mkfs.ext4 /dev/vg0/lv0 ##用ext4格式化分区 xfs不能缩减只能扩大
mount /dev/vg0/lv0 /date
df
umount /date
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/31680 files (0.0% non-contiguous), 6465/128000 blocks
resize2fs /dev/vg0/lv0 500M ##缩减文件系统,缩减到500M
mount /dev/vg0/lv0 /date
lvreduce -L 500M /dev/vg0/lv0 ##缩减逻辑卷大小
umount /date
e2fsck -f /dev/vg0/lv0
resize2fs /dev/vg0/lv0 100M
mount /dev/vg0/lv0 /date
lvreduce -L 100M /dev/vg0/lv0
pvmove /dev/vdb1 /dev/vdb2 ##要想移除/dev/vdb1 我们先把vdb1中的数据移动到vdb2中
vgreduce vg0 /dev/vdb1 ##从物理卷组中移除vdb1分区
pvremove /dev/vdb1 ##删除物理卷
vgreduce --removemissing vg0 ##如果不小心没有转数据直接删除了物理卷的话用这个直接移除被损坏的卷
#####lvm快照#########
先在/date下面touchfile{1..10}
然后我们umont /date
lvcreate -L 20M -n yiyi -s /dev/vg0/lv0 ##创建一张快照名字叫做yiyi
然后直接把快照挂载到/date
mount /dev/vg0/yiyi /date
我们会发现我们的数据还在
然后我们rm -fr /date/*
umount /date
先删除刚才的快照
lvremove /dev/vg0/yiyi
然后再创建一张快照
lvcreate -L 20M -n yiyi -s /dev/vg0/lv0
我们会发现原来/date下面的数据还在
##################ftp#################
1.先重置虚拟机
然后设置ip 改主机名配置yum源
2.然后yum install lftp -y ##安装lftp
yum search ftp ##查找ftp
yum install vsftpd.x86_64 -y ##安装ftp服务
systemctl start vsftpd ##开启ftp服务
systemctl status vsftpd
cd /var/ftp/ ##ftp共享的文件位置再/var/ftp下
touch westos ##创建一个测试文件
ls
systemctl stop firewalld.service ##关闭防火墙
systemctl disable firewalld.service ##开机不自启
systemctl enable vsftpd ##开机自启vsftpfuwu
然后打开网页进行测试输入ftp://172.25.254.114
vim /etc/vsftpd/vsftpd.conf ##配置文件
# Allow anonymous FTP? (Beware - allowed by default if you comment thisout).
anonymous_enable=YES ##允许lftp匿名用户登陆
(id ftp)
[root@ftpserver ftp]# id ftp
uid=14(ftp) gid=50(ftp) groups=50(ftp) ##匿名用户
#
# Uncomment this to allow local users to log in.
# When SELinux is enforcing check for SE bool ftp_home_dir
local_enable=YES ##允许本地用户登陆
lftp 172.25.254.114 -u student
#
# Uncomment this to enable any form of FTP write command.
write_enable=YES ##允许本地用户写操作 可以上传和删除
#
做这些操作的时候先把/etc/sysconfig/selinux
SELINUX=disabled
wq
然后重启虚拟机
然后getenforce查看有没有关闭selinux
在虚拟机里面修改vsftpd的配置文件 不让匿名用户登陆 不让本地用户登陆 不让本地用户写入
*************** 每次写入完之后要重新启动
***************
在真机里面lftp 172.25.254.114 ##测试匿名用户
lftp 172.25.254.114 -u student ##测试本地用户
虚拟机里面touch /home/student/file
真机里面测试删除file 写入位NO的话不能删除 写入位yes的时候可以删除
29 anon_upload_enable=YES ##允许匿名用户可写
chgrp ftp /var/ftp/pub
chmod 775 /var/ftp/pub
anon_mkdir_write_enable=YES ##允许匿名用户创建目录
anon_other_write_enable=YES ##允许匿名用户删除
anon_world_readable_only=NO ##允许匿名用户读取创建的文件
anon_upload_enable=YES ##允许匿名用户上传
local_umask=022 ##本地用户权限
local_root=/westos ##本地用户用户家目录为/westos
anon_umask=022 ##修改匿名用户umask码
anon_root=/westos ##修改匿名用户家目录位/westos
chown_uploads=YES ##允许修改匿名用户
chown_username=student ##修改匿名用户上传位student 组不变
anon_max_rate=102400 ##修改匿名用户文件传输速率为102400字节
max_clients=2 ##最大连接数可允许两个用户连接
###本地用户####
本地用户是否可以进出家目录的权限
黑名单
# chroot)
chroot_local_user=NO ##用户可以自由出入家目录
chroot_list_enable=YES ##开启列表功能
# (default follows)
chroot_list_file=/etc/vsftpd/chroot_list ##黑名单
白名单
chroot_local_user=YES ##把用户锁在家目录
chroot_list_enable=YES ##打开列表功能
# (default follows)
chroot_list_file=/etc/vsftpd/chroot_list ##白名单
####限定本地用户的登陆###
vim /etc/vsftpd/ftpusers ##用户登陆永久黑名单
vim /etc/vsftpd/user_list ##用户登陆临时黑名单
如果修改配置文件中
userlist_enable=YES
userlist_deny=NO ##打开黑名单列表 然后等于NO又否定就是说user——list变成白名单
530 ##ftp根目录权限过小或者被加入黑名单
553 ##系统权限禁止
500 ##ftp根目录权限过大
550 ##服务禁止
##########虚拟用户######
创建虚拟帐号身份)
1.vim /etc/vsftpd/yiyi ##文件名称任意
yiyi1
123
yiyi2
123
2.db_load -T -t hash -f /etc/vsftpd/yiyi yiyi.db ##加密按hash加密的方式
3.vim /etc/pam.d/bushe ##文件名称任意
account required pam_userdb.so db=/etc/vsftpd/yiyi
auth required pam_userdb.so db=/etc/vsftpd/yiyi
4.vim /etc/vsftpd/vsftpd.conf ##修改配置文件
pam_service_name=bushe
guest_enable=YES
guest_username=student ##虚拟帐号身份指定
chmod u-w /home/student
###虚拟账户家目录独立##
mkdir -p /ftpyiyi/yiyi1
mkdir - /ftpyiyi/yiyi2
touch /ftpyiyi/yiyi1/yiyi1
touch /ftpyiyi/yiyi2/yiyi2
vim /etc/vsftpd/vsftpd.conf)
local_root=/ftpyiyi/$USER ##虚拟帐号家目录独立设定($USER变量时shell变量)
user_sub_token=$USER ##把shell变量告诉user
[root@foundation14 /]# lftp 172.25.254.114 -u yiyi1
Password:
lftp yiyi1@172.25.254.114:~> ls
-rw-r--r-- 1 0 0 0 Feb 21 07:37 file1
lftp yiyi1@172.25.254.114:/> quit
[root@foundation14 /]# lftp 172.25.254.114 -u yiyi2
Password:
lftp yiyi2@172.25.254.114:~> ls
-rw-r--r-- 1 0 0 0 Feb 21 07:37 file2
######虚拟帐号配置独立######
vim /etc/vsftpd/vsftpd.conf
user_config_dir=/etc/vsftpd/westos
在vsftpd.conf里面注释掉
anon_other_write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
#######yiyi1用户的子配置文件######
mkdir -p /etc/vsftpd/westos ##名字任意
vim /etc/vsftpd/westos/yiyi1(名字与虚拟用户名字一样) ##编辑一个与虚拟用户名字一样的文件
anon_other_write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
mkdir /ftpyiyi/yiyi1/user ##在用户家目录/ftpyiyi/yiyi1下面建立一个目录,上传到家目录的子目录下
mkdir /ftpyiyi/yiyi2/user ##
chmod 777 /ftpyiyi/yiyi1/user/ ##给家目录下的子目录完全开放的权限
chmod 777 /ftpyiyi/yiyi2/user/
这样lftp 到yiyi1的时候就可以进行上传和删除 ##因为yiyi1读取的时westos/yiyi1子配置文件
lftp 到yiyi2的时候不能进行删除和上传操作 ##因为yiyi2读取的时候还是读取的vsftpd.conf主配置文件
###安全上下文##########
给服务一个安全上下文 给文件一个安全上下文
只有安全上下文匹配的时候我们才能读到服务
vim /etc/sysconfig/selinux
SELINUX=enforcing
然后reboot
systemctl start vsftpd
touch /var/ftp/pub/file1
touch /mnt/file
mv /mnt/file /var/ftp/pub
ls -Z /var/ftp/pub
[root@ftpserver ~]# ls -Z /var/ftp/pub/
-rw-r--r--. root root unconfined_u:object_r:mnt_t:s0 file
-rw-r--r--. root root unconfined_u:object_r:public_content_t:s0 file1
然后lftp 172.25.254.114 的时候看不到移动到/var/ftp/pub下面file文件 只能看到file1文件
chcon -t public_content_t /var/ftp/pub/file ##改变文件的安全上下文为和服务安全上下文匹配的
当把安全上下文改为匹配之后就可以看到了
~
笔记7
最新推荐文章于 2022-10-25 13:27:26 发布