centos撤销修改(centos退出终端命令)
OpenStack用来做什么
你好。OpenStack最初是Rackspace和NASA共同投入的,现在是由开源社区维护。在9月18日即将在San Diego举行的Openstack Summit上也将有关于最新版本Folsom的消息。值得关注。
它就是一个IaaS的云平台软件。实际应用场景非常多,凡是IaaS可以应用的地方Openstack都可以做到。比如虚拟主机,出售计算资源,公司内部IT云计算解决方案等等。想知道更多案例可以看这里:
目前Openstack的优势在于它对于使用者来说是免费的,而且Openstack基金会得到了AT&T、Canonical、惠普、IBM、Nebula、Rackspace、Red Hat、SUSE、思科、戴尔、NetApp、Piston、雅虎、英特尔、NEC、VMware等赞助商的资金和技术支持。在各方面都是很有保障的。
至于使用Openstack带来的好处有很多,你可以参考云计算的基本优势。这里不多说了。
CentOS如何添加用户到sudoers
在Ubuntu系统中普通用户均可以通过sudo命令以super user身份执行指令,只要输入该用户的密码即可,然而在CentOS中,即管在安装系统时候创建用户有Advance的设置项,可以将新创建的用户加入到群组中,这个时候填写了sudoer/sudoers均不行,登陆系统后执行sudo命令还是会提示该用户不存在与群组sudoers中。遇到这个问题我们就需要将当前的用户添加到sudoers用户组中。
一.修改/etc/sudoers文件的权限
1.因为/etc/sudoers文件的所有者是root,这个文件当前的权限是
-r--r-----. 1 root root#440
2.我们要对这个文件进行修改就需要将其权限改成对其他用户具备写权限,或者切换到超级用户模式。
切换用户:直接切换至root模式,并直接修改文件
或者
修改权限:在root身份修改权限后以当前用户身份访问。
二.向sudoers中添加用户
1.在sudoers文件中找到
root ALL=(ALL) ALL#后面换行并将当前用户添加进去
xxx ALL=(ALL) ALL;
2.如果不想每次都输入密码,可以修改后不需要每次都输入密码了。
xxx ALL=(ALL) NOPASSWD: ALL
三.撤销对/etc/sudoers文件权限的修改
如果是通过修改文件的权限去添加用户的,则在添加完后需要还原文件的权限属性。
四.注意事项
如果在修改权限时为了图方便,直接chmod 777/etc/sudoers则在添加完用户后必须还原权限,如果不还原则在执行sudo命令时会出现如下错误提示:
sudo:/etc/sudoers is world writable
sudo:no valid sudoers sources found,quitting
sudo:unable to initialize policy plugin
1
2
3
执行以下命令即可修复这个问题
以root身份运行: chmod 440/etc/sudoers即可
为什么centos应用程序有编程
1.为什么要学习 shell编程
Linux运维工程师在进行服务器集群管理时,需要编写 Shell程序来进行服务器管理。
对于 JavaEE和 Python程序员来说,工作的需要,你的老大会要求你编写一些 Shell脚本进行程序或者是服务器的维护,比如编写一个定时备份数据库的脚本。
对于大数据程序员来说,需要编写 Shell程序来管理集群。
2. shell是什么
示意图:
图1
请点击输入图片描述
Shell是一个命令行解释器,它为用户提供了一个向 Linux内核发送请求以便运行程序的界面系统级程序,用户可以用 Shell来启动、挂起、停止甚至是编写一些程序.
3. shell编程快速入门- shell脚本的执行方式
3.1脚本格式要求
脚本以#!/bin/bash开头
脚本需要有可执行权限
图2
请点击输入图片描述
3.2脚本的常用执行方式
方式 1(输入脚本的绝对路径或相对路径)
首先要赋予 helloworld.sh脚本的+x权限
执行脚本
图3
请点击输入图片描述
方式2(sh+脚本),不推荐(了解即可)
说明:不用赋予脚本+x权限,直接执行即可
图4
请点击输入图片描述
4. shell的变量
4.1 shell的变量的介绍
Linux Shell中的变量分为,系统变量和用户自定义变量。
系统变量:HOME、HOME、PWD、SHELL、SHELL、USER等等
比如: echo$HOME
等等..
图5
请点击输入图片描述
请点击输入图片描述
显示当前 shell中所有变量:set
4.2 shell变量的定义
基本语法
注意:=两侧不能有空格
1)定义变量:变量=值
2)撤销变量:unset变量
3)声明静态变量:readonly变量,注意:不能 unset
快速入门
案例 1:定义变量 A
案例 2:撤销变量 A
图6
请点击输入图片描述
案例 3:声明静态的变量 B=2,不能 unset
图7
请点击输入图片描述
案例 4:可把变量提升为全局环境变量,可供其他 shell程序使用【一会举例。】
4.3定义变量的规则
1)变量名称可以由字母、数字和下划线组成,但是不能以数字开头。2)等号两侧不能有空格3)变量名称一般习惯为大写
4.4将命令的返回值赋给变量(重点)
A=`ls-la`反引号,运行里面的命令,并把结果返回给变量 A
A=$(ls-la)等价于反引号
图8
请点击输入图片描述
5.设置环境变量
5.1基本语法
1) export变量名=变量值(功能描述:将 shell变量输出为环境变量)
2) source配置文件(功能描述:让修改后的配置信息立即生效)
3) echo$变量名(功能描述:查询环境变量的值)
图9
请点击输入图片描述
5.2快速入门
在/etc/profile文件中定义 TOMCAT_HOME环境变量
图10
请点击输入图片描述
请点击输入图片描述
查看环境变量 TOMCAT_HOME的值
echo$TOMCAT_HOME
在另外一个 shell程序中使用 TOMCAT_HOME
图11
请点击输入图片描述
请点击输入图片描述
注意:在输出 TOMCAT_HOME环境变量前,需要让其生效
source/etc/profile
6.位置参数变量
6.1介绍
当我们执行一个 shell脚本时,如果希望获取到命令行的参数信息,就可以使用到位置参数变
量,比如:./myshell.sh 100 200,这个就是一个执行 shell的命令行,可以在 myshell
脚本中获取到参数信息
6.2基本语法
$n(功能描述:n为数字,$0代表命令本身,$1-$9代表第一到第九个参数,十以上的参数,十
以上的参数需要用大括号包含,如${10})
$*(功能描述:这个变量代表命令行中所有的参数,$*把所有的参数看成一个整体)
$@(功能描述:这个变量也代表命令行中所有的参数,不过$@把每个参数区分对待)
$#(功能描述:这个变量代表命令行中所有参数的个数)
6.3位置参数变量应用实例
案例:编写一个 shell脚本 positionPara.sh,在脚本中获取到命令行的各个参数信息
图12
请点击输入图片描述
7.预定义变量
7.1基本介绍
就是 shell设计者事先已经定义好的变量,可以直接在 shell脚本中使用
7.2基本语法
$$(功能描述:当前进程的进程号(PID))$!(功能描述:后台运行的最后一个进程的进程号(PID))$?(功能描述:最后一次执行的命令的返回状态。如果这个变量的值为 0,证明上一个命令
正确执行;如果这个变量的值为非 0(具体是哪个数,由命令自己来决定),则证明上一个命令
执行不正确了。)
7.3应用实例
在一个 shell脚本中简单使用一下预定义变量
图13
请点击输入图片描述