首页 > 系统相关 >Linux账号和管理权限

Linux账号和管理权限

时间:2022-10-31 09:23:09浏览次数:37  
标签:账号 passwd iu guo 用户 管理权限 密码 Linux root

 

 

 

Linux安全模型:

Authentication:认证,验证用户身份

Authorization:授权,不同的用户设置不同权限

Accouting|Audition:审计

用户账号类型:

Linux中每个用户是通过 User Id (UID)来唯一标识的 新建用户 1-60000 自动分配 0-65535 端口号

管理员:root, 0

程序用户:1-499 (CentOS 6以前), 1-999 (CentOS 7以后) 不登录的用户 系统默认的情况

对守护进程获取资源进行权限分配

普通用户:500+ (CentOS6以前), 1000+(CentOS7以后) 不指定 顺序

给用户进行交互式登录使用

---超级用户:root 用户是 Linux 操作系统中默认的超级用户账号

---程序用户:在安装 Linux 操作系统及部分应用程序时,会添加一些特定的低权限用 户账号,这些用户一般不允许登录到系统,而仅用于维持系统或某个程序的正常运行

---普通用户:账号需要由 root 用户或其他管理员用户创建,拥有的权限受 到一定限制,处理问题受到限制,一般只在用户自己的宿主目录中拥有完整权限

组账号

基本组:在用户所属组中的第一个组称为基本组,基本组在 /etc/passwd 文件中指定

附加组:除了第一个组外的其他组为附加组或公共组,附加组在 /etc/group 文件中指定

基本组:有且唯一

附加组:可有可无,可以有多个

默认新建用户时自动添加同名的组

 uid

UID(User IDentity,用户标识号):Linux 操作系统中的每一个用户账号都有一个数字形式的身份标记,称为 UID(UserIDentity,用户标识号),对于操作系统核心来说,UID 是区分用户的基本依据,原则上每个用户的 UID 号应该是唯一的。root 用户账号的 UID 号为固定值 0,而程序用户账号的 UID号默认为1~499,500~60000 的 UID 号默认分配给普通用户使用。

用户的主要组(primary group):用户必须属于一个且只有一个主组,默认创建用户时会自动创建和用户名同名的组,做为用户的主要组,由于此组中只有一个用户,又称为私有组

用户的附加组(supplementary group): 一个用户可以属于零个或多个辅助组,附属组

 

用户账号管理

 

文件位置

/etc/passwd:

存放保存用户名称、宿主目录、登录 Shell 等基本信息

root:x:0:0:root:/root:/bin:bash

有7段用“  :”隔开

root:用户名

    x:密码站字符

    0:uid

    0:组uid(gid)

root:备注

/root:家目录

/bin/bash:默认shell环境

 

/etc/shadow密码文件

第一段:用户名

$6$F9xdHRnn$Y7h6DXNH.MbjWN/ws1mK4UKAI4ylimRVwc6zOyE2Zvd7z83e9FF9z02YXlMzeD9Ui/M.rO04gDbdnpkIPEvDr0

密码

第三:19055:最后一次修改密码时间

第四0:修改密码最小天数 0 不限制

第五99999:密码有效期

第六7:提前7天提醒

第7:宽限天数

第8:失效时间   永久   

第9:保留

第一字段:用户名:root

第二字段:密码: $6$HzYRIWo05k6aVw2p$aLg7wfHGwoghmuUrIYced 当为*或!!时表示用户不能登录到此系统,若该字段为空,则表示无需密码即可登录

第三字段:上次修改密码时间,最后一次修改密码的时间

1970 年 01 月 01 日这是linux诞生的第一年已他作为元年开始计算

date -d '1970-01-01 19031 days'   计算实际修改日期

第四字段:最小修改密码间隔时间, 今天 下一次间隔天数,才能修改,频繁修改, 也就是说,该字段规定了从第 3 字段(最后一次修改密码的日期)起,多长时间之内不能修改密码。如果是 0,则密码可以随时修改;如果是 10,则代表密码修改后 10 天之内不能再次修改密码。此字段是为了针对某些人频繁更改账户密码而设计的安全性考虑

