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. POJ3259 Wormholes

    Description While exploring his many farms, Farmer John has discovered a number of amazing wormholes ...

  2. html5 + shiro

    偶然与巧合 舞动了蝶翼 谁的心头风起 前赴而后继 万千人追寻 荒漠唯一菩提 似擦肩相遇 或擦肩而去 命运犹如险棋 无数时间线 无数可能性 终于交织向你

  3. Core Graphices 获取上下文

    Core Graphices 获取上下文的三种方式: 1.自定义view 重写view 的 drawRect:(CGRect)rect方法 - (void)drawRect:(CGRect)rect ...

  4. Spring系列博客汇总

    https://www.cnblogs.com/leeSmall/category/1093236.html   springmvc https://www.cnblogs.com/leeSmall/ ...

  5. (整理)SQL Server 2008 CDC 功能使用

    最近某项目突然要增加数据的获取,但是不能改程序.也没有同步的只读库,只好使用CDC来进行尝试. CDC的启用和停止全部用SQL实现,在这里给出主要的SQL步骤: /****** Script for ...

  6. Web App Checklist

    Mobile Web App checklist 目标: 高性能Mobile Web App 一.UX和UI 操作节目与边框之间留空隙: 防止操作过程中,触发系统缺省行为,有些是无法disable的. ...

  7. 学习笔记:FIS3

    http://fis.baidu.com/ FIS3官网 [配环境]: 1.先要安装node.js https://nodejs.org/en/ NODE.js官网(下载这个,下载后运行:  http ...

  8. 获取mysql 配置和目录

    http://bbs.csdn.net/topics/390620630 mysql> show variables like '%dir%';+------------------------ ...

  9. 关于spring的一些注解

  10. leetcode98

    class Solution { public: vector<int> V; void postTree(TreeNode* node) { if (node != NULL) { if ...