4、源码包和rpm包的区别

1)区别

安装前:概念上的区别

安装后:安装位置不同

2)安装位置

rpm包安装位置

Rpm包默认安装路径

/etc/

配置文件安装目录

/usr/bin/

可执行的命令安装目录

/usr/lib/

程序所使用的函数库保存位置

/usr/share/doc/

基本的软件使用手册保存位置

/usr/share/man/

帮助文档保存位置

源码包安装位置:一般是指定位置:/usr/local/软件名/

3)安装位置不同带来的影响

rpm包可以使用系统服务管理命令(service,调用/etc/rc.d/init.d/)来管理(service httpd start)

而源码包只能用绝对路径进行服务管理   /usr/local/software start

5、源码包安装

1)源代码保存位置:/usr/local/src/

2)软件安装位置:/usr/local/

3)安装前需已安装gcc软件组

4)步骤:

下载源码包->解压缩->进入解压缩目录

解压缩目录中:INSTALL:安装说明,有安装语句提示

->./configure –prefix=/usr/local/software

./configure:软件配置与检查,定义需要的功能选项。检测系统环境是否符合安装要求,将定义好的功能选项和检测系统环境的信息都写入Makefile文件,用于后续的编辑

->make

make:编译,调用gcc编译,此时都不会生成安装目录,只是编译。如果编译出错,可以使用make clean清除编译产生的临时文件

->make install

make install:安装编译

6、脚本安装包

安装过程被写成了自动安装的脚本,只要解压缩后执行安装脚本(setup.sh),定义简单的参数,就可以完成安装(如webmin,基于web的Linux系统管理界面)

用户管理

在Linux中主要通过用户配置文件来查看和修改用户信息

1、用户配置文件-用户信息文件  /etc/paawd

格式  username:密码标志:UID:GID:用户说明:用户家目录:shell

密码标志:为空标志该账号无密码;不为空时有密码,而真正的密码在/etc/shadow中,只允许root查看

UID:用户id  0:超级用户 1-499:系统用户   500-65535:普通用户

GID:用户初始组id。初始组:用户新建时就有一个与用户名相同的初始组

家目录:普通用户-/home/用户名/  超级用户:/root/

shell:Linux的命令解释器,/bin/bash – 标准shell     /sbin/nologin – 禁止登录

2、用户配置文件-影子文件(/etc/shadow)

格式 username:加密密码:最后修改日期:修改间隔时间:有效天数:警告天数:宽限天数:账号失效时间:保留字段

加密密码:sha512散列加密算法,“!!”或“*”代表没有密码,不能登录

最后修改日期:密码最后一次修改日期,使用1970年1月1日作为标准时间,每过一天时间戳加1

修改间隔时间:和第3字段相比,未过期则不能修改密码

有效期:与第3字段相比,在密码有效期内要改密码

警告天数:密码到期前的警告天数,与第5字段相比,密码到期几天都会向用户发起警告

密码过期后的宽限天数:与第5字段相比,过期后还可以登。0-立即  -1 永不失效

账号失效时间:要用时间戳表示

将时间戳换算为日期:  date -d “1970-01-01 时间戳 days”

将日期换算成时间戳:  echo $(($date –date=”日期” +%s)/86400+1))

3、用户配置文件-组信息文件  /etc/group

格式  组名:组密码标志:GID:组中附加用户

组密码标志:真正的密码在/etc/gshadow

4、用户配置文件-组密码文件  /etc/ gshadow

格式  组名:组密码:组管理员用户名:组中附加用户

