Linux用户权限相关命令浅谈——史上最烂系列

Linux目录结构——史上最烂系列
Linux常用命令浅谈——史上最烂系列
Linux用户权限相关命令浅谈——史上最烂系列
Linux用户权限相关命令浅谈之rwx权限详解——史上最烂系列

1:用户和权限的基本概念

1.1 基本概念

  • 用户是Linux系统工作中重要的一环,用户管理包括用户管理
  • 在Linux系统中,不论由本机或是远程登录系统,每个系统必须有一个账号,且对于不同的系统资源会有不同的使用权限
  • 在linux中每个用户必须属于一个组,不可以独立于组之外
  • 对文件/目录的权限包括:
序号 权限 英文 缩写 数字代号
01 read r 4
02 write w 2
03 执行 excute x 1
04 无权限 - 0

1.2 组

  • 为了方便用户管理,提出了组的概念,如下图所示

在这里插入图片描述

1.3 ls -l命令扩展

  • 在linux的每个文件中有所有者所在组其他组的概念
    在这里插入图片描述
  • ls-l 可以查看文件夹下文件的详细信息,从左到右依次是:
    • 权限:第一个字符如果是d表示目录
    • 硬连接数:通俗地讲,就是有多少种方式,可以访问当前目录/文件
    • 拥有者:家目录下文件/目录的拥有者通常都是当前用户
    • 组:在Linux中,很多时候,会出现组名和用户名相同的情况
    • 大小:文件大小(字节),(如果是文件夹,显示4096)
    • 时间:最后修改时间
    • 名称:文件名

在这里插入图片描述

举例:在 /home/zlj 的路径下创建一个1.txt文件,查看它的详细信息
在这里插入图片描述

硬连接数介绍:通俗地讲,就是有多少种方式,可以访问当前目录/文件cd

举例:查看该图结构下dir的硬连接数
在这里插入图片描述
在这里插入图片描述

dir的硬链接数为3,看如下解释
在这里插入图片描述

1.4 chmod命令简单使用

  • chmod 命令可以修改用户/组文件/目录的权限
chmod +/-r 文件名|目录名

提示:以上方式会一次性修改拥有者/组权限(我们后续会讲到这个命令,这里先简单介绍)

1.5 超级用户

  • Linux系统中的root账号通常用于系统的维护和管理,对操作系统的所有资源具有访问权限
  • 在大多数版本的Linux中,都不推荐直接使用root账号登录系统
  • 在Linux安装过程中,系统会自动创建一个用户账号,而这个默认的用户就称为"超级用户"
  • 如下图
    在这里插入图片描述
  • sudo命令用来以其他身份来执行命令,预设身份为root
  • 用户使用sudo时,必须先输入密码,之后五分钟的有效期限,超过期限必须重新输入密码

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

2:组管理终端命令

序号 命令 作用
01 groupadd 组名 添加组
02 groupdel 组名 删除组
03 cat /etc/group 确认组信息
04 chgrp -R 组名 文件/目录名 递归修改文件/目录的所属组
  • /etc/group 文件存放的是组信息。由三个分号组成
    每行含义:组名:口令:组标识符:组内用户列表
    在这里插入图片描述

提示:
1:组信息保存在 /etc/group 文件中
2:/etc 目录是专门用来保存系统配置信息的目录

Linux目录结构——史上最烂
在这里插入图片描述

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

实例:在zlj用户的桌面文件夹下创建dir5目录,并新建dev组,将dir5目录的组修改为dev

在这里插入图片描述

3:用户管理终端命令

提示:创建用户/删除用户/修改其他用户密码的终端命令都需要通过sudo执行

3.1 创建用户/设置密码/删除用户命令说明

序号 命令 作用 说明
01 useradd -m -g 组名 组建用户名 添加新用户 -m 自动建立用户家目录,-g 指定用户所在的组,否则会建立一个和同名的组
02 passwd 用户名 设置用户密码 如果是普通用户,直接用passwd可以修改自己的账户密码
03 userdel -r 用户名 删除用户 -r 选项会自动删除用户家目录
04 cat /etc/passwd| grep 用户名 确认用户信息 新建用户后,用户信息会保存/etc/passwd文件中
05 usermod -g 用户组 用户名 修改组 会把用户名原来所在组改到现在的用户组里

家目录:/home/目录下有各个创建的用户对于的家目录(用户登录时,会自动进入到自己的家目录)

提示:

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

举例:创建一个zzg用户,并放在dev组中,然后设置密码,并查看组中的信息,然后再删除zzg用户,并查看删除后是否存在(没显示出来就不存在)

在这里插入图片描述
在这里插入图片描述

3.2 查看用户信息命令说明

序号 命令 作用
01 id [用户名] 查看用户UID和GID信息
02 who 查看当前所有登录的用户列表
03 whoami 查看当前登录用户的账户名
  • passwd文件
  • /etc/passwd 文件存放的是用户信息。由六个分号组成的七个信息,分别是
    1:用户名
    2:密码
    3:UID(用户标识)
    4:GID(组标识)
    5:用户全名或本地账户
    6:家目录
    7:登录使用的shell,就是登陆之后,使用的终端命令,ubuntu默认是bash(表示当前用户使用的shell是/bin/bash,所谓的shell你可以理解为操作系统和人之间交互的平台

举例:查看用户名zlj的信息,并用id查看用户UID和GID信息
在这里插入图片描述
在这里插入图片描述
查看当前登录用户的账户名
在这里插入图片描述

3.3 which命令说明

提示:

  • /etc/passwd 是用于保存用户信息的文件
  • /usr/bin/passwd 是用于修改用户密码的程序
  • which命令可以查看执行命令所在位置,例如
which ls

# 输出
# /bin/ls

which useradd

# 输出
# /usr/sbin/useradd

bin和sbin

  • 在Linux中,绝大多数可执行文件都是保存在 /bin,/sbin,/usr/bin,/usr/sbin
  • /bin二进制执行文件目录,主要用于具体应用
  • /sbin系统管理员专用的二进制代码存放目录,主要用于系统管理
  • /usr/bin:后期安装一些软件
  • /usr/sbin超级用户的一些管理程序

3.4 切换用户命令

序号 命令 作用 说明
01 su 用户名 切换用户,并且切换目录 可以切换到用户家目录
02 exit 退出当前登录账户

su - 用户名:可以切换到root,当不推荐使用(不安全)

3.5 修改文件权限命令(重点,看了绝对可以解决你的疑惑)

序号 命令 作用
01 chown 修改所有者
02 chgrp 修改所在组
03 chmod 修改文件或目录的权限
  • 命令格式如下
# 修改文件|目录的所有者
chown 用户名 文件名 | 目录名

# 递归修改文件|目录的所在组
chgrp -R 组名 文件名|目录名

# 递归修改文件权限
chmod -R 755 文件名|目录名

举例:1:使用root创建一个文件apple.txt,然后将其所有者改成tom
在这里插入图片描述
2:使用root创建一个文件demo.txt,然后将其所在组改成zlj
在这里插入图片描述

3.5.1 rwx权限详解

Linux用户权限相关命令浅谈之rwx权限详解——史上最烂系列

发布了167 篇原创文章 · 获赞 119 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_44891295/article/details/104046554
今日推荐