第五字段:密码有效期 经常变更密码是个好习惯,为了强制要求用户变更密码,这个字段可以指定距离第 3 字段(最后一次更改密码)多长时间内需要再次变更密码,否则该账户密码进行过期阶段。该字段的默认值为 99999,也就是 273 年,可认为是永久生效。如果改为 90,则表示密码被修改 90 天之后必须再次修改,否则该用户即将过期。管理服务器时,通过这个字段强制用户定期修改密码。

第六字段:密码到期提醒(提示密码即将过期时间) 7 密码将要过期的前7天会提醒你 与第 5 字段相比较,当账户密码有效期快到时,系统会发出警告信息给此账户,提醒用户 "再过 n 天你的密码就要过期了,请尽快重新设置你的密码 该字段的默认值是 7,也就是说,距离密码有效期的第 7 天开始,每次登录系统都会向该账户发出 "修改密码" 的警告信息。

第七字段:密码过期后的宽限天数 (密码过期后多少天禁用此用户) 90 这个 也称为“口令失效日”,简单理解就是,在密码过期后,用户如果还是没有修改密码,则在此字段规定的宽限天数内,用户还是可以登录系统的;如果过了宽限天数,系统将不再让此账户登陆,也不会提示账户过期,是完全禁用。比如说,此字段规定的宽限天数是 10,则代表密码过期 10 天后失效;如果是 0,则代表密码过期后立即失效;如果是 -1,则代表密码永远不会失效。

第八字段:账号失效时间 同第 3 个字段一样,使用自 1970 年 1 月 1 日以来的总天数作为账户的失效时间。该字段表示,账号在此字段规定的时间之外,不论你的密码是否过期,都将无法使用!该字段通常被使用在具有收费服务的系统中。账号无法登录生命值

第九字段:保留字段收费内容

 

添加用户

useradd

在/etc/passwd 文件和/etc/shadow 文件的末尾增加该用户账号的记录

若未明确指定用户的宿主目录,则在/home 目录下自动创建与该用户账号同名的宿 主目录,并在该目录中建立用户的各种初始配置文件

若没有明确指定用户所属的组,则自动创建与该用户账号同名的基本组账号,组账 号的记录信息将保存到/etc/group 和/etc/shadow 文件中

选项

-u:指定用户的 UID 号,要求该 UID 号码未被其他用户使用。

-d:指定用户的宿主目录位置(当与-M 一起使用时,不生效)。

-e:指定用户的账户失效时间,可使用 YYYY-MM-DD 的日期格式。

-g:指定用户的基本组名(或使用 GID 号)。

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

-M:不建立宿主目录,即使/etc/login.defs 系统配置中已设定要建立宿主目录。

-s:指定用户的登录 Shell /sbin/nologin

[root@guo ~]# useradd -u 1100 -d /IUU -g root -G wheel zhou
[root@guo ~]# id zhou
uid=1100(zhou) gid=1100(zhou) 组=1100(zhou)

 

密码管理

passwd  为用户账号设置密码

选项

-d:清空指定用户的密码,仅使用用户名即可登录系统

-l:锁定用户账户

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

-u:解锁用户账户

[root@guo /]# passwd -l lisi

[root@guo /]# tail -1 /etc/shadow

lisi:!!:18809:0:99999:7:::

[root@guo /]# passwd -d lisi      清除用户的密码 lisi。

passwd: 操作成功

[root@guo /]# passwd -S lisi

lisi NP 2021-07-01 0 99999 7 -1 (密码为空。)

[root@guo /]# passwd -u lisi      解锁用户 lisi 的密码。

passwd: 警告:未锁定的密码将是空的。

passwd: 不安全的操作(使用 -f 参数强制进行该操作)

[root@guo /]# passwd -fu lisi      解锁用户 lisi 的密码。

passwd: 操作成功

[root@guo dnf]# echo "123123"|passwd --stdin lisi  

#免于交互

更改用户 lisi 的密码 。

passwd:所有的身份验证令牌已经成功更新

 

