useradd 创建用户

userdel 删除用户

passwd 设置密码
usermod 修改用户
history 查看历史命令
gpasswd 修改组密码
gourpadd 创建组
id 查看用户id
groups 查看用户属于的用户组
w 查看登录用户的详细信息
who 查看登录用户信息
whoami 查看当前登录用户
chmod 修改用户权限
chown 修改用户属主属组
umask 修改权限掩码
echo 回显

一、用户账号管理

1、用户账号概述

Linux是一个多用户,多任务,多进程的服务器操作系统

用户角色:超级用户(管理员),普通用户,程序用户

用户:使用者在计算机内部的身份标识

用户账号的常见分类:

     超级用户:root  uid=0  gid=0  权限最大(使用需要严谨)

     普通用户:1000<=uid<=60000受到权限限制,一般在宿主目录下有完整权限

     程序用户:1<=uid<=999 应用程序运行时需要通过用户身份获取相应的系统资源,通常不能用于登录系统或管理系统

2、添加用户账号useradd命令

注意:在ubuntu系统系统中:adduser

格式:useradd[选项]...用户名

常用选项:

-u:指定uid标记号

-d:指定宿主目录,默认为/home/用户名

-e:指定账户失效时间(YYYY-MM-DD

-M:不为用户建立初始化宿主目录

-s:指定用户的登录shell

-g:指定用户的基本组名(或gid号),系统中创建用户时,默认会创建一个同名的基本组

-G:指定用户的附加组名(或gid号)

-c:添加备注,显示在/etc/passwd第五字段

用户管理和权限管理的基本知识_用户账号

 

 

 3、用户账号的初始配置文件

文件来源:新建用户账号时,用户宿主目录内容从/etc/skel/目录中复制而来

主要的用户初始配置文件-->脚本(只对当前用户生效):

~/.bash_profile:每次登录时执行

~/.bashrc:每次进入新bash环境时执行

~/.bash_logout:每次退出登录时执行

~/.bash_history:用户登录时从该文件加载历史命令记录

History 查看历史命令信息

History-c 清除历史命令信息

历史命令引用:

!序号

!命令开头

Ctrl+r

全局初始化配置文件,对所有用户生效

4、设置/更改用户口令 passwd命令

格式:passwd[选项]...[用户名]

不指定用户名,默认修改的是当前登录用户的密码,普通用户可以修改自己的密码,root可以修改任意用户的密码。

常用选项:

-d:清空用户密码(和不设置密码不一样)

-l:锁定用户账户

-s:查看用户账号的状态(是否被锁定)

-u:解锁用户账号

-x,--maximum=DAYS:密码的最长有效时限

-n,--minimum=DAYS:密码的最短有效时限

-w,--warning=DAYS:在密码过期前多少天开始提醒用户

-i,--inactive=DAYS:当密码过期后经过多少天该账号会被禁用

5、修改用户属性usermod命令

格式:usermod[选项]...用户名

常用选项:

-l:更改用户账号的登录名字

-L:锁定用户账号

-U:解锁用户账号(passwd -l锁定的用户,通过usermod -U解锁两次)

以下选项与useradd命令中的含义相同:-u-d-e-s-c-g-G

6、删除用户账户userdel命令

格式:userdel用户名

常用选项:

-r:删除用户的同时删除用户的宿主目录

二、1、组账号概述

组:用户集合,组的存在便于管理多个用户的权限

组账号分类:

基本组(私有组)

附加组(公共组)

组账号文件

/etc/group:保存组账号基本信息

/etc/gshadow;保存组账号的密码信息(较少使用)

1个字段:组名

2个字段:密码占位符

3个字段:GID

4个字段:组内的成员信息

2、添加组账号groupadd命令

格式:groupadd[-g GID]组账号名

常用选项:-g GID

3、设置组账号密码/添加、删除组成员gpasswd命令

格式:gpasswd[选项]...组账号名

常用选项:

-a:向组内添加一个用户

-d:从组内删除一个用户成员

-M:定义组成员列表,以逗号分隔

增加或删除组成员,也可以vi编辑器对/etc/group文件直接编译修改

三、查询命令--idgroupsfingerwwhoamiwho

1id命令

作用:查询用户身份表示不

格式:id[用户名]

2、groups命令

作用:查询客户所属的组

格式:groups[用户名]

3、finger命令(需安装)

作用:查询账号的详细信息

格式:finger[用户名]

4、w命令

作用:查询已登录到主机的用户信息

5、Whoami

作用:查询当前登录的账号名

示例:

[root@localhost~]#whoami

root

6、Who

作用:与w命令类似,查询查询已登录到主机的用户

示例:

[root@localhost~]#who

Root tty1 2018-12-16 21:27

Root pts/0 2018-12-16 21:27(192.168.200.2)

Root pts/1 2018-12-16 21:23(192.168.200.2)

四、权限及归属管理

1、基本访问权限

读权限 r:针对目录可以查看目录的列表(ls),针对文件可以查看文件内容(cat more less head tail)

写权限 w:针对目录可以改动目录的列表内容(rm touch mkdir cp mv),针对文件可以修改文件内容(vim sed

可执行 x:针对目录可以切换(cd),针对文件允许运行程序(二进制文件,脚本文件)

2、归属(所有权)

属主:拥有该文件的用户账号

属组:拥有该文件的组账号

3、查看文件的权限和归属

第一位表示文件类型

-:表示一般文件

d:表示目录

l:表示软链接(快捷方式)

p:表示pipe管道文件

s:表示socket通信套接字文件

c:表示字符设备文件

b:表示块设备文件

用户管理和权限管理的基本知识_主目录_02

 

 

  Drwxr-xr-w的意思是一个权限为755的目录

-rw-r--r--的意思是一个权限为644的文件

目录满权限:777,默认是755

文件满权限:666,默认是644

4、设置文件或目录的权限chmod命令

格式:

Chmod[-R][ugoa][+-=][rwx]参数

Chmod[-R][nnn]参数

常用选项:

-R:表示以递归的方式设置目录下的所有子目录及文件的权限

u:属主

g;属组

o:其他人

a:所有人

+:添加

-:删除

=:重置

nnn:8进制的数字权限,如:777 666 644 755

注意:在建立目录时用-m选项可以直接设置新建目录的权限

5、设置文件的归属chown命令

格式:chown:属主 文件

      Chown:属组文件=chown属组 文件=chgrp属组

      Chown属主:属组 文件

6、权限掩码umask

1.作用:k控制新建的文件或目录的权限

2.umask值与新建文件、目录权限对照表

 用户管理和权限管理的基本知识_用户名_03

 

用户管理和权限管理的基本知识_用户名_04

 

 

 /etc/passwd

作用:保存用户名称、宿主目录、登录shell等基本信息,每一行对应一个用户的账户记录。

7各字段,各字段代表含义:

第一字段:用户账户名

第二字段:密码占位符(密码保存到了影子文件)

第三字段:uid编号

第四字段:gid编号

第五字段:用户备注信息(用户全名)

第六字段:用户宿主目录(家目录)

第七字段:登录时分配到的shell解释器(若shell类型为/sbin/nologin则不能登录)

密码破解:字典 穷举(暴力破解)

9字段,目前只启用前8字段,各字段代表的含义:

第一字段:用户账号名

第二字段:加密的密码,!!代表密码被被锁定

第五字段:密码最长有效期

第六字段:提前多少天警告用户口令将过期

第七字段:在密码过期之后多少天禁用此用户

第九字段:保留字段(未使用)

扩展知识点

一、ACL权限控制

  1. ACL概述

ACLAccess Control List,主要作用可以提供除属主、属组、其他人的rwx权限之外的细节权限设定。

  1. ACL的权限控制

(1) 使用者(user

 (2)群组(group

(3)默认权限掩码(mask

3.启动ACL

若未安装,挂载光盘后

4、acl的设置 setfacl命令

格式:setfacl:[选项][acl参数]目标文件或目录

常见选项;

-m:设置后续的acl参数,不可与-x一起使用

-x:设置后续的acl参数,不可与-m一起使用

-b:设置后续的acl参数

-k:设置后续的acl参数

-R:递归设置acl参数

-d:设置后续的acl参数,只对目录有效

ACL参数格式:

u:用户名:权限   【给某个用户设定权限,若不添加用户名,默认修改属主权限】

g:组名:权限    【给某个组设定权限,若不添加组名,默认修改属组权限】

m:权限   【更改权限掩码】

二、特殊权限 SUIDSGIDSBIT

1,SUIDset uid)概述

SUID特殊权限的特点:

SUID权限仅对二进制程序(binary program)有效

执行者对改程序需要具有可执行权限

SUID权限仅在执行该程序的过程中有效

执行者将具有该程序拥有者的权限

2、SGIDset gid)概述

SUID不同:SGID可以针对文件或目录来设定,对于文件来讲,SGID对二进制程序有用,若程序执行者对于该程序来说具备x的权限,则执行者在执行的过程中将会获得该程序群组的支持。

     SUID相同:对二进制有效以外,SGID还能够用在目录上,当一个目录设定了SGID的权限后,用户若对此目录具有rx权限,该用户能进入此目录后,在此目录下的有效群组将变为目录的群组,即若该用户具有w权限,新建文件或目录后我们会发现,该用户所建立的文件或目录的属组为上层(具有SGID设置)的目录的属组。
   3SBITsticky bit)粘滞位概述

当目录权限x的位置变为t时,即该目录设有sbit粘滞位权限,主要作用是该目录下的文件和目录,其属主与root用户具有删除该文件或目录的权限,增强安全性。

rpm应用程序与系统命令的对比

文件位置

系统命令:一般在/bin/sbin目录中,或为Shell内部指令

应用程序:通常在/usr/bin/usr/sbin目录中。

主要用途

系统命令:完成对系统的基本管理工作,例如IP配置工具

应用程序:完成相对独立的其他辅助任务,例如网页浏览器

适用环境

系统命令:一般只在字符操作界面中运行。

应用程序:根据实际需要,有些程序可在图形界面中运行。

运行格式

系统命令:一般包括命令字、命令选项和命令参数

应用程序:通常没有固定的执行格式

 用户管理和权限管理的基本知识_字段_05

常用的软件包封装类型

 用户管理和权限管理的基本知识_用户名_06

 

 查询已安装的RPM软件信息

格式:rpm-q[子选项][软件名]

用法:结合不同的子选项完成不同查询

rpm-q软件名查询指定软件是否安装(-q”选项时实际上调用了“/usr/bin/rpmquery”程序完成查询工作)

rpm-qa查询系统已经安装所有的软件信息。

rpm-qalgrep软件名查询当前系统安装了哪些与软件名称相关的包。

 rpm-qi软件名查询已安装软件的详细信息。

rpm-ql软件名查询已安装软件安装到什么地方去了。

rpm-qf文件的绝对路径查询该文件由哪个软件产生 。

rpm-qc软件名 查询软件生成的配置文件。

rpm-qd 软件名 查询软件生成的文档文件。

挂载光盘镜像文件(CentOS操作系统ISO镜像文件放入虚拟机光驱,注意:设备状态的 V必须打)

[root@localhost~]#mountlgrep"sr0”查询光盘是否挂载

挂载光盘镜像文件(将centos操作系统ISO镜像文件放入虚拟机光驱,注意:设备状态的√必须打)

mount|grep“sr0”查询光盘是否挂载

umount/dev/sr0卸载光盘/dev/sr0=/dev/cdrom

mkdir/media/cdrom准备空目录作为挂载点

mount/dev/sr0/media/cdrom挂载光盘

ls-l/medie/cdrom/packages查看rpm软件包列表

 

 查询未安装的RPM包文件

格式:rpm-qp[子选项]RPM包文件

用法:结合不同的子选项完成不同查询

rpm-qpi完整软件包名称通过rpm包文件查看该软件的详细信息

rpm-qpl完整软件包名称查看rpm安装包内所包含的目录、文件列表

rpm-qpc完整软件包名称查看rpm安装包内包含的配置文件列表

rpm-qpd完整软件包名称查看rpm安装包内包含的文档文件列表

 安装或升级RPM 软件

格式:rpm[选项]RPM包文件...

rpm-ivh完整软件包名称

-i安装一个新的rpm软件包 -h以“#”号显示安装的进度。

 -V显示安装过程中的详细信息

--force强制安装(主要用在安装旧的软件代替新的软件)

 --nodeps安装、升级或卸载软件时,忽略依赖关系

--test 测试安装

 卸载指定的RPM软件。

rpm-e 软件名

升级安装

rpm-Uvh完整软件包名称#无论旧版本软件是否安装,都安装新版本,

rpm-Fvh完整软件包名称#若旧版本软件没有安装,则放弃安装新版本

用户管理和权限管理的基本知识_用户名_07

 

用户管理和权限管理的基本知识_用户名_08

 

用户管理和权限管理的基本知识_用户账号_09

 

 

 用户管理和权限管理的基本知识_用户账号_10

 

 配置本地yum仓库

(务必把光盘镜像文件挂载到/media/cdrom下)

yum命令:便于自动解决rpm软件包的依赖关系

用户管理和权限管理的基本知识_用户账号_11

 

 用户管理和权限管理的基本知识_字段_12