笔记7

###########当硬盘被分区占用满的时候,不能分出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       ##改变文件的安全上下文为和服务安全上下文匹配的
当把安全上下文改为匹配之后就可以看到了




~                           














 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1 目标检测的定义 目标检测(Object Detection)的任务是找出图像中所有感兴趣的目标(物体),确定它们的类别和位置,是计算机视觉领域的核心问题之一。由于各类物体有不同的外观、形状和姿态,加上成像时光照、遮挡等因素的干扰,目标检测一直是计算机视觉领域最具有挑战性的问题。 目标检测任务可分为两个关键的子任务,目标定位和目标分类。首先检测图像中目标的位置(目标定位),然后给出每个目标的具体类别(目标分类)。输出结果是一个边界框(称为Bounding-box,一般形式为(x1,y1,x2,y2),表示框的左上角坐标和右下角坐标),一个置信度分数(Confidence Score),表示边界框中是否包含检测对象的概率和各个类别的概率(首先得到类别概率,经过Softmax可得到类别标签)。 1.1 Two stage方法 目前主流的基于深度学习的目标检测算法主要分为两类:Two stage和One stage。Two stage方法将目标检测过程分为两个阶段。第一个阶段是 Region Proposal 生成阶段,主要用于生成潜在的目标候选框(Bounding-box proposals)。这个阶段通常使用卷积神经网络(CNN)从输入图像中提取特征,然后通过一些技巧(如选择性搜索)来生成候选框。第二个阶段是分类和位置精修阶段,将第一个阶段生成的候选框输入到另一个 CNN 中进行分类,并根据分类结果对候选框的位置进行微调。Two stage 方法的优点是准确度较高,缺点是速度相对较慢。 常见Tow stage目标检测算法有:R-CNN系列、SPPNet等。 1.2 One stage方法 One stage方法直接利用模型提取特征值,并利用这些特征值进行目标的分类和定位,不需要生成Region Proposal。这种方法的优点是速度快,因为省略了Region Proposal生成的过程。One stage方法的缺点是准确度相对较低,因为它没有对潜在的目标进行预先筛选。 常见的One stage目标检测算法有:YOLO系列、SSD系列和RetinaNet等。 2 常见名词解释 2.1 NMS(Non-Maximum Suppression) 目标检测模型一般会给出目标的多个预测边界框,对成百上千的预测边界框都进行调整肯定是不可行的,需要对这些结果先进行一个大体的挑选。NMS称为非极大值抑制,作用是从众多预测边界框中挑选出最具代表性的结果,这样可以加快算法效率,其主要流程如下: 设定一个置信度分数阈值,将置信度分数小于阈值的直接过滤掉 将剩下框的置信度分数从大到小排序,选中值最大的框 遍历其余的框,如果和当前框的重叠面积(IOU)大于设定的阈值(一般为0.7),就将框删除(超过设定阈值,认为两个框的里面的物体属于同一个类别) 从未处理的框中继续选一个置信度分数最大的,重复上述过程,直至所有框处理完毕 2.2 IoU(Intersection over Union) 定义了两个边界框的重叠度,当预测边界框和真实边界框差异很小时,或重叠度很大时,表示模型产生的预测边界框很准确。边界框A、B的IOU计算公式为: 2.3 mAP(mean Average Precision) mAP即均值平均精度,是评估目标检测模型效果的最重要指标,这个值介于0到1之间,且越大越好。mAP是AP(Average Precision)的平均值,那么首先需要了解AP的概念。想要了解AP的概念,还要首先了解目标检测中Precision和Recall的概念。 首先我们设置置信度阈值(Confidence Threshold)和IoU阈值(一般设置为0.5,也会衡量0.75以及0.9的mAP值): 当一个预测边界框被认为是True Positive(TP)时,需要同时满足下面三个条件: Confidence Score > Confidence Threshold 预测类别匹配真实值(Ground truth)的类别 预测边界框的IoU大于设定的IoU阈值 不满足条件2或条件3,则认为是False Positive(FP)。当对应同一个真值有多个预测结果时,只有最高置信度分数的预测结果被认为是True Positive,其余被认为是False Positive。 Precision和Recall的概念如下图所示: Precision表示TP与预测边界框数量的比值 Recall表示TP与真实边界框数量的比值 改变不同的置信度阈值,可以获得多组Precision和Recall,Recall放X轴,Precision放Y轴,可以画出一个Precision-Recall曲线,简称P-R
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值