Linux 第八天的更多相关文章

  1. Linux 驱动开发

    linux驱动开发总结(一) 基础性总结 1, linux驱动一般分为3大类: * 字符设备 * 块设备 * 网络设备 2, 开发环境构建: * 交叉工具链构建 * NFS和tftp服务器安装 3, ...

  2. <实训|第八天>超级管理员管理linux用户行为权限附监控主机状态

    作为运维工程师,系统管理员,你最大的权力就是给别人分配权力,而且你还能时时控制着他们,今天就给大家介绍一下关于管理用户这一方面的前前后后.  开班第八天: 主要课程大纲:(下面我将把自己的身份定位成一 ...

  3. 十天学Linux内核之第八天---构建Linux内核

    原文:十天学Linux内核之第八天---构建Linux内核 今天是腊八节,说好的女票要给我做的腊八粥就这样泡汤了,好伤心,好心酸呀,看来代码写久了真的是惹人烦滴,所以告诫各位技术男敲醒警钟,不要想我看 ...

  4. 常见linux命令释义(第八天)—— Bash Shell 的操作环境

    换了新公司,公司的领导很不错.自己感受比较多的地方是,自己的工作效率明显比以前高了.以前会对频繁变动的需求十分不耐烦,现在接到需求后会仔细的思考,进行整体构建.即使以后需求有变动,也能够比较轻易的在原 ...

  5. 《Linux就该这么学》第八天课程

        当一个人的心中,有着更高的山峰想要去攀登时,他就不会在意脚下的泥沼. 今天发一下干货,常用命令的一些总结,今天的理论知识比较多. 原创地址:https://www.linuxprobe.com ...

  6. linux 学习第八天

    一.特殊权限 1.SUID 让命令的执行者临时获取到了所有者权限(rws) 2.SGID 让目录中新的文件的所有组,归属上级目录 3.SBIT 粘滞位 让目录内的文件只能被文件所有者删除 4.修改文件 ...

  7. Linux的权限管理操作-Linux从入门到精通第八天(非原创)

    文章大纲 一.网络相关概述二.网络相关命令三.项目上线流程(必须掌握)四.学习资料下载五.参考文章   一.网络相关概述 1. 网络发展 1.1 信息传递远古时期,人们就通过简单的语言.壁画等方式交 ...

  8. linux学习之路第八天(组管理和权限管理)

    组管理和权限管理 1.Linux 组基本介绍 在linux中的每个用户必须属于一个组,不能独立于组外.在linux中每个文件有所有者,所在组,其他组的概念 1)所有者 2)所在组 3)其它组 4)改变 ...

  9. linux学习第八天 (Linux就该这么学)

    今天学了,mount 挂载,umount撤销挂载,.fdisk 命令 管理硬盘 交换分区swap,硬盘配额 xfs_quota命令 今天工作,手机看了,看的不全,回头看录播了.

随机推荐

  1. 学习 MeteoInfo二次开发教程(三)

    1.breakList的问题 ((PolygonBreak) aLS.breakList[0]).DrawFill=false; 新的类库将LegendScheme的breakList属性改为了Leg ...

  2. C常量与控制语句

    在C语言中定义常量的两种方式 在C语言编程中定义常量有两种方法. const关键字 #define预处理器 1. const关键字 const关键字用于定义C语言编程中的常量. const float ...

  3. 字符串格式化:f-strings

    字符串格式化一般使用: {}.format 和 %s 那么python 3.6以后新加的一个功能就是: value=“zhang”f“string{value}” # 他的主要功能就是对于我们的f或F ...

  4. WPF dev 获取gridControl筛选后的数据

    GridControl.DataController.GetAllFilteredAndSortedRows();

  5. c# 对DataTable进行分组group by

    ]);//对索引为0的一列进行分组,结果是集合

  6. Sklearn (一) 监督学习

    本系列博文是根据SKlearn的一个学习小结,并非原创!  1.直接学习TensorFlow有点不知所措,感觉需要一些基础知识做铺垫.  2.之前机器学习都是理论<Ng机器学习基础>+底层 ...

  7. volatile适用场景之二

    1.volatile最适用一个线程写,多个线程读的场合. 如果有多个线程并发写操作,仍然需要使用锁或者线程安全的容器或者原子变量来代替.(摘自Netty权威指南) 疑问:如果只是赋值的原子操作,是否可 ...

  8. JS stringObject.Match()

    JavaScript match() 方法 JavaScript String 对象 定义和用法 match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配. 该方法类似 inde ...

  9. Java 原子语义同步的底层实现

    原子语义同步的底层实现 volatile volatile只能保证变量对各个线程的可见性,但不能保证原子性.关于 Java语言 volatile 的使用方法就不多说了,我的建议是 除了 配合packa ...

  10. threading 多线程使用

    实例 1import threading #线程import time def Say(n): print('Test %d' %n) time.sleep(2) if __name__ == '__ ...