专栏首页A2Data你是一个合格的管理员吗?

你是一个合格的管理员吗?

Linux用户与组管理

1.Linux 继承 UNIX 对用户的优秀支持

2.Linux 属于多用户的操作系统

3.用户管理的种类

(1)分散式管理方法

(2)集中式管理方法

Linux 用户类型分类

1.按建立方式计算

2.内建账户 : 有系统或程序自行建立的账户

(1)自定义账户 : 管理员或特权人员手工建立

3.按权限分类

特权账户 : 有对系统或程序控制的权限

普通账户 : 仅拥有系统授予或特权账户授予的权限

匿名账户 : 最小账户拥有最小的权限

Linux 用户基本管理方式

1.对账户进行管理

2.将权限相同的用户合并至组中,对组进行管理

Linux 用户管理文件

Linux 将用户的信息及密码全部通过文件的方式进行保存 .

用户信息保存文件及位置 :/etc/passwd

用户密码保存文件及位置 :/etc/shadow

查看 /etc/passwd

/etc/passwd 内容总共分为 7 个区域,以“ :” 作为区域的分隔符

区域 1

账户名 :

1.区分大小写

2.账户名可以以字母 , 数字 , 英文句号 '.', 下划线 '_', 连字符 '-' 等连和使用

3.账户命名最好在 8 个字符之内

4.账户名必须唯一

区域2

密码区域 :

1.Linux 利用单项散列算法加密密码

2.Linux 将密码存放至 /etc/shadow 文件中

3.账户的密码再此区域中显示“ X”

区域 3

账户 ID(UID):

1.显示账户的UID号

2.理论上 UID 号应该唯一

3.UID 号 0-999 为保留 UID 4) 普通账户的UID从 1000-60000

区域 4

用户在初始化组的组ID号 (GID):

1.显示账户初始化组的GID号

区域5

账户详细信息 , 其中包含

1.账户的用户名

2.办公地点

3.办公电话

4.家庭电话

区域 6

账户主目录位置

1.主目录即用户存储私人数据的地方

2.普通账户主目录默认建立在 /home 下

3.以账户名作为用户主目录名

4.默认只有账户才可以进入自己的主目录

5.root 账户主目录在 /root

区域 7

账户使用的 shell

1. 指定账户所使用的 shell 及 shell 所在的路径

用户的密码被 /etc/shadow 文件所管理

其有 9 个区域,每个区域的作用如下 :

区域1 :

账户名 ( 与 /etc/passwd 一致 )

区域 2:

密码此密码经过散列算法经过加密 ,256bit 。如密码忘记,可将此区域情况。即代表密码为空

区域 3:

密码自新纪元 (1970-1-1) 起到用户前一次修改密码的天数

区域 4:

密码前次与下一次修改的时间间隔 , 一般为“0”位不设定,可随时修改

区域 5:

密码最大有效其时间 ( 天 ), 默认为 99999 天

区域 6:

密码失效前 , 提前 N( 天 ) 通知警告用户

区域 7:

密码失效后 , 宽限期天数 . 此段设置可以确保密码失效后延长 N 天在将密码失效

区域 8:

账号有效期

区域 9:

保留

添加账户

命令 :useradd | adduser

语法格式 : useradd [ 选项 ] <account_name>

选项

功能

-c:

指定账户的说明信息 (passwd 区域 5)

-d:

指定账户的主目录 (passwd 区域 6)

-e:

指定账号有效期 (shadow 区域 8)

-f:

密码失效宽限期 (shadow 区域 7)

-b:

指定用户主目录的前缀

-g:

指定账户初始化 ( 起始 ) 组 (passwd 区域 4)

-G:

指定账户的其他组资格

-m:

自动复制 shell 环境脚本至新建的用户主目录

-M:

不创建用户主目录

-s:

指定新建账户所使用的 shell(passwd 区域 7)

-u:

指定新建账户的 UID

-n:

创建与账户同名的组名,并将此组作为账户的初始化组

示例:

1.添加一个账号员 , 要求

账户名为 thomas

初始组为 root

账户主目录为 /admin

密码宽限期为 7 天

账号有效使用时间为从即日起30天

复制 shell 环境脚本

uid 为 614

所使用的 shell 为 bash

#useradd -g root -d /admin -m -e 2222-11-31 -f 7 -s /bin/bash -u 614 thomas

用户添加时涉及的脚本

2. 添加的默认配置文件

cat /etc/default/uesradd

内容默认账户加入至 GID100

GROUP=100

账户默认主目录前缀为 /home

HOME=/home

禁用账号过期功能 (-1)

INACTIVE=-1

账号到期时间 , 不设置即不启用

EXPIRE=

指定用户默认所使用的 shell

SHELL=/bin/bash

指定用户所使用的 SHELL 环境文件

SKEL=/etc/skel

