centos 503,centos7点几哪个版本好用
大家好,centos 503相信很多的网友都不是很明白,包括centos7点几哪个版本好用也是一样,不过没有关系,接下来就来为大家分享关于centos 503和centos7点几哪个版本好用的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!
Centos下限制SSH登录次数详解
应公司内部网站等级测评的需求,正逐渐加强系统安全防护。
设备默认 3次验证失败自动退出,并且结束会话;网络登录连接超时自动退出时间 5分钟;
第一种方法:已验证。
1.ssh超时时间设置
# cd/etc/profile.d/#创建两个空白文件autologout.csh、autologout.sh用来保存TMOUT配置
# touch autologout.csh
# touch autologout.sh
# vi autologout.sh#编辑autologout.sh
#auto out in 5 minutes
TMOUT=300#超时时间,单位为s
readonly TMOUT#设置TMOUT变量只读
export TMOUT#设置环境TMOUT
# vi autologout.csh#编辑autologout.csh
set-r autologout 2
# chmod+x autologout.*#可执行权限,其实单给u+x就行了。
断开Client,重新登录终端5分钟不使用ssh就会自动断开连接.
2.ssh认证次数限制:
/etc/ssh/sshd_config
MaxAuthTries=3这仅是超过3次验证错误断开连接。
第二种方法:(试验中还是有问题出现)
原理:通过系统的pam认证实现。
1.备份/etc/pam.d/system_auth文件,更改:
#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
auth required pam_env.so
auth required pam_unix.so nullok try_first_pass将原来的sufficient改为required
#auth requisite pam_succeed_if.so uid>= 500 quiet注释掉此行
auth required pam_tally.so deny=3unlock_time=300增加一行,失败超过3次限制5分钟后登录
#auth required pam_deny.so注释掉此行
account required pam_unix.so
account sufficient pam_succeed_if.so uid<500 quiet
account required pam_permit.so
account required pam_tally2.so增加一行
password requisite pam_cracklib.so try_first_pass retry=3
password sufficient pam_unix.so md5 shadow nullok try_first_pass use_authtok
password required pam_deny.so
session optional pam_keyinit.so revoke
session required pam_limits.so
session [success=1default=ignore] pam_succeed_if.so service in crond quiet use_uid
session required pam_unix.so
2.建议sshtest帐户,进行密码错误登录验证。查看tail/var/log/secure|grep sshtest记录:
Feb 22 15:21:11 SN524 sshd[4900]: Failed password for sshtest from 192.168.40.130 port 53995 ssh2
Feb 22 15:21:17 SN524 sshd[4900]: pam_tally(sshd:auth): user sshtest(503) tally 7, deny 3
Feb 22 07:21:19 SN524 sshd[4903]: Disconnecting: Too many authentication failures for sshtest
Feb 22 15:21:19 SN524 sshd[4900]: Failed password for sshtest from 192.168.40.130 port 53995 ssh2
Feb 22 15:22:05 SN524 sshd[4906]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=192.168.40.130 user=sshtest
帐户已被锁住,无法登录,等待5分钟后才能重新登录.
3.限制SSH过期时间:
/etc/ssh/sshd_config
ClientAliveInterval 60
ClientAliveCountMax 60
docker镜像制作教程windows下安装docker详细步骤
前言:作为一个开发人员,每每在更换电脑或重装系统时,要重新安装开发工具搭建开发环境。所以有的人会封装一下系统(这里指windows),将平时用到的环境和工具全安装在里面,改改OEM,以后换了电脑就直接拿封装的系统安装就方便很多。同样但也不一样的,在开发完的应用程序在需要更换IDC或者部署分布式时。针对应用又要重新搭建环境,安装软件依赖等等。所以这时候可以将应用软件以及环境依赖一并作为docker镜像,部署的时候直接拉取镜像,启动后为容器就可以正常运行了。
Docker简介:
Docker是一个开源的应用容器引擎,基于 Go语言并遵从 Apache2.0协议开源。Docker可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone的 app),更重要的是容器性能开销极低。
Docker与虚拟机的区别:
上面系统封装与镜像制作,我说过两者有相同但也一点不同。所以就以我的理解简单介绍一下Docker与虚拟机的区别。网上也有很多详细介绍两者架构的原理及原理图,这里就略过原理直接说差异。
使用场景:Docker适合隔离应用,虚拟机能隔离用户(更能隔离应用),因为有独立完整的操作系统。
技术方面:虚拟机是通过虚拟化硬件并CPU要支持虚拟化技术,Docker容器只是在宿主操作系统上开启了Docker引擎,比如一个CentOS镜像是一套文件系统,引擎将容器放入到一个进程中并相互隔离。各个容器共用同一套操作系统资源,不需要虚拟化硬件,启动快速。
Docker的安装:
在windows下有两个工具, docker toolbox针对win7, win8,工具集合了Virtual Box(虚拟机软件),Kitematic(docker图形化软件),和其他几个命令终端工具。针对win10的是 Docker for Windows Installer。
安装完毕后点击Docker Quickstart启动 Docker Toolbox终端。命令执行会先在Virtualbox创建一个名字为default的CentOS虚拟机并安装了Docker。CentOS默认账号docker,密码tcuser,Ip在启动toolbox时在命令板上显示,可以通过Xshell连接。
镜像下载&容器使用
最简单的就是打开Kitematic工具,网络正常时会展示主流的镜像,选择其中一个点击“create”就会下载并在左侧栏启动容器。容器的启动和停止重启在图形化界面中也很方便地操作。下面就下载PHP和 Nginx并运行在浏览器打开。
1. nginx,php容器设置与使用
server{listen 80;server_name localhost;#charset koi8-r;#access_log logs/host.access.log main;location/{root/var/www;index index.php index.html index.htm;if(!-e$request_filename){rewrite ^/(.*)$/index.php?/$1 last;}}location~\.php{ root/var/www; fastcgi_pass 192.168.99.100:9000; fastcgi_index index.php; fastcgi_split_path_info ^(.+\.php)(.*)$; fastcgi_param PATH_INFO$fastcgi_path_info; fastcgi_param SCRIPT_FILENAME$document_root$fastcgi_script_name; include fastcgi_params;}#error_page 404/404.html;# redirect server error pages to the static page/50x.html#error_page 500 502 503 504/50x.html;location=/var/www/index.html{root html;}# proxy the PHP scripts to Apache listening on 127.0.0.1:80##location~\.php${# proxy_pass }# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000##location~\.php${# root html;# fastcgi_pass 192.168.99.100:9000;# fastcgi_index index.php;# fastcgi_param SCRIPT_FILENAME/scripts$fastcgi_script_name;# include fastcgi_params;#}# deny access to.htaccess files, if Apache's document root# concurs with nginx's one##location~/\.ht{# deny all;#}}2.镜像的制作
镜像制作就需要使用 Dockerfile,类似PHP项目中的composer.json,用于构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。
这里仅讲解如何运行 Dockerfile文件来定制一个镜像,具体 Dockerfile文件内指令详解,将在下一节中介绍,这里你只要知道构建的流程即可。
(1)、下面以定制一个 nginx镜像(构建好的镜像内会有一个/usr/share/nginx/html/index.html文件)
在一个空目录下,新建一个名为 Dockerfile文件,并在文件内添加以下内容:
FROM nginxRUN echo'这是一个本地构建的nginx镜像'>/usr/share/nginx/html/index.html(2)、FROM和 RUN指令的作用
FROM:定制的镜像都是基于 FROM的镜像,这里的 nginx就是定制需要的基础镜像。后续的操作都是基于 nginx。
RUN:用于执行后面跟着的命令行命令。有以下俩种格式:
shell格式:
RUN#等同于,在终端操作的 shell命令。exec格式:
RUN ["可执行文件","参数1","参数2"]#例如:# RUN ["./test.php","dev","offline"]等价于 RUN./test.php dev offline注意:Dockerfile的指令每执行一次都会在 docker上新建一层。所以过多无意义的层,会造成镜像膨胀过大。例如:
FROM centosRUNyum installwgetRUNwget-Oredis.tar.gz""RUNtar-xvfredis.tar.gz以上执行会创建3层镜像。可简化为以下格式:FROM centosRUNyum installwget\&&wget-Oredis.tar.gz""\&&tar-xvfredis.tar.gz如上,以&&符号连接命令,这样执行后,只会创建 1层镜像。在 Dockerfile文件的存放目录下,执行构建动作。
以下示例,通过目录下的 Dockerfile构建一个 nginx:test(镜像名称:镜像标签)。
注:最后的.代表本次执行的上下文路径,下一节会介绍。
$ docker build-t nginx:test.
以上显示,说明已经构建成功。
$ docker build-t nginx:test.
镜像上传到远程镜像库
1.首先在docker hub官网注册一个账号,然后可以正在登陆,Kitematic也可以登陆试试。
2.打开docker cli命令面板,输入docker login,输入docker hub账号密码后,显示login success后,就可以准备自己本地的镜像文件了。
3. docker images查看本地的所有镜像文件,记住镜像完整名称,然后给要提交的镜像加标签,这时会生成两个镜像ID一样的镜像文件。然后通过docker push完整的镜像文件:包括标签名,最后就可以推送到自己的镜像库了。
上传至阿里云镜像库
1.首先有阿里云账户,登录成功后开通"容器镜像服务",设置账号密码,并建立空间和仓库,点击管理可以看到登录,拉取,推送的命令。
2.同样的方式打开docker cli命令面板或者xshell连接docker中登录阿里镜像账号,同样的方式找到本地做好的镜像然后推送。
3.拉取docker hub和阿里镜像都通过 docker pull完整的镜像名,就可以拉取到本地,然后通过docker images查看。
django如何调用ansible(2023年最新分享)
导读:本篇文章首席CTO笔记来给大家介绍有关django如何调用ansible的相关内容,希望对大家有所帮助,一起来看看吧。
如何在django中使用ansible-playbook命令执行yaml文件
一、安装
1、安装第三方epel源
centos5的epel
rpm-ivh
rpm-ivh
17:01:30#cat/etc/issue
CentOSrelease6.5(Final)
Kernel\ronan\m
由于是6版本所以安装6的epel
yuminstallansible
如果需要自定义module或者想阅读源码、使用最新版本,可以去github里下载源码
gitclone
17:22:08#cd/etc/ansible/
root@ip-10-10-10-10:/etc/ansible
17:23:27#ll
total12
-rw-r--r--1rootroot5113Dec2903:00ansible.cfg
-rw-r--r--1rootroot965Dec2903:00hosts
其中ansible.cfg是配置文件,hosts是管理主机信息
17:24:44#cathosts
172.17.0.2:49154
172.17.0.4:49155
[zabbix]
172.17.0.2:49154
172.17.0.4:49155
[vpn]
172.17.0.10
16:20:57#ansible127*-mping
SSHpassword:
127.0.0.1|success{
"changed":false,
"ping":"pong"
}
root@ip-10-10-10-10:/etc/ansible
16:21:05#ansible172*-mping
SSHpassword:
172.17.0.5|success{
"changed":false,
"ping":"pong"
}
172.17.0.4|success{
"changed":false,
"ping":"pong"
}
172.17.0.2|success{
"changed":false,
"ping":"pong"
}
如果你有多台服务器的话,想并发运行,可以使用-f参数,默认是并发5
11:30:35#ansiblevpn-mshell-a"echo$TERM"-utest--private-key=denglei-K
SSHpassword:
sudopassword[defaultstoSSHpassword]:
172.17.0.10|success|rc=0
xterm
11:30:44#ansiblevpn-mcopy-a"src=/tmp/serverdest=/tmp/server"-utest--private-key=denglei-K
SSHpassword:
sudopassword[defaultstoSSHpassword]:
172.17.0.10|success{
"changed":true,
"dest":"/tmp/server",
"gid":505,
"group":"test",
"md5sum":"e8b32bc4d7b564ac6075a1418ad8841e",
"mode":"0664",
"owner":"test",
"size":7,
"src":"/home/test/.ansible/tmp/ansible-1402630447.45-253524136818424/source",
"state":"file",
"uid":503
}
去客户端查看文件是否传输过来
11:34:57#ansiblevpn-mshell-a"ls-l/tmp/"-utest--private-key=denglei-K
SSHpassword:
sudopassword[defaultstoSSHpassword]:
172.17.0.10|success|rc=0
total76
-rw-r--r--1rootroot41692May2113:02config
-rw-r--r--1rootroot1228Jun1218:24install_pptpd_vpn.sh
-rw-rw-r--1testtest7Jun1319:33server
-rw-r--r--1rootroot82Jun1218:21test.log
-rw-r--r--1rootroot290Jun1218:21test.sh
-rw-r--r--1rootroot2444Apr282012vpn_centos6.sh
-rw-------1rootroot727Jun1018:21yum_save_tx-2014-06-10-18-21UrqDAp.yumtx
-rw-rw-r--1zabbixzabbix3124Jun1221:32zabbix_agentd.log
-rw-rw-r--1zabbixzabbix5Jun1221:32zabbix_agentd.pid
11:35:09#ansiblevpn-mshell-a"cat/tmp/server"-utest--private-key=denglei-K
SSHpassword:
sudopassword[defaultstoSSHpassword]:
172.17.0.10|success|rc=0
server
还有另外一个模块file,可以修改用户与权限
13:50:07#ansiblevpn-mshell-a"ls-l/tmp/server"-utest--private-key=denglei-K
SSHpassword:
sudopassword[defaultstoSSHpassword]:
172.17.0.10|success|rc=0
-rw-rw-r--1testtest7Jun1319:33/tmp/server
server文件是664权限,用户与组都是test
13:51:17#ansiblevpn-mfile-a"dest=/tmp/servermode=755owner=rootgroup=root"-utest--private-key=denglei-K
SSHpassword:
sudopassword[defaultstoSSHpassword]:
172.17.0.10|success{
"changed":true,
"gid":0,
"group":"root",
"mode":"0755",
"owner":"root",
"path":"/tmp/server",
"size":7,
"state":"file",
"uid":0
}
root@ip-10-10-10-10:/etc/ansible
13:51:31#ansiblevpn-mshell-a"ls-l/tmp/server"-utest--private-key=denglei-K
SSHpassword:
sudopassword[defaultstoSSHpassword]:
172.17.0.10|success|rc=0
-rwxr-xr-x1rootroot7Jun1319:33/tmp/server
14:20:30#ansiblevpn-myum-a"name=nmapstate=installed"-utest--private-key=denglei-K
SSHpassword:
sudopassword[defaultstoSSHpassword]:
172.17.0.10|success{
"changed":true,
"msg":"",
"rc":0,
"results":[
"Loadedplugins:fastestmirror,security\nLoadingmirrorspeedsfromcachedhostfile\n*epel:mirrors.hust.edu.cn\nSettingupInstallProcess\nResolvingDependencies\n--Runningtransactioncheck\n---Packagenmap.x86_642:5.51-3.el6willbeinstalled\n--FinishedDependencyResolution\n\nDependenciesResolved\n\n================================================================================\nPackageArchVersionRepositorySize\n================================================================================\nInstalling:\nnmapx86_642:5.51-3.el6Base2.7M\n\nTransactionSummary\n================================================================================\nInstall1Package(s)\n\nTotaldownloadsize:2.7M\nInstalledsize:9.7M\nDownloadingPackages:\nRunningrpm_check_debug\nRunningTransactionTest\nTransactionTestSucceeded\nRunningTransaction\n\rInstalling:2:nmap-5.51-3.el6.x86_641/1\n\rVerifying:2:nmap-5.51-3.el6.x86_641/1\n\nInstalled:\nnmap.x86_642:5.51-3.el6\n\nComplete!\n"
]
}
三、playbook配置管理
A.进行一下shell模块操作,测试删除文件
先查看一下客户端的server-test是否存在
[root@puppetansible]#ansiblevpn-mshell-a"ls-l/tmp/server-test"-utest--private-key=/root/denglei-k
SSHpassword:
172.17.0.10|success|rc=0
-rw-rw-r--1testtest7Jun1400:37/tmp/server-test
然后写一个删除的playbook
[root@puppetansible]#cattest.yml
---
-hosts:vpn
remote_user:test
tasks:
-name:delete/tmp/server-test
shell:rm-rf/tmp/server-test
[root@puppetansible]#ansible-playbooktest.yml--private-key=/root/denglei-k
[WARNING]:Theversionofgmpyouhaveinstalledhasaknownissueregarding
timingvulnerabilitieswhenusedwithpycrypto.Ifpossible,youshouldupdate
it(ie.yumupdategmp).
SSHpassword:
PLAY[vpn]********************************************************************
GATHERINGFACTS***************************************************************
ok:[172.17.0.10]
TASK:[delete/tmp/server-test]***********************************************
changed:[172.17.0.10]
PLAYRECAP********************************************************************
172.17.0.10:ok=2changed=1unreachable=0failed=0
[root@puppetansible]#ansiblevpn-mshell-a"ls-l/tmp/server-test"-utest--private-key=/root/denglei-k
SSHpassword:
172.17.0.10|FAILED|rc=2
ls:cannotaccess/tmp/server-test:Nosuchfileordirectory
B.进行一下template模块操作,测试文件传输
[root@puppetansible]#catcopy.yml
---
-hosts:vpn
remote_user:test
tasks:
-name:copylocalservertoclient/tmp/server-test
template:src=/tmp/serverdest=/tmp/server-test
[root@puppetansible]#ansible-playbookcopy.yml--private-key=/root/denglei-k
[WARNING]:Theversionofgmpyouhaveinstalledhasaknownissueregarding
timingvulnerabilitieswhenusedwithpycrypto.Ifpossible,youshouldupdate
it(ie.yumupdategmp).
SSHpassword:
PLAY[vpn]********************************************************************
GATHERINGFACTS***************************************************************
ok:[172.17.0.10]
TASK:[copylocalservertoclient/tmp/server-test]**************************
changed:[172.17.0.10]
PLAYRECAP********************************************************************
172.17.0.10:ok=2changed=1unreachable=0failed=0
[root@puppetansible]#ansiblevpn-mshell-a"ls-l/tmp/server-test"-utest--private-key=/root/denglei-k
SSHpassword:
172.17.0.10|success|rc=0
-rw-rw-r--1testtest7Jun1417:07/tmp/server-test
C.使用service模块,测试一下服务重启
python——Django项目开发:配置项目/static/路径,调用css、img、js等静态文件
在Django项目开发中,不能像正常web开发一样通过'imgs/bg.jpg'访问本地静态文件,需要做一些配置,才能实现静态文件的访问。
一、首先在项目根路径下新建一个static文件夹,然后在static文件夹下可以新建相应的css、imgs、js等文件夹,用于存放css、img、js等静态文件。
二、项目配置
1、打开settings.py,在底部添加:
2、打开urls.py,在urlpatterns中添加:(注意,如果你在blog目录下也建立了urls.py,那么就得在blog/urls.py中做修改。别忘了importsettings):
(不过我经过实测,不加这一个,也可以完成静态文件的访问)
3、在html模板最上面添加:
然后在需要的地方按照这个格式进行调用,如:
最后重新运行项目,img等本地静态文件就可以被django找到了,这时模板对应的页面就可以显示使用img等文件了。
初学者,求教django1.8如何调用python3.4脚本的问题
下面来看下在python3.4中,如何与Linux交互的。在python里面可以操作linux的命令有1,os.system("cmd")2,os.open("cmd")3,spawn*4,subprocess在最新的python里,推荐使用subprocess来与shell通信
Django配置Celery执行异步和同步任务(tasks))
celery是一个基于python开发的简单、灵活且可靠的分布式任务队列框架,支持使用任务队列的方式在分布式的机器/进程/线程上执行任务调度。采用典型的生产者-消费者模型,主要由三部分组成:
比如系统上线前后台批量导入历史数据,发送短信、发送邮件等耗时的任务
1.安装RabbitMQ,这里我们使用RabbitMQ作为broker,安装完成后默认启动了,也不需要其他任何配置
Ubuntulinux安装
CentOSLinux安装
苹果mac安装需要配置
配置环境变量(苹果用户)
启动rabbitmq-server
2.安装celery
3.celery用在django项目中,django项目目录结构(简化)如下
4.创建oa/celery.py主文件
5.在oa/__init__.py文件中增加如下内容,确保django启动的时候这个app能够被加载到
6.各应用创建tasks.py文件,这里为users/tasks.py
7.views.py中引用使用这个tasks异步处理
8.启动celery
9.这样在调用post这个方法时,里边的add就可以异步处理了
定时任务的使用场景就很普遍了,比如我需要定时发送报告给老板~
1.oa/celery.py文件添加如下配置以支持定时任务crontab
3.启动celerybeat,celery启动了一个beat进程一直在不断的判断是否有任务需要执行
结语:以上就是首席CTO笔记为大家整理的关于django如何调用ansible的相关内容解答汇总了,希望对您有所帮助!如果解决了您的问题欢迎分享给更多关注此问题的朋友喔~