修改用户账号属性

usermod

常用选项:

-l 更改用户账号的登录名称(Login Name)

-L 锁定用户账户

-u 修改用户的 UID 号

-U 解锁锁用户账户

-d:修改用户的宿主目录位置。

-e:修改用户的账户失效时间,可使用 YYYY-MM-DD 的日期格式。

-g:修改用户的基本组名(或使用 GID 号)

-G:修改用户的附加组名(或使用 GID 号)

-s:指定用户的登录 Shell

[root@guo home]# echo "123123" | passwd --stdin iu   //无交互修改

更改用户 iu 的密码 。

passwd:所有的身份验证令牌已经成功更新。

 

[root@guo home]# echo "123123" | passwd --stdin zhou   //无交互修改

 

更改用户 zhou 的密码 。

 

passwd:所有的身份验证令牌已经成功更新。

 

[root@guo home]# usermod -L zhou       //锁定用户

 

[root@guo home]# passwd -S zhou        //查看状态

 

zhou LK 2021-07-02 0 99999 7 -1 (密码已被锁定。)

 

[root@guo home]# usermod -U zhou   //解锁   

 

[root@guo home]# passwd -S zhou   //查看状态

 

zhou1 PS 2021-07-02 0 99999 7 -1 (密码已设置,使用 SHA512 算法。)

 

[root@guo home]# usermod -l zhou1 zhou  //修改用户名

 

[root@guo home]# id zhou                //验证查看

 

id: zhou: no such user

 

[root@guo home]# id zhou1

 

uid=1002(zhou1) gid=10(wheel) 组=10(wheel),0(root)

 

[root@guo ~]# cd /home/

 

[root@guo home]# ls

 

lisi  iu  zhou

 

[root@guo home]# mv zhou/ /

 

[root@guo home]# ls

 

lisi  iu

 

[root@guo home]# usermod -d /zhou zhou

 

使用前要先手动更改目录,-d只是更新信息

 

删除用户

userdel

-r 将宿主目录一起删除

[root@guo etc]# userdel -r zhou1    //连宿主目录一起删除

[root@guo etc]# id zhou1            //验证

id: zhou1: no such user

[root@guo etc]# cd /home/

[root@guo home]# ls

lisi  iu

 

组管理

与用户帐号文件相类似

/etc/group保存组帐号基本信息

/etc/gshadow保存组帐号的密码信息基本不使用

 

groupadd命令

 

groupadd [-g GID] 组账号名

passwd 命令——添加、设置、删除组成员

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

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

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

 

删除组账号

groupdel 组帐号名

[root@guo/]# groupdel zhou

 

查询

finger

[root@guo Packages]# finger iu

 

[root@localhost ~]# w [选项] [用户名]
-h 不显示输出信息的标题
-l 用长格式输出
-s 用短格式输出,不显示登陆时间,JCPU 和 PCPU 时间
-V 显示版本信息
[root@guo Packages]# w
11:20:58 up 2:05, 1 user, load average: 0.00, 0.01, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 192.168.100.99 09:16 2.00s 0.74s 0.02s w

 

 

文件目录的权限或者归属

进程的发起者,同文件的属主:则应用文件属主权限

进程的发起者,属于文件属组;则应用文件属组权限

应用文件“其它”权

权限分为三种

1读(r,4)

2写(w,2)

3执行(x,1程序,脚本)

1---r 可以使用ls查看此目录中文件列表

2---w 可在此目录中创建文件,也可删除此目录中的文件,而和此被删除的文件的权限无关

3---x 可以cd进入此目录,可以使用ls -l查看此目录中文件元数据(须配合r权限),属于目录的可访问的最小权限

 

chmod

模式法

chmod 对谁(所有者,所属组,其他)操作(+ - =)权限 文件

chown 用户:组名 文件名
#修改所属主,和所属组
-R 递归修改

[root@localhost aa]#chown -R iu:iu /opt/aa/

#递归修改

[root@localhost aa]#ll

总用量 0

-rw-r--r--. 1 iu iu 0 9月  17 21:53 1