创建账户名同名的文件作为账户的邮箱

CREATE_MAIL_SPOOL=yes

备注 :

系统邮箱位置在 /var/spool/mail 目录中

passwd

功能 : 为账户设定 / 更改密码及其他

语法格式 : passwd [ 选项 ] [ 账户名 ]

选项

功能

-l:

锁定指定账户

--stdin:

从标准输入中读取密码

-u:

解锁指定账户

-d:

清空指定账户口令

-i:

设置密码宽限期 (shadow 区域 7)

-n:

设置2次密码修改间隔时间 (shadow 区域 4)

-x:

设置密码有效期 (shadow 区域 5)

-w:

设置密码过期前警告天数 (shadow 区域 6)

RHEL7 对密码加密

RHEL7 对密码加密支持 : md5:128bit 长度加密密码

sha256:256bit 长度加密密码 sha512:512bit 长度加密密码

RHEL7 默认使用 sha512 作为密码加密的算法

usermod

功能 : 修改已存在的账户

语法格式 :usermod [ 选项 ] < 账户名 >

与 useradd 命令的大多选项一致

选项

功能

-l:

更改账户名

-L:

锁定指定账户

-U:

解锁指定账户

-a:

添加账户到指定组

-d:

指定新的用户主目

-m:

移动用户主目录到新的位置 , 需和 -d 配合使用

-s:

更改账户 shell

其他选项与 useradd 选项含义一致 , 但功能仅作为修改而非添加

userdel

功能 : 删除用户

语法格式 :userdel [ 选项 ] [ 账户 ]

-r: 删除与指定账户相关的主目录及其他信息

id

功能 : 查看当前用户的 UID,GID 及账户、组名

语法格式 :id [ 选项 ] [ 账户 ]

选项

功能

-u:

显示账户的 UID

-g:

显示初始组的 GID

-G:

显示附加组的 GID

-un:

显示账户名

-gn:

显示初始组组名

-Gn:

显示附加组组名

w

功能 : 查看当前系统的登陆账户

语法格式 :w [ 选项 ] [ 账户 ]

选项

功能

-:

只显示头信息

-f:

开启 / 关闭用户从何处登陆至系统的信息

-h:

不显示标题栏

-s:

使用简洁格式显示信息

-u:

忽略执行程序的名称,以及该程序耗费 CPU 时间的信息。

who

功能 : 显示当前登陆账户及信息语法格式 :who [ 选项 ] [ 目标 ]

示例 :

1. 查看当前所有登陆信息

whoami

功能 : 显示账户

语法格式 :whoami [ 选项 ]

示例:

last

功能 : 显示账户最后登陆时间

语法格式 :last [ 选项]

示例:

看了这么多命令你对用户管理是否有了更多的了解呢?

下面我们来看看,怎么赋予他们相应的权限请看次条哦!

本文分享自微信公众号 - DataScience(DataScienceTeam),作者:灭霸

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-10-07

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 磁盘这么分区你知道了吗?

    首先选择要分区的磁盘,主要操作的时候要两外加一个磁盘哦,sda为系统盘,千万不要随意操作。

    DataScience
  • Java运算符

    DataScience
  • 21 幅 GIF 动图让你了解各种数学概念

    “让我们面对它;总的来说数学是不容易的,但当你征服了问题,并达到新的理解高度,这就是它给你的回报。”

    DataScience
  • Java字节码 顶

    Java字节码对于虚拟机,就好像汇编语言对于计算机,属于基本执行指令。每一个Java字节码指令是一个byte数字,并且有一个对应的助记符。

    算法之名
  • New Windows 10 SDK - Multi-instance UWP apps

    概述 前面一篇 About Windows 10 SDK Preview Build 17110 中,我们简单介绍了 Multi-instance UWP Ap...

    Shao Meng
  • your project contains error(s),please fix them before running your application.错误总结

             Android开发中的问题总是多种多样,今天我来总结一个浪费了我一个晚上的错误T-T:your project contains error(...

    _gongluck
  • 一文看懂如何分析MySQL Explain(2/3)

    ⑨ range:如果使用索引获取某些范围区间的记录,那么就可能使用到range访问方法,比如:

    程序员小强
  • IDEA 打war包

    Build------>build artifacts----->xxxxx.war

    week
  • 【Java入门提高篇】Day20 Java集合类详解(三)List接口

      今天要说的是Collection族长下的三名大将之一,List,Set,Queue中的List,它们都继承自Collection接口,所以Collectio...

    弗兰克的猫
  • 智能硬件单品向左、平台向右

    世界正在进入万物互联时代,即很多互联网大佬所描绘的“IoT(Internet of Things)”。几乎所有互联网巨头对于IoT时代的到来都严阵以待、厉兵秣马...

    罗超频道

扫码关注云+社区

领取腾讯云代金券