xml地图|网站地图|网站标签 [设为首页] [加入收藏]
澳门新葡亰手机版生成证书请求和自建CA,计划任
分类:操作系统

openssl系列文章:http://www.cnblogs.com/f-ck-need-u/p/7048359.html**

centos7下安装rabbitmq 折腾了三天最后做了以下总结

为什么要设置计划任务

  我们在系统的管理中,很多时候不是及时的去操作,比如对某一网站数据的备份,备份的过程需要占用大量的系统资源,凌晨三四点的时候系统访问用户最少,系统最空闲。但我们的系统的系统管理员总不能老那个时间爬起来操作吧。


先查看一电脑名  :示例

计划任务的命令

  计划命令分一次性计划周期性计划
at    安排作业在某一时刻执行一次
batch 安排作业在系统负载不重时执行一次
cron 安排周期性运行的作业

一次性计划at和batch

伪命令req大致有3个功能:生成证书请求文件、验证证书请求文件和创建根CA。由于openssl req命令选项较多,所以先各举几个例子,再集中给出openssl req的选项说明。若已熟悉openssl req和证书请求相关知识,可直接跳至后文查看openssl req选项整理,若不熟悉,建议从前向后一步一步阅读。

1 #hostname
2 
3 name

at命令

删除at计划任务
 at -d

查看at计划任务
ls /var/spool/at/

首先说明下生成证书请求需要什么:申请者需要将自己的信息及其公钥放入证书请求中。但在实际操作过程中,所需要提供的是私钥而非公钥,因为它会自动从私钥中提取公钥。另外,还需要将提供的数据进行数字签名(使用单向加密),保证该证书请求文件的完整性和一致性,防止他人盗取后进行篡改,例如黑客将为www.baidu.com所申请的证书请求文件中的公司名改成对方的公司名称,如果能够篡改成功,则签署该证书请求时,所颁发的证书信息中将变成他人信息。

查看一下hosts配置文件:如果如下结果,就要修改下

batch命令

作用:
  安排一个或多个命令在系统负载较轻进运行一次(一般情况下负载较轻指平均负载降到0.8以下)

使用方法同at

澳门新葡亰手机版 1

1 #cat /etc/hosts
2 
3 127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4 
4 ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

周期性计划命令crontab

  作用:用于生成cron进程所需要的crontab文件

crontab命令:

crontab[-u user] [-l | -r | -e] [-i]

-l: 列出所有任务;

-e: 编辑任务;

-r: 移除所有任务;

-i:同-r一同使用,以交互式模式移除指定任务

-u user: 仅root可运行,指定用户管理cron任务

crontab命令定义,每个用户都有专用的cron任务文件:/var/spool/cron/USERNAME

 

注意:运行结果的标准输出和错误以邮件通知给相关用户

 centos7 # systemctl status atd crond开机时需启动服务

                 systemctl enable atd crond  重启还是启动的

centos6 # service crond atd start开机时需启动服务

                 chkconfig --list atd crond开机启动确保为on状态

/var/spool/cron/ :存放用户的任务计划

/etc/cron.{allow,deny}  :控制用户创建任务计划黑白名单,同at原理一样

/var/log/cron :日志文件

/etc/cron.hourly/ :每小时执行的脚本

/etc/cron.daily/ :每天执行的脚本

/etc/cron.weekly/ :每周执行的脚本

/etc/cron.monthly/ :每个月执行脚本

澳门新葡亰手机版 2

[root@rhel6 ~]# cat /etc/crontab #配置文件
SHELL=/bin/bash #执行任务命令的shell类型
PATH=/sbin:/bin:/usr/sbin:/usr/bin  #执行任务的环境变量
MAILTO=root  #执行任务的用户
HOME=/  #家目录

# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name command to be executed

澳门新葡亰手机版 3

 

时间通配表示:

 

  • *:对应时间的所有有效取值,每
  • ,:离散时间点,和
  • -:连续时间点,到
  • /:对应取值范围内多久一次,每隔

 

澳门新葡亰手机版 4

@reboot     :系统启动后执行
@yearly  0 0 1 1 * :每年的1月1号00:00执行一次任务
@annually 0 0 1 1 * :每年的1月1号00:00执行一次任务
@monthly 0 0 1 * * :每月的1号00:00执行一次任务
@weekly  0 0 * * 0 :每周日的00:00执行一次任务
@daily  0 0 * * * :每天的00:00执行一次任务
@hourly  0 * * * * :每小时执行一次任务

