linux中用户账号和权限管理

163 阅读6分钟

摘要

本文介绍在Linux下对账号和用户权限管理

主要指令有:添加用户账号useradd 设置/更改用户命令passwd 设置权限 chmod usermod

Linux用户和用户组

登录Linux系统需要用户名和密码,为了方便用户的管理,加入了用户组的概念,修改用户组的权限会对用户组内的所有用户生效。

一个用户 必须有一个基本组 附加组可有可无 也可以有多个

Linux把用户的账号信息存在/etc/passwd 文件中

密码存在 /etc/shadow 文件中

用户组信息存在 /etc/group 文件中

我们在登录Linux系统时,Linux首先会做下面三个事情

  • 从/etc/passwd中读出用户信息、默认的工作目录、和shell;
  • 从/ect/group中读出用户所属用户组信息;
  • 从/etc/shadow中验证密码,验证成功后,系统打开默认工作目录,和命令行的shell窗口 下面我们分别介绍下/etc/passwd和/etc/shadow中的内容

用户账号文件

/etc/passwd

基于系统运行和管理需要,所有用户都可以访问passwd文件中的内容,但是只有root用户才能进行更改

字段分析

image.png 字段1:用户帐号的名称

字段2:用户密码占位符“x”

字段3:用户帐号的UID号

字段4:所属基本组帐号的GID号

字段5:备注,描述

字段6:宿主目录

字段7:登录Shell信息( /bin/bash为可登陆系统,/sbin/nologin和/bin/false为禁止用户登陆系统)

值得注意的是uid的范围是有限的

centos7centos6
超级管理员00
普通用户1000开始500开始
程序用户1 -9991-499

程序用户:

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

用户账号管理

添加用户账号 useradd

作用

在/etc/passwd文件和/etc/ shadow文件的末尾增加该用户账号的记录。 若未明确指定用户的宿主目录,则在/home目录下自动创建与该用户账号同名的宿主目录,并在该目录中建立用户的各种初始配置文件。 若没有明确指定用户所属的组,则自动创建与该用户账号同名的基本组账号,组账号的记录信息将保存到/etc/group和/etc/gshadow文件中。

常用选项

-u UID:指定用户的UID号

-d 家目录:指定用户的家目录(当与-M 一起使用时,不生效)只能用绝对路径指定目录,切不需要事先创建目录

-g 组名: 指定用户的初始组

-G 组名: 指定用户的附加组

-s shell:指定用户的登录shell,默认是/bin/bash

-M 不建立家目录

实际操作如下:建立一个用户名为cxk,uid为1314 不让用户登录 不建立家目录

image.png

设置更改用户口令

root用户可以指定用户名作为参数,对指定账号的密码进行管理;不指定用户名时,修改当前账号的密码。
普通用户却只能执行单独的“passwd"命令修改自己的密码

语法:passwd [选项] 用户名

如果不加用户名,默认为修改当前用户的密码

选项:

-S 查询用户密码的密码状态,仅root用户可用

-l 暂时锁定用户,仅root用户可用, (操作之后,在shadow中,用户的密码前边会多2个!!)

-u 解锁用户,仅root

实际操作给cxk 这个账户加上密码 为123

image.png

修改用户帐号属性 usermod 命令

常用选项

  • -l 更改用户账号的登录名称(Login Name)
  • -L 锁定用户账户
  • -u 修改用户的 UID 号
  • -U 解锁锁用户账户
  • -d:修改用户的宿主目录位置。
  • -e:修改用户的账户失效时间,可使用 YYYY-MM-DD 的日期格式。
  • -g:修改用户的基本组名(或使用 GID 号)
  • -G:修改用户的附加组名(或使用 GID 号)
  • -s:指定用户的登录 Shell

实际操作将之前用户cxk 修改成临时用户失效时间为两年半后(2026年10月1日)

image.png

图中末尾20727就是失效时间

文件目录的权限归属

访问权限 归属

① 访问权限
✔ 读取r: 允许查看文件内容、显示目录列表

✔ 写入w: 允许修改文件内容,允许在目录中新建、移动、删除文件或子目录

✔ 可执行x: 允许运行程序、切换目录

② 归属(所有权)
✔ 属主: 拥有该文件或目录的用户帐号

✔ 属组: 拥有该文件或目录的组帐号

权限分为三种

  1. 读(r,4)
  2. 写(w,2)
  3. 执行(x,1程序,脚本)

对文件的权限

  1. r 可使用文件查看类工具,比如:cat,可以获取其内容
  2. w 可修改其内容
  3. x 可以把此文件提请内核启动为一个进程,即可以执行(运行)此文件(此文件的内容必须是可执行)

对目录的权限

  1. r 可以使用ls查看此目录中文件列表
  2. w 可在此目录中创建文件,也可删除此目录中的文件,而和此被删除的文件的权限无关
  3. x 可以cd进入此目录,可以使用ls -l查看此目录中文件元数据(须配合r权限),属于目录的可访问的最小权限

设置权限 chmod

以数字形式设置权限

给文件加读写执行权限(777)

image.png

此时就可以运行了

image.png

更换文件的属主 属组chown

chown 用户:组名 文件名

image.png

实际操作 将 daner这个文件夹的属主 属组改为kunkun

Screenshot 2024-04-08 143017.png

image.png

image.png

此时kunkun 就可以改这个文件的权限了

三种特殊权限

suid

给vim加上suid权限,代表所有用户可以使用vim打开并编辑所有文件 image.png

sgid

此处s表示当使用这个命令程序时,把当前用户当成文件的属组

Sticky 位

具有写权限的目录通常用户可以删除该目录中的任何文件,无论该文件的权限或拥有权 在目录设置Sticky 位,只有文件的所有者或root可以删除该文件

image.png

image.png