用户管理和权限管理
Linux 是一个多用户,多任务,多进程的服务器操作系统
用户账号的常见分类:
超级用户:root uid=0 gid=0 权项最大(使用需要严谨)
普通用户: 1000<=uid<=60000 受到权限限制,一般在宿主目录下有完整权限
程序用户: 1=<uid<=999 应用程序运行时需要通过用户身份获取相应的系统资源,通常不能用于登录系统或管理系统。
/etc/passwd
作用:保存用户名称、宿主目录、登录Shell等基本信息,每一行对应一个用户的账号记录。 head -1 /etc/passwd
第一个字段:用户账号名
第二个字段:密码占位符(密码保存到了影子文件)
第三个字段:uid编号
第四个字段:gid编号
第五个字段:用户备注信息(用户全名)
第六个字段:用户宿主目录(家目录)
第七个字段:登录时分配到的Shell解释器(若shell类型为/sbin/nologin 则不能登录)
/etc/shadow
影子文件 作用:保存用户的密码、账号有效期等信息,每一行对应一个用户的密码记录。 tail -1 /tc/shadow
加密的密码,!!表示密码被锁定
添加用户账号 useradd 命令
注意:在Ubuntu系列系统中:adduser 格式:useradd [选项]...用户名 useradd tomcat tail -2 /etc/passwd
-u:指定udi标记号
-d:指定宿主目录,默认为/home/用户名
-e:指定账号失效时间(YYYY--MM--DD)
-M:不为用户建立初始化宿主目录
-s:指定用户的登录shell
-g:指定用户的基本组名(或gid号),系统中创建用户时,默认会创建一个同名的基本组
-G:指定用户的附加组名(或gid号)
-c:添加备注,显示在/etc/passwdd 第五字段 
用户账号的初始配置文件
文件来源:新建用户账号时,用户宿主目录内容从 /etc/skel/ 目录中国复制而来
主要的用户初始配置文件 --> 脚本(只对当前用户生效)
~/.bash_profile:每次登录时执行
~/.bashrc:每次进入新bash环境时执行
~/.bash_logout:每次退出登录时执行
~/.bash_history:用户登录时从该文件加载历史命令记录
history 查看历史命令信息
history -c 清除历史命令信息
全局初始配置文件,对所有用户生效
/etc/bashrc
/etc/profile
注意:/etc/profile 和~/.bash_profile 冲突了,~/bash_profile 的配置覆盖全局文件配置
设置/更改用户口令 passwd 命令
格式:passwd[选项]...[用户名]
修改用户属性 usermod 命令
格式:usermod [选项]...用户名
-I:更改用户账号的登录名字
-L:锁定用户账号
-U:解锁用户账户(passwd -I 锁定的用户,通过usermod -U 解锁两次)
删除用户账号 userdel 命令
格式:userdel 用户名
-r:删除用户的同时删除用户的宿主目录
关于用户及密码相关控制文件 /etc/login.defs
组账号概述
组:用户集合,组的存在便于管理多个用户的权限
组账号分类:基本组(私有组)附加组(公共组)
组账号文件 /etc / eroup : 保存组账号基本信息 /etc / gshadow :保存组账号的密码信息(较少使用) head -1 /etc/group
第1个字段:组名
第2个字段:密码占位符
第3个字段: GID
第4个字段:组内的成员信息 ![]()
添加组账号 groupadd命令 格式 :groupadd [-g GID] 组账号
设置组账号密码/添加、删除组成员 gpasswd 命令 格式 :gpasswd[选项]... 组账号名
-a : 向组内添加一个用户
-d :从组内删除一个用户成员
-M : 定义组成员列表,以逗号分隔
增加或删除组成员,也可用vi編辑器对/ etc / group 文件直接编译修改
W命令 作用:查询已登录到主机的用户信息
whoami 作用:查询当前登录的账号名
who 作用:与w命令类似,查询已登录到主机的用户
权限及归属管理
基本访问权限
读权限:针对目录可以查看目录的列表(ls),针对文件可以查看文件内容(cat more less head tail)
写权限w:针对目录可以改动目录的列表内容(rm touch mkdir cp mv),针对文件可以修改文件内容(vim sed)
可执行x:针对目录可以切换(cd),针对文件允许运行程序(二进制文件,脚本文件)
归属(所有权)
属主:拥有该文件的用户账号
属组:拥有该文件的组账号
查看文件的权限和归属
第一位表示文件类型
-:表示一般文件
d:表示目录
I:表示软链接(快捷方式)
p:表示 PIPE 管道文件
s:表小 socket 通信套接字文件
c:表示字符设备文件
b:表示块设备文件

目录满权限:777,默认是755
文件满权限:666,默认是644
设置文件或目录的权限chmod命令 格式:chmod [-R] [ugoa][+-=][rwx]参数 chmod[-R][nnn]参数
-R:表示以递归的方式设置目录及目录下的所有子目录及文件的权限。-u:属主 -g:属组 -o:其他人 -a:所有人 +:添加 -:删除 =:重置设置文件的归属 chown 命令 格式:ychown 属主 文件 chown :属组 文件 =chown.属组 文件 =chgrp 属组. chown 属主:属组 文件。