澳门新葡亰手机版 5

对于cron任务来讲,%有特殊用途;如果在命令中要使用%,则需要转义;不过,如果把%放置于单引号中,也可以不用转义

思考:如何在秒级别运行任务?

 

实现每秒执行

 

  由于crontab最小时间单位为分钟,所以我们需要借用sleep命令使其“睡一会”,来实现秒级别,及不能整除时间单位的计划任务。

所以第一步就是先创建出私钥pri_key.pem。其实私钥文件是非必需的,因为openssl req在需要它的时候会自动创建在特定的路径下,此处为了举例说明,所以创建它。

修改hosts: 如下

sleep命令:

 sleep NUMBER [SUFFIX]...

   SUFFIX:

    s: 秒, 默认

    m: 分

    h: 小时

    d: 天

如:每20秒执行一次

* * * * *  for min in 0 1 2; do echo "hi"; sleep 20 ; 
done实现每秒执行

#vim test.sh
#!/bin/bash
while true ;do
sleep 1
echo "hello"
done
#crontab –e
* * * * *   /root/test.sh >> /data/mail
#cat /data/mail

练习

①每12小时备份一次/etc目录至/backups目录中,保存文件名称格式为“/etc-yyyy-mm-dd-hh.tar.gz”

# crontab -e
0 */12 * * * tar -zcf  /etc-`date +%F-%H`.tar.gz  /backups


②每周2,4,7备份/var/log/secure文件至/logs目录中,文件名格式为“secure-yyyymmdd”;

# crontab -e 
 * * * * 2,4,7  cp -r /var/log/secure  /logs/secre-`date +%F`


③每两个小时取出当前系统/proc/meminfo文件中以S或M开头的行信息追加至/tmp/meminfo.txt文件中;

# crontab -e
  0 */2 * * * grep "^[SM].*"/proc/meminfo >> /tmp/meminfo.txt


④四月的第一个星期日早晨1点59分运行a.sh

# crontab -e
 59 1 1-7 4 * test `date +%w` -eq 0 && bash a.sh
⑤工作日时间,每10分钟执行一次磁盘空间检查,一旦发现任何分区利用率高于80%,就执行wall警报

# vim /testdir/disk.sh
#!/bin/bash
a=`df | grep  "^/dev/sd" | tr -s ‘ ‘ ‘%‘| cut -d% -f5 | sort -n  | tail -1`
if [ $a -gt 80 ];then
wall "The disk will be full"
fi
# chmod +x disk.sh
# crontab -e 
*/10 * * * 1-5 /testdir/disk.sh

 

[root@xuexi tmp]# openssl genrsa -out pri_key.pem
1 #vim /etc/hosts
2 127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4 name
3 ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

(1).根据私钥pri_key.pem生成一个新的证书请求文件。其中"-new"表示新生成一个新的证书请求文件,"-key"指定私钥文件,"-out"指定输出文件,此处输出文件即为证书请求文件。

安装相关文件:为了不出错,要装 EPEL源,顺手安装一下 redis

