news 2026/7/13 15:24:20

shell,Linux用户和工作组,以及Linux文件系统·权限

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
shell,Linux用户和工作组,以及Linux文件系统·权限

目录

命令解释器--shell

type命令

语法

常用选项

alias命令

用alias命令添加别名(只在当前生效,重启shell后失效)

用vim编辑持续生效别名(重启不失效)

alias优先级:临时>用户>全局

history命令

更改history记录命令条数(默认1000条)

Linux用户和工作组

用户

工作组

用户账号文件

id 命令

用户密码文件

工作组账号文件

用户管理

添加新用户

修改账户信息

账号设置密码(Linux的账户必须设置密码后,才能登录系统)

删除账号

工作组管理

创建工作组

添加/删除组成员

users命令

lastlog命令

w命令

who命令

Linux文件系统权限

文件权限构成

chmod命令

chown命令

特殊权限


命令解释器--shell

Shell 是操作系统的命令解释器,介于用户内核(Kernel)之间的中间层程序。

核心作用:接收用户输入的命令,翻译交给内核执行,再把执行结果返回给用户。

  • 内置命令(cd、echo、exit):Shell 自身自带,直接执行(效率更高)
  • 外部命令(ls、cat、python):去PATH环境变量路径搜索可执行文件

type命令

typeshell 内置命令,用来判断一个命令的类型: 区分:内置命令 / 外置命令 / 别名 / 函数 / 关键字。

语法

type [选项] 命令名

常用选项

  1. -t:只输出类型(简洁) 返回值:alias/builtin(内置)/file/keyword/function
  2. -a:显示所有同名命令(包含 PATH 全部路径、别名)
  3. -p:只显示外部命令的完整路径,内置命令无输出
  4. -f:不查找 shell 函数

alias命令

  • alias用来给长命令起简短别名,简化输入,仅当前 Shell 会话生效,写入配置文件可永久生效。
  • alias别名='原命令-参数'
  • 用alias命令添加别名(只在当前生效,重启shell后失效)

  • 去掉添加的别名用unalias
  • 用vim编辑持续生效别名(重启不失效)

  • 将别名命令写入到~/.bashrc(当前登录单个用户)/etc/bashrc(服务器所有用户)文件中
  • vim .bashrc /vim /etc/bashrc
  • source .bashrc /source /etc/bashrc
  • alias优先级:临时>用户>全局

  • history命令

  • 作用:查阅命令历史记录
  • number:显示最近number条命令历史(history 5 表示显示5条命令历史)
    • -c:清空当前历史命令
    • !N(执行历史中第N条命令,例如!5)
  • 更改history记录命令条数(默认1000条)

  • vim /etc/profile
  • Linux用户和工作组

  • 用户

  • 超级账户——账户名为root,它具有一切权限,只有进行系统维护(例如:建立用户等)或其他必要情 形下才用超级用户登录,以避免系统出现安全问题。
  • 系统账户——Linux系统正常工作所必需的账户,主要为了满足相应的系统进程对文件属主的要求 而建立的,如:bindaemonadmsshd等,注意:系统账户不能登录。
  • 普通用户——是为了让使用者能够使用Linux系统资源而建立的,大多数用户属于此类。
  • 工作组

  • 基本组(私有组):新建立账户时,若没有指定账户所属的工作组,会建立和账户名相同的组
    扩展组(公有组):可以容纳多个用户,组中的账户都具有组所拥有的权利。
    用户账号文件
    /etc/passwd
    用户密码文件
    /etc/shadow
    工作组账号文件
    /etc/group
    工作组密码文件
    /etc/gshadow
  • 用户账号文件

    /etc/passwd是一个文本文件,用于定义系统的账号,由于所有账户都对passwd有读权限,所以该
    文件中只定义用户账号,而不保存口令。
  • /etc/passwd文件中字段说明
  • 7个字段组成,字段之间用“:”分隔,意义:账号名:密码:UID:GID:个人资料:主目录:Shell
  • 账号名:用户登录Linux系统时使用的名称。
  • 密码:以前是以加密格式保存密码的位置,现在密码保存在/etc/shadow文件中,此处只是密
  • 码占位符“x”“*”。若为“x”,说明密码经过了shadow的保护。
  • UID:账户的ID值,是一个数字标识,相当于账户的身份证编号,具有唯一性
  • root账户UID——0
  • 系统账户的UID——1999
  • 普通账户的UID——1000
  • 注意:普通账户从1000开始编号,连续编号,即使系统管理员某些账户号码未使用,普
  • 通账户也不可使用
  • GID:基本组的ID值,用来区分不同的工作组,相同的组具有相同的GID
  • 个人资料:注释信息,可以记录账户的完整姓名、地址、办公室电话、家庭电话等个人信息。
  • 家目录:类似Windows的个人目录,通常是/home/账户名
  • Shell:定义用户登录后激活的Shell,默认是Bash Shell
  • id命令

  • 用户密码文件

  • /etc/shadow存储密码加密后的密文,又称为影子文件,该文件为了保证了账户密码的安全性只有
    root账户拥有读权限,注意:若该文件权限发生变化,需要留心恶意攻击
  • /etc/shadow文件中的每行9个字段的含义为:
    登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
  • 工作组账号文件

  • /etc/group文件存储每个组工作组信息
  • 用户管理

  • 添加新用户

  • useradd-参数 账户名
  • -c注释信息:设置相关的说明信息,如,:真实姓名、邮箱地址等。
    -d:目录:设定账户的家目录(默认为/home/用户名)
    -eYYYY-MM-DD:设置用户的失效日期,此日期后将不能使用该账号。
    -f天数:指定密码到期后多少天账号被禁用,若指定为0,则表示账号到期后被立即禁用;若指定 为-1,则表
    示账号过期后不被禁用(即密码永不过期)
    -g组名或GID号:为账户指定所属的基本组,该组在指定时必须已存在。
    -G:组名或GID号列表:为账户指定所属的扩展组,各组在指定时已存在,附加组可以有多个,组之间用“,”
    隔。
    -M:不创建账户家目录。
    -N:不创建与账户名同名的基本组。
    -p:密码:指定账户的登录密码。
    -sshell名:指定账户登录后使用的Shell,默认是bash
    -u用户号:设置账号的UID,默认是已有账户的最大UID1。如果同时有-o选项,则可以重复使用其他用户的
    标识号。
  • 新建账户test2,查看配置文件
  • 新建账户test3,指定UID2001、登录Shell/bin/bash,账号永不过期
  • 新建用于访问FTPtest4账户,禁止其登录且不创建家目录
  • 修改账户信息

  • usermod-参数 账户名
  • -l新账户名:更改账户的名称,必须在该用户未登录的情况下才能使用
    -L:锁定(暂停)用户账户,使其不能登录使用
    -U:解锁用户账户

    将用户test2的名称修改为TEST2,并暂停使用该账号
  • 账号设置密码(Linux的账户必须设置密码后,才能登录系统)

  • passwd-参数 账户名
  • 删除账号

  • userdel账户名
  • 账户切换
  • su账户名 /su- 账户名
  • su切换方式加载的文件:~/.bashrc/etc/bashrc
    su -切换方式加载的文件:/etc/bashrc/etc/profile~/.bashrc~/.bash_profile
    注意:su -相当于重新建立环境,若全局变量需要继续使用则不能使用su -命令
  • root用户切换到任何用户不需要密码验证,而从普通用户到root或其他普通用户均需要输入目标
    用户的密码且验证成功后才可切换。
  • 工作组管理

  • 创建工作组

  • groupadd-参数 工作组名
  • 修改工作组
  • groupmod-参数 工作组名
  • 添加/删除组成员

  • gpasswd-参数 账户 工作组
  • -r:删除组密码
    -a:把用户加入组
    -d:把用户从组中删除。
    -M:可同时添加多个用户
    -A:给组指派管理员
  • 删除工作组
  • groupdel工作组名
  • 被删除的组若是基本组,则必须先删除引用该基本组的用户,然后再删除该基本组
  • users命令

  • 查看当前登录系统的用户
  • lastlog命令

  • 查看每个账号的最近登录时间,该命令会读取/var/log/lastlog文件
  • w命令

  • 显示登录到系统的用户信息
  • who命令

  • 显示目前登录到系统的用户,会从/var/run/utmp文件来获取信息

