文章目录





1.本篇文章的目标是什么?


  • 理解用户权限的基本概念
  • 用户管理 的中断命令
  • 组管理的终端命令
  • 修改权限的终端命令

2.用户和权限的基本概念

2.1 基本概念


  • 用户时Linux系统工作中重要的一环,用户管理包括 用户 和 组 管理
  • 在Linux系统中.不论是有本级或是远程登录系统,每个系统都必须拥有一个账号 ,并且对于不同的系统资源拥有不同的使用权限
  • 对文件\目录的权限包括

序号

权限

英文

缩写

数字序号

01

read

r

4

02

write

w

2

03

执行

execute

x

1

04

无权限

-

0


  • 在 Linux中 ,可以指定 每一个用户 针对 不同的文件或者目录不同权限
    Linux用户及用户组详解_用户名
  • 给每个人都分配一个权限,如果一个公司几千人,岂不是麻烦死
    Linux用户及用户组详解_用户权限_02
  • 这样我们给每个组分配一种权限,然后将新建的用户添加到组中



2.2 组

Linux用户及用户组详解_用户名_03

2.2.1 组管理的终端命令

本质: 给 同一类型用户 分配权限

序号

命令

作用

01

groupadd 组名

添加组

02

groupdel 组名

删除组

03

cat /etc/group

确认组信息

04

chgrp 组名 文件/目录名

修改文件/目录的所属组


提示:


  • 组信息保存在 ​​/etc/group​​ 文件中
  • ​/etc​​ 目录是专门用来保存 系统配置信息 的目录


  • 在实际应用中, 可以预先针对 设置好权限, 然后 将不同的用户添加到对应的组中, 从而不用依次为每一个用户设置权限

2.3 扩展一下: ls -l 查看详细信息

Linux用户及用户组详解_用户名_04

从左到右依次详解:


  • 权限, 第一个字符如果是 ​​d​​ 表示目录
  • 硬链接数, 通俗的讲就是有多少种方式, 可以访问当前目录和文件
  • 拥有者, 家目录下 文件 / 木兰路 的拥有者通常都是 当前用户
  • , 在linux中, 很多时候, 会出现组名 和 用户名 相同的情况, 后续会讲
  • 大小
  • 时间
  • 名称

2.4 用户管理 终端命令

2.4.1 创建用户/设置密码/删除用户

命令

作用

说明

useradd -m -g 组 新建用户名

添加新用户

​-m​​ 自动建立用户家目录

​-g​​ 指定用户所在的组, 否则会建立一个和同名的组

passwd 用户名

设置用户密码

如果是普通用户,

直接用 passwd可以修改自己的账号密码

userdel -r 用户名

删除用户

​-r​​ 选项会自动删除用户家目录

cat /etc/passwd | grep 用户名

确认用户信息

新建用户后,用户信息会保存在 ​​/etc/passwd​​文件夹中


提示:


  • 创建用时, 如果忘记添加 ​​-m​​ 选项指定新用户的家目录 – 最简单的方式就是删除用户,重新创建
  • 创建用户时, 默认会创建一个和用户名同名的组名
  • 用户信息保存在 /etc/passwd 文件中


Linux用户及用户组详解_终端命令_05


  • ​/etc/passwd​​ 文件存放的是用户的信息, 由6个分好组成的7个信息, 分别是
  1. 用户名
  2. 密码 (x, 表示加密的密码)
  3. UID (用户标志)
  4. GID(组标志)
  5. 用户全名或本地账号
  6. 家目录
  7. 登录使用的Shell, 就是登录之后, 使用的终端命令

2.4.2 查看用户信息

序号

命令

作用

01

id [用户名]

查看用户UID 和 GID 信息

02

who

查看当前所有登录的用户列表

03

whoami

查看当前登录用户的账户名

2.4.3 ​​su​​ 切换用户

  • 因为 普通用户 不能使用某些权限, 所以需要 切换用户


    序号命令作用说明


    01su ​​-​​ 用户名切换用户, 并且企划目录​​-​​ 可以切换到用户家目录, 否则保持位置不变

    02exit退出当前登录用户


  • 2.2.4 sudu

  • linux系统中的 ​​root​​ 账号通常 用于系统的维护和管理, 对操作系统的所有资源 具有访问权限
  • 如果不小心使用 ​​rm -rf ... ...​​ , 就可能将系统搞瘫痪
  • 在大多数版本的linux中, 都不推荐 直接只用 root 账号登录系统
  • ​sudo​​ 命令用来以其他身份来执行命令, 预设的身份为 ​​root​
  • 用户使用 ​​sudo​​ 时, 必须先输入密码, 之后5分钟的有效期限, 超过期限则必须重新输入密码

提示: 若其未经授权的用户企图使用 sudo, 则会发出警告邮件给管理员




2.2.5 给指定用户授予权限

  • 本质: 通知 服务器 给 特定用户 分配 临时管理员权限
  1. vim /etc/sudoers
  • 2.查找到root 的哪一行
    ​# 默认存在: root用户 具备所有的权限 root ALL=(ALL) ALL # 授予 zhangsan 用户 所有的权限 zhangsan ALL=(ALL) ALL ​

2.2.5.1 使用 用户​​zhangsan​​ 登录,操作管理员命令

# 不切换root用户, 也可以完成 添加用户的功能 
sudo useradd -m -g dev zhaoliu

2.2.6 修改用户权限

序号

命令

作用

01

chmod

修改权限

2.2.6.1 方式一:修改用户权限

  • ​chmod​​ 可以修改 用户/组文件/目录 的权限
  • 命令格式如下:
    ​​​chmod +/- rwx 文件名|目录名 ​

提示: 已上方式会一次向修改 ​​拥有者​​ / ​​组​​权限



2.2.6.2 方式二:


  • 虽然 方式一 直接修改文件|目录读|写|执行 权限, 但是不能精确到 拥有者|组|其他 权限
  • 命令格式如下:( ​​u​​​ 表示所属用户 / ​​g​​​ 表示所属组 / ​​o​​ 表示其他)

chmod -R u=rwx,g=rx,o=rwx 文件|目录

序号

权限

英文

缩写

数字序号

01

read

r

4

02

write

w

2

03

执行

execute

x

1

04

无权限

-

0

2.2.6.3 方式三:

  • 命令格式如下:
chmod -R 755 文件|目录
  • 说明 第一个数字拥有者权限, 第二个数字组权限, 第三个数字其他用户权限

常用数字组合有( ​​u​​​ 表示用户 / ​​g​​​ 表示组 / ​​o​​ 表示其他)

Linux用户及用户组详解_linux_06


  • ​777​​​ ===> ​​u=rwx, g=rwx, o=rwx​
  • ​755​​​ ===> ​​u=rwx, g=rx, o=rx​
  • ​644​​​ ===> ​​u=rw, g=r, o=r​