ACL权限控制
ACL 概述
ACL(Access ControlList),主要作用可以提供除属主、属组、其他人的 rwx 权限之外的细节权限设定。
ACL 的权限控制
(1)使用者(user) (2)群组(group) (3)默认权限掩码(mask)
启动 ACL
若未安装,挂载光盘后 yum -y install acl
rpm 应用程序与系统命令的对比
文件位置
系统命令:一般在/bin和/sbin目录中,或为Shell 内部指令
应用程序:通常在/usr/bin和/usr/sbin目录中主要用途
系统命令:完成对系统的基本管理工作,例如IP配置工具
应用程序:完成相对独立的其他辅助任务,例如网页浏览器适用环境
系统命令:一般只在字符操作界山中运行
应用程序:根据实际需要,有些程序可在图形界面中运行运行格式
系统命令:一般包括命令字、命令选项和命令参数应用程序;通常没有固定的执行格式
典型RPM应用程序的目录结构


RPM Package Manager
由RedHat 公司提出,被众多Linux 发行版所采用
rpm命令建立统一的数据库文件、详细记录软件包安装、卸载等变化信息、自动分析软件包依赖关系
软件素材下载地址:http://www.rpm.org

格式:rpm-ql子选项][软件名]
rpm-q软件名查询指定软件是否安装(“-q”选项时实际上调用了“/usr/bin/rpmquery”程用法:结合不同的子选项完成不同查询
序完成查询工作)
rpm-qa查询系统已经安装所有的软件信息
rpm-qalgrep软件名查询当前系统安装了哪些与软件名称相关的包
rpm -qi软件名查询已安装软件的详细信息
rpm-ql软件名查询已安装软件安装到什么地方去了
rpm -qf 文件的绝对路径 查询该文件由哪个软件产生
rpm -qc软件名 查询软件生成的配置文件
rpm-qd 软件名 查询软件生成的文档文件
挂载光盘镜像文件(将CentOS操作系统ISO镜像文件放入虚拟机光驱,注意:设备状态的 v必须打)。
mount|grep"sr0”查询光盘是否挂载 umount/dev/sr0卸载光盘/dev/sr0=/dev/cdrom mkdir/media/cdrom准备空口录作为挂载点 mount/dev/sr0/media/cdrom挂载光盘 ls-1/media/cdrom/Packages 查看rpm 软件包列表
安装或升级RPM软件
格式:rpm [选项]RPM 包文件.
rpm-ivh完整软件合包名称
-i安装一个新的rpm软件包
-h以“#”号显示安装的进度 v显示交装过程中的详细信息
--force强制交装(主要用在安装旧的软件代替新的软件)
--nodeps 安装、升级或卸载软件时,忽略依赖关系
--test 测试安装
卸载指定的RPM软件
rpm -e 软件名。
升级安装
rpm-Uvh完整软件包名称#无论旧版本软件是否安装,都安装新版本
rpm-Fvh完整软件包名称#若旧版本软件没有安装,则放弃安装新版本
重建rpm数据库 rpm -rebuilddb rpm -initdb

步骤1:tar解包
用途:解压并释放源代码包到指定的口录(习惯将软件包放到/usr/src/日录) tar zxf httpd-2.4.37.tar.gz -C/usr/src/
步骤2:./configure配置
用途:设置安装目录、交装功能模块等选项、生成 Makefile cd/usr/src/httpd-2.4.37/
./configure-prefix=/usr/local/httpd#--prefix指定安装路径。部分人安装到/opt或者用户宿主月录下
步骤3:make 编译
用途:基于configure步骤生成的Makefile,编译生成可执行的二进制文件或普通文件 make -j2 j通过多个CPU内核共同编译
步骤4:make install 安装
用途:复制二进制文件或普通文件到系统,配置应用环境 make install
逻辑与:&&
./configure -prefix=/usr/local/httpd && make && make install
步骤5:验证安装效果前期准备
systemctl stop httpd rpm -e httpd --nodeps
5.1 备份配置文件后,修改配置文件
cd/usr/local/httpd/conf/ cp httpd.conf httpd.conf.bak
vim/usr/local/httpd/conf/httpd.conf进入文件后搜索 ServerName 将#注释去掉
#ServerName www.example.com:80 ServerName www.example.com:80
配置本地yum 仓库
(务必把光盘镜像文件挂载到/media/cdrom下) yum 命令:便于自动解决rpm 软件包的依赖关系
挂载光盘镜像文件:
mount i grep"sr0”查询光盘是否挂载
umount/dev/sr0卸载光盘/dev/sr0=/dev/cdrom
mkdir/media/cdrom准备空口录作为挂载点mount/dev/sr0/media/cdrom 挂载光盘
Is-1/media/cdrom/Packages查看rpm软件包列表
修改yum仓库配置文件
cd /etc/yum.repos.d/ mkdir backup mv *,repo backup/
yum clean all && yum makecache yum clean all #清除yum 仓库缓存 yum makecache #重建yum 仓库缓存 yum list #显示yum 仓库软件列表
yum -y install software #安装 software 软件
yum -y update software #升级 software 软件(需要配置互联网 yum仓库)
yum -y remove software #卸载 software 软件 remove=erase(生产环境中慎用)
-y:命令执行过程不与管理员交互
浙公网安备 33010602011771号