-rw-r--r--. 1 iu iu 0 9月  17 21:53 10

-rw-r--r--. 1 iu iu 0 9月  17 21:53 2

-rw-r--r--. 1 iu iu 0 9月  17 21:53 3

-rw-r--r--. 1 iu iu 0 9月  17 21:53 4

-rw-r--r--. 1 iu iu 0 9月  17 21:53 5

-rw-r--r--. 1 iu iu 0 9月  17 21:53 6

-rw-r--r--. 1 iu iu 0 9月  17 21:53 7

-rw-r--r--. 1 iu iu 0 9月  17 21:53 8

-rw-r--r--. 1 iu iu 0 9月  17 21:53 9

##注意

[root@localhost aa]#chown iu:iu /

#此命令效果不亚于删除根目录

 

umask

umask 的值可以用来保留在创建文件权限

实现方式:

新建文件的默认权限: 666-umask,如果所得结果某位存在执行(奇数)权限,则将其权限+1,偶数不变

新建目录的默认权限: 777-umask

非特权用户umask默认是 002

root的umask 默认是 022

 

三种特殊权限

suid

SGID

sticky

u 表示用户   g 表示用户组   o 表示其它   a 表示所有

 

 

 

 

标签:账号,passwd,iu,guo,用户,管理权限,密码,Linux,root
From: https://www.cnblogs.com/123456789SI/p/16732003.html

相关文章

  • Linux文件系统与日志分析
     inode结构表每个文件的属性信息,比如:文件的大小,时间,类型,权限等,称为文件的元数据(metadata)元数据是存放在inode(indexnode)表中。inode表中有很多条记录组成,第一条记......
  • linux 中实现文本的按列反转
     001、[root@pc1test3]#lsa.txt[root@pc1test3]#cata.txt##测试数据rduyfsxvy[root@pc1test3]#reva.txt##实现按列反转udrsfyyv......
  • Linux文件权限操作
    Linux文件权限操作介绍我们在操作linux系统时,经常需要给系统中的文件夹赋予相关用户权限,如果权限过大,安全性较低,如果权限过小,对于用户的部分操作都会提示Operationnot......
  • Linux汇编LED驱动
    MX6U的IO口作为GPIO的步骤总结:使能GPIO对应的时钟设置寄存器IOMUXC_SW_MUX_CTL_PAD_XX_XX,设置IO的复用功能,使其复用为GPIO功能。设置寄存器IOMUXC_SW_PAD_CTL_PAD......
  • 第一章 Linux 基础
    第一章Linux基础1、Linux目录结构linux的文件系统是采用级层式的树状目录结构,在此结构中的最上层是根目录“​​/​​”,然后在此目录下再创建其他的目录。深刻理解lin......
  • 虚拟文件系统 - Linux Kernel Development阅读笔记
    Linux将访问文件系统的接口统一为虚拟文件系统(VFS)接口,消除了文件系统间和硬件存储介质之间的差异。write()->sys_write()->filesystem'swritemethod->physicalme......
  • linux 中实现将fasta文件的碱基数目转换为指定的个数
     001、每行输出为4个碱基[root@pc1test]#lstest.fa[root@pc1test]#cattest.fa>chr1aattcctt>chr2ttggaacc>chr3TTCCGG[root@pc1test]#awk'{if($0~......
  • linux 安装软件学习
    1.适合小白Linux的第三节Linux软件安装适合小白Linux的第三节Linux软件安装_哔哩哔哩_bilibili2.Linux源码安装步骤Linux源码安装步骤-南极山-博客园(cnblogs.com)......
  • Linux Must-Learnt Commands
    Clearsuccessfulloginhistory:echo>/var/log/wtmpViewloginhistory:lastClearcommand'sinputhistory:history-c#temperarllysudoaptinstall-ywipewipe~/.......
  • Linux 测网速
    speedtest-cli是一个用Python编写的轻量级Linux命令行工具,在Python2.4至3.6版本下均可运行。它基于speedtest.net的基础架构来测量网络的上/下行速率。下载:gitclonehttps:......