yum好难呀,不过培训的时候我会认真听的,难的目前有yum(Shell前端软件包管理器)和RPM红帽包管理,还有Shell(贝壳)!知识点:查询、安装、卸载RPM软件包;利用yum来管理这些软件包;(听不懂怎么办,你要认真仔细听懂每一句话,进入状态来听就容易多了哦)
源码包部署!编译安装介绍!
编译安装简单来讲就是把一个软件的源代码文件变成一个可以执行的二进制文件,并且放到我们的系统里面去,哈,能够使用了,这就是编译安装。
为什么要使用编译安装?
答:
1.选择源码能获得最新版(修改bug);
2. 选择源码能够扩展到许多平台;
3. DIY手工打造,不必装全部的功能细节,只需根据用户需求去装即可。
如何使用编译安装?
答:编译准备:C语言用gcc --version,C++用g++ --version,就好像要准备厨房的锅碗瓢盆刀叉一样,厨房里的锅碗瓢盆刀叉能够把生的菜变成熟的菜,而gcc这些工具呢,它能把我们源代码程序变成可以使用的二进制程序文件。
编译安装的过程:
解包用tar,在./configure里面配置,make是编译,make install是安装。
取材:一款软件包:NMAP(Network Mapper网络勘查员),用来做网络扫描和安全审计。官网:https://nmap.org/,首先要在官网上下载最新源码包nmap-6.47.tgz,释放到/usr/src目录下,解压后标准位置:/usr/src/软件名-版本号/
红色的就是配置
配菜:使用configure脚本进行配置,通过./configure--help可以查看帮助,配置参数:./configure --prefix=/usr/local/nmap,确认是否配置成功:ls Makefile。
下载完nmap包之后,查看输入lsnmap-6.47.tgz回车,解包tar zxf nmap-6.47.tgz -C /usr/src/回车,查看ls /usr/src/回车,查看ls /usr/src/nmap-6.47/回车,切换到nmap-6-47目录cd /usr/src/nmap-6.47/回车,配置帮助./configure --help | less回车,退出帮助,开始配菜./configure--prefix=/usr/local/nmap回车后会自动配菜,最后出现Configurationcomplete就好了,检查一下ls Makefile回车,确实有Makefile。
笑死我了,还有一张用符号写出来的恐龙喷火图片:
做菜:make回车,查看ls。
上菜:make install回车,查看ls/usr/local/nmap回车。
验证安装结果:先回到根目录cd回车,查看nmap帮助/usr/local/nmap/bin/nmap --help回车,退出帮助,扫描本机/usr/local/nmap/bin/nmaplocalhost回车。
另一个编译安装的事例!源代码安装httpd网站服务器!
httpd是Apache HTTPServer。
取材:先去掉红帽里面的httpd服务避免端口冲突了yum-y remove httpd回车,下载httpd-2.2.26.tar.gz源码包并释放,tar zxf httpd-2.2.26.tar.gz -C /usr/src回车,切换到httpd-2.2.26目录cd /usr/src/httpd-2.2.26回车
配菜:配置./configure --prefix=/usr/local/httpd回车
做菜和上菜:make && make install回车。
验证安装结果:查看目录ls -F /usr/local/httpd回车,
部署网页来验证安装过程,先切换到httpd目录cdusr/src/local/httpd回车,查看该目录下有什么文件夹ls回车,查看htdocs文件夹里面的网页cat /htdocs/index.html(默认写好的<html><body><h1>Itworks!</h1></body></html>)回车,启动httpd网站服务/bin/apachectl start回车,打开浏览器,输入网址localhost回车。
安装目录的选择!
有两种模式:集中模式,就是安装前设置一个文件夹(方便卸载,不方便使用);分散模式,就是直接安装(方便使用,不方便卸载)。
创建快捷方式:ln -s /usr/local/nmap/bin/nmap/usr/local/bin回车,nmaphost回车
解析用户帐号文件!
/etc/passwd,保存用户账号的基本信息;对应字段的表示
/etc/shadow,保存密码和有效期信息;对应字段的表示
格式看这里看这里!!!!!!!!!!!!!!!
最基本的添加操作!
1.添加用户:useradd zhangsan回车
2.为此用户设置登录口令:passwd zhangsan回车,1234567回车,1234567回车
然后可以去Linux主机上做一个登陆测试ctrl+alt+f3,输入zhangsan回车,输入密码回车。
用户密码控制!
passwd命令:格式是passwd选项 用户名
常用命令选项:
-d是清空用户密码,无需密码即可登陆;
-l是锁定用户账号;
-S是查看用户账号的状态是否被锁定;
-u是解锁用户账号;
--stdin是从标准输入(比如管道)取密码;
例子:useradd stu01回车,useraddstu02回车,清空密码passwd -d stu02回车,更改密码passwd stu01回车,输入密码回车,echo 1234567 | passwd--stdin stu02可以赋予,passwd -l stu02可以锁定就不可以登录了,passwd -S stu02看下是否被锁定,解锁是passwd -u stu02回车。
usermod修改用户!
usermod命令:格式是usermod选项 用户名
常用命令选项:
-l是更改用户账号的登陆名称;
-L锁定用户账户;
-U解锁用户账户;
-u、-d、-e、-g、-G、-s与useradd相同。
例子:无。
chage密码有效控制!
管理工具chage命令:格式是chage 选项用户名
常用命令选项:
-l是查看密码有效期信息;
-E是指定账号过期时间,YYYY-MM-DD
-I是指定当密码失效后多少天锁定账号
-m是指定密码的最小天数
-M是指定密码的最大天数
例子:chage -l root回车;
chage -E 2017-12-31 root回车;
chage -l root回车;
chage -d 0 stu01回车是下次登陆就得修改密码啦,不修改就不能登陆,QQ里面就是这样设置的
userdel删除用户!
userdel命令:格式是userdel-r 用户名
userdel -r stu02;
查询账号(可以检测这个用户存不存在)!
id命令,Identity,格式是id用户名。
组账号管理!
解析组账号文件:/etc/group,保存组账号的基本信息,每个组记录一行,以:分割为4个字段
添加组账号!
groupadd命令:格式是groupadd-g GID号 组名
groupadd -g 600 stugrp。
删除组!
groupdel命令:格式是groupdel组名
groupdel stugrp。
修改组!
groupmod命令:格式是:修改组的GID:groupmod -g GID 组名
修改组名字groupmod -n 新组名 组名
groupmod -g 1000 -n stugrp student。
查看用户的组信息!
groups命令:格式是groups用户名
创建组groupadd student回车,查看该目录下的组tail -1 /etc/group回车,修改GID为1000的写法groupmod -g 1000 student回车,修改组名字groupmod -n stugrp1000 student回车,查询账号名属于哪个组groups或groups 账号名。
组账号管理!
用gpasswd管理组成员!
gpasswd命令:格式是gpasswd选项 组名
-A:定义组管理员列表
-a:添加组成员,每次只能加一个
-d:删除组成员,每次只能删一个
-M:定义组成员用户列表,可设置多个
gpasswd -A stu01 stugrp(将用户stu01放入组stugrp里);
gpasswd -M zengye,stu01,sys01 stugrp(将这3个用户化放入组stugrp里)
gpasswd -d sys01 stugrp(将用户sys01从组stugrp里删除)
如何验证组成员是否有管理组成员的权限呢?
答:用su去切换用户
su - abcd回车,whoami回车
gpasswd -a abcd stugrp把abcd添加到组stugrp
gpasswd -a root stugrp把root添加到组stugrp
gpasswd -d abcd stugrp删除
退出普通用户:exit回车
清空一个组的成员列表,不会清空管理员:gpasswd -M "" stugrp
查看是否清空了:grep stugrp /etc/gshadow
清空管理员:gpasswd -A "" stugrp
查看是否清空了:grep stugrp /etc/gshadow;
组账号管理!基本组切换及认证!
设置/清楚组密码!
gpasswd命令:格式是gpasswd[-r] 组账号名
添加-r时为移除密码,否则设置密码
gpasswd stugrp是设置密码
查看stugrp组里面的成员:grep stugrp/etc/gshadow
你会发现会有一长串加密的字符。
那这个密码什么时候用得到呢?
newgrp切换基本组!
newgrp命令:是用于临时加入一个新组的情况;
例子:
首先确认一下stugrp组的基本信息:grepstugrp /etc/gshadow回车;
可以看到没有成员和密码的;
给stugrp组添加一个成员:gpasswd -aabcd stugrp
再次确认一下stugrp组的基本信息:grepstugrp /etc/gshadow回车;
可以看到有一个成员叫abcd了
给stugrp组设置一个密码:gpasswdstugrp回车;
再确认一下stugrp组的基本信息:grepstugrp /etc/gshadow回车;
你会发现有一长串的字符了
然后添加一个用户名叫stu1000:useradd stu1000回车;
现在来解决如何用密码的问题:
切换用户到abcd的用户:su - abcd回车;
先确认一下这个abcd用户的基本组有哪些:id-gn回车;
你会发现它的基本组有abcd;
现在为了自己的调整权限来变更它的基本组:newgrp stugrp回车;
再来看一下它的基本组:id -gn回车;
你会发现它的基本组就变成了stugrp;
exit一下就会退出切换环境;
此时再id -gn回车;
你会发现基本组又变成了abcd;
我们的abcd本来就在stugrp里面所以刚才切换stugrp组(newgrp stugrp)的时候不需要输入密码;
而abcd不再users这个组里面,当切换users组(newgrp users)的时候就会提示输入密码
我们现在退出这个用户exit回车;
再切换到stu1000这个用户:su -stu1000回车;
这个用户不是stugrp里面的成员,如果要切换到stugrp这个组里面就得输入密码,就好比不是这个班上的同学来到这个班上了需要密码呀;
先看一下自己的基本组是什么呗:id -gn回车;
发现是stu1000;
如果想切换到stugrp,就得输入密码:newgrpstugrp回车;
切换成功再查看一下自己的基本组是什么:id -gn回车;
退出exit回车;exit回车;
看一下stugrp组的基本信息:grepstugrp /etc/gshadow回车;
发现有一长串字符,说明这个组有密码
删除组密码:gpasswd -r stugrp回车;
再看一下你会发现没有密码了:grep stugrp /etc/gshadow回车;