Linux文件系统权限

  • 文件权限构成

  • owner:所有者,缩写u
    group:所属组,缩写g
    other:其他人,缩写o
  • chmod命令

  • 修改文件或目录的权限
  • -R:递归修改指定目录下所有文件、子目录的权限
    ugoa:表示权限设置所针对的用户类别,可以是其中字母中的一个或组合,u(user)表示文件或目录
    的属主(所有者)g(group)表示属组内的用户;o(others)表示其他用户;a(all)表示所有用户(
    u+g+o)
    +-=:表示设置权限的操作动作,+代表添加;-代表取消;=表示只赋予给定的权限,并取消原
    有的权限。
    rwx:用字符形式表示的所设置的权限,可以是其中一个字母或组合
    nnn:用数字表示的权限
  • chown命令

  • 修改文件或目录的所有者和属组
  • 特殊权限

  • 概述
  • Linux系统中,用户对文件或目录的访问权限除了rwx三种一般权限外,还有SET
  • UID(SUID)SET GID(SGID)Sticky Bit(粘滞位)三种特殊权限,用于对文件或目录进行更加灵活方便的访问控制。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/13 15:21:54

中小企业出海行动推进:全球市场研究网络赋能精准洞察与高效供应商对接

本篇基于工业和信息化部办公厅关于开展中小企业出海服务专项行动的通知,聚焦全球市场环境下中小企业的出海趋势与挑战。以玩美数据视角分析,凭借覆盖1300多家供应商的全球网络、快速响应能力,以及经一对一沟通和项目实践验证的服务商信息数据…

作者头像 李华
网站建设 2026/7/13 15:20:45

Ornith-1.0-9B-6bit常见问题解答:解决10个最常遇到的运行问题

Ornith-1.0-9B-6bit常见问题解答:解决10个最常遇到的运行问题 【免费下载链接】Ornith-1.0-9B-6bit 项目地址: https://ai.gitcode.com/hf_mirrors/mlx-community/Ornith-1.0-9B-6bit Ornith-1.0-9B-6bit是一款基于Qwen3.5架构的高效量化模型,采…

作者头像 李华
网站建设 2026/7/13 15:20:10

Loop for Mac:免费开源的macOS窗口管理终极解决方案

Loop for Mac:免费开源的macOS窗口管理终极解决方案 【免费下载链接】Loop Window management made elegant. 项目地址: https://gitcode.com/GitHub_Trending/lo/Loop 你是否经常在macOS上为杂乱的窗口布局而烦恼?每天面对十几个窗口&#xff0c…

作者头像 李华