用户管理和权限管理

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:命令执行过程不与管理员交互


 

posted @ 2021-09-23 17:32  安日佩  阅读(518)  评论(0)    收藏  举报