[root@xuexi tmp]# openssl req -new -key pri_key.pem -out req1.csr
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:CN
State or Province Name (full name) []:FJ
Locality Name (eg, city) [Default City]:XM
Organization Name (eg, company) [Default Company Ltd]:.
Organizational Unit Name (eg, section) []:.
Common Name (eg, your name or your server's hostname) []:www.youwant.com
Email Address []:

Please enter the following 'extra' attributes    # 下面两项几乎不用考虑,留空即可
to be sent with your certificate request
A challenge password []:.
An optional company name []:.
##1.    安装 EPEL源
#yum install epel-release
#yum repolist

##2.    安装 redis
#yum install redis

##3.    安装 erlang //rabbit运行支持环境
#yum install erlang
#Wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.5.0/rabbitmq-server-3.5.0-1.noarch.rpm  //下载
#rpm -ivh rabbitmq-server-3.5.0-1.noarch.rpm  //安装
#chkconfig rabbitmq-server on //开机启动

###配置配置文件:
#cd /etc/rabbitmq #//进入目录
#cp /user/share/doc/rabbitmq-server-3.5.0/rabbitmq.config.example /etc/rabbitmq/  
#//复制 配置文件
#mv rabbitmq.config.example rabbitmq.config  //改名
###开启用户远程访问
#vi /etc/rabbitmq/rabbitmq.config
{loopback_users,[]}.    //改前
{loopback_users,[]}     //改后

##13.    开启WEB界面管理工具
#rabbitmq-plugins enable rabbitmq_management   //安装插件
#service rabbitmq-server restart //重启服务
###14.    开放端口  15672  5672

在敲下回车键后,默认会进入交互模式让你提供你个人的信息,需要注意的是,如果某些信息不想填可以选择使用默认值,也可以选择留空不填,直接回车将选择使用默认值,输入点"."将表示该信息项留空。但某些项是必填项,否则未来证书签署时将失败。如"Common Name",它表示的是为哪个域名、子域名或哪个主机申请证书,未来证书请求被签署后将只能应用于"Common Name"所指定的地址。具体哪些必填项还需要看所使用的配置文件(默认的配置文件为/etc/pki/tls/openssl.cnf)中的定义,此处暂且不讨论配置相关内容,仅提供Common Name即可。

 

除了"-new"选项,使用"-newkey"选项也能创建证书请求文件,此处暂不举例说明"-newkey"的用法,后文会有示例。

(2).查看证书请求文件内容。

现在已经生成了一个新的证书请求文件req1.csr。查看下该证书请求文件的内容。

[root@xuexi tmp]# cat req1.csr
-----BEGIN CERTIFICATE REQUEST-----             # 证书请求的内容
MIIBgDCB6gIBADBBMQswCQYDVQQGEwJDTjELMAkGA1UECAwCRkoxCzAJBgNVBAcM
AlhNMRgwFgYDVQQDDA93d3cueW91d2FudC5jb20wgZ8wDQYJKoZIhvcNAQEBBQAD
gY0AMIGJAoGBAMbx9bfsC0GTn7DijfGFs56Fb8atX9ABRDE/wmE74jXjdfbH4ZOg
Te0Orlu5pA4jqXDgSLzlQvjD6QsyhToyvtyQbgGSfXSVOPcgfAohDNo9t6+mnvs/
5rFQJ1+uI6gsLMbwQBJidLGnM1pOvFo2671Vm2jewDLVweGP5wmIfDyLAgMBAAGg
ADANBgkqhkiG9w0BAQUFAAOBgQAqKYjNKKpNCvwDNeDeYynOx1XD/OYgAU43Sq03
aRUcKenqICkvkXkUE+H0lYMtXcDL/rgDyjlKvwartgZ/ngoKSwtXhd4UivII2hNN
jolE3gfe8KGjMpnX/8oxkJIoSTETqee+11ez8E2fya1DwoQnKpXjTt5qya8VWflt
DG8WmA==
-----END CERTIFICATE REQUEST-----

更具体的可以使用openssl req命令查看。命令如下,其中"-in"选项指定的是证书请求文件。

[root@xuexi tmp]# openssl req -in req1.csr
-----BEGIN CERTIFICATE REQUEST-----             # 证书请求的内容
MIIBgDCB6gIBADBBMQswCQYDVQQGEwJDTjELMAkGA1UECAwCRkoxCzAJBgNVBAcM
AlhNMRgwFgYDVQQDDA93d3cueW91d2FudC5jb20wgZ8wDQYJKoZIhvcNAQEBBQAD
gY0AMIGJAoGBAMbx9bfsC0GTn7DijfGFs56Fb8atX9ABRDE/wmE74jXjdfbH4ZOg
Te0Orlu5pA4jqXDgSLzlQvjD6QsyhToyvtyQbgGSfXSVOPcgfAohDNo9t6+mnvs/
5rFQJ1+uI6gsLMbwQBJidLGnM1pOvFo2671Vm2jewDLVweGP5wmIfDyLAgMBAAGg
ADANBgkqhkiG9w0BAQUFAAOBgQAqKYjNKKpNCvwDNeDeYynOx1XD/OYgAU43Sq03
aRUcKenqICkvkXkUE+H0lYMtXcDL/rgDyjlKvwartgZ/ngoKSwtXhd4UivII2hNN
jolE3gfe8KGjMpnX/8oxkJIoSTETqee+11ez8E2fya1DwoQnKpXjTt5qya8VWflt
DG8WmA==
-----END CERTIFICATE REQUEST-----

查看请求文件时,可以结合其他几个选项输出特定的内容。"-text"选项表示以文本格式输出证书请求文件的内容。

[root@xuexi tmp]# openssl req -in req1.csr -text
Certificate Request:                                            # 此为证书请求文件头
    Data:
        Version: 0 (0x0)
        Subject: C=CN, ST=FJ, L=XM, CN=www.youwant.com          # 此为提供的个人信息,注意左侧标头为"Subject",这是很重要的一项
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption                 # 使用的公钥算法
                Public-Key: (1024 bit)                          # 公钥的长度
                Modulus:
                    00:c6:f1:f5:b7:ec:0b:41:93:9f:b0:e2:8d:f1:85:
                    b3:9e:85:6f:c6:ad:5f:d0:01:44:31:3f:c2:61:3b:
                    e2:35:e3:75:f6:c7:e1:93:a0:4d:ed:0e:ae:5b:b9:
                    a4:0e:23:a9:70:e0:48:bc:e5:42:f8:c3:e9:0b:32:
                    85:3a:32:be:dc:90:6e:01:92:7d:74:95:38:f7:20:
                    7c:0a:21:0c:da:3d:b7:af:a6:9e:fb:3f:e6:b1:50:
                    27:5f:ae:23:a8:2c:2c:c6:f0:40:12:62:74:b1:a7:
                    33:5a:4e:bc:5a:36:eb:bd:55:9b:68:de:c0:32:d5:
                    c1:e1:8f:e7:09:88:7c:3c:8b
                Exponent: 65537 (0x10001)
        Attributes:
            a0:00
    Signature Algorithm: sha1WithRSAEncryption                  # 为请求文件数字签名时使用的算法
         2a:29:88:cd:28:aa:4d:0a:fc:03:35:e0:de:63:29:ce:c7:55:
         c3:fc:e6:20:01:4e:37:4a:ad:37:69:15:1c:29:e9:ea:20:29:
         2f:91:79:14:13:e1:f4:95:83:2d:5d:c0:cb:fe:b8:03:ca:39:
         4a:bf:06:ab:b6:06:7f:9e:0a:0a:4b:0b:57:85:de:14:8a:f2:
         08:da:13:4d:8e:89:44:de:07:de:f0:a1:a3:32:99:d7:ff:ca:
         31:90:92:28:49:31:13:a9:e7:be:d7:57:b3:f0:4d:9f:c9:ad:
         43:c2:84:27:2a:95:e3:4e:de:6a:c9:af:15:59:f9:6d:0c:6f:
         16:98
-----BEGIN CERTIFICATE REQUEST-----                    
MIIBgDCB6gIBADBBMQswCQYDVQQGEwJDTjELMAkGA1UECAwCRkoxCzAJBgNVBAcM
AlhNMRgwFgYDVQQDDA93d3cueW91d2FudC5jb20wgZ8wDQYJKoZIhvcNAQEBBQAD
gY0AMIGJAoGBAMbx9bfsC0GTn7DijfGFs56Fb8atX9ABRDE/wmE74jXjdfbH4ZOg
Te0Orlu5pA4jqXDgSLzlQvjD6QsyhToyvtyQbgGSfXSVOPcgfAohDNo9t6+mnvs/
5rFQJ1+uI6gsLMbwQBJidLGnM1pOvFo2671Vm2jewDLVweGP5wmIfDyLAgMBAAGg
ADANBgkqhkiG9w0BAQUFAAOBgQAqKYjNKKpNCvwDNeDeYynOx1XD/OYgAU43Sq03
aRUcKenqICkvkXkUE+H0lYMtXcDL/rgDyjlKvwartgZ/ngoKSwtXhd4UivII2hNN
jolE3gfe8KGjMpnX/8oxkJIoSTETqee+11ez8E2fya1DwoQnKpXjTt5qya8VWflt
DG8WmA==
-----END CERTIFICATE REQUEST-----

将"-text"和"-noout"结合使用,则只输出证书请求的文件头部分。

本文由澳门新葡亰手机版发布于操作系统,转载请注明出处:澳门新葡亰手机版生成证书请求和自建CA,计划任

上一篇:没有了 下一篇:没有了
猜你喜欢
热门排行
精彩图文