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的相关内容解答汇总了,希望对您有所帮助!如果解决了您的问题欢迎分享给更多关注此问题的朋友喔~

阅读剩余
THE END