Linux 用户、用户组及权限管理,相关个人学习笔记

怎么进入管理员身份

在你当前的统信 UOS 系统里,有两种常用方式进入管理员(root)身份:


方法 1:临时使用管理员权限(推荐)

在需要管理员权限的命令前加上 sudo,输入当前用户密码即可单次授权。

bash

运行

复制代码
# 示例:查看root用户的家目录
sudo ls /root
  • 输入你当前用户 keke 的密码(输入时屏幕不会显示星号,正常输入即可)。
  • 单次命令生效,用完自动回到普通用户,更安全。

方法 2:切换为永久 root 身份

  1. 先切换到 root 用户: bash

    运行

    复制代码
    sudo su -

    输入 keke 的密码后,提示符会从 $ 变成 #,表示已进入 root 权限。

  2. 退出 root 身份,回到普通用户: bash

    运行

    复制代码
    exit

方法 3:直接登录 root(部分系统需要先设置 root 密码)

如果需要直接用 root 登录,先设置 root 密码:

bash

运行

复制代码
sudo passwd root

然后输入两次新的 root 密码,之后就可以用 su - root 切换,或在登录界面选择 root 用户登录。


⚠️ 重要提醒

  • 尽量用sudo:临时授权更安全,避免误操作破坏系统。
  • root 权限下操作要谨慎:删除、修改系统文件时一定要确认命令正确性。
  • 你的当前用户 keke 已经在 sudo 组里,可以直接使用sudo

Linux 系统对用户名格式有严格限制

  • 用户名不能以数字开头,必须以字母或下划线开头。
  • 你使用的 2024001 是纯数字开头,因此系统判定为 "无效的用户名"。

bash

运行

复制代码
#!/bin/bash
for i in $(seq -w 1 20); do
    user="s202400$i"
    useradd $user
    echo "$user:Student@123" | chpasswd
    chage -E 2024-10-01 $user
done

Linux 里 chage -E 设置的是账户过期时间

账户会在 2024-10-01 失效,现在已经是 2026 年,所以这个账户已经被系统锁定,无法登录了

任务 2:创建 students 组并加入所有学生用户

bash

运行

复制代码
# 创建用户组
groupadd students

# 批量将所有学生用户加入该组
for i in $(seq -w 1 20); do
    usermod -aG students s202400$i
done
  • -aG:追加用户到指定组,不脱离原有组(类比 Java 集合的 add 操作)。

任务 3:创建课程目录并设置权限

假设你的教师用户名是 keke(和你之前登录的用户名一致),课程名设为 linux_course

bash

运行

复制代码
# 先创建 /tmp/class 目录(如果不存在)
mkdir -p /tmp/class

# 创建课程文件夹
mkdir /tmp/class/linux_course

# 设置所有者为教师 keke,所属组为 students
chown keke:students /tmp/class/linux_course

# 设置权限:教师(rwx),组内学生(r-x),其他用户无权限
chmod 750 /tmp/class/linux_course
  • 750 权限含义:
    • 所有者(教师):读 / 写 / 执行(rwx = 7)
    • 所属组(students):读 / 执行(r-x = 5)
    • 其他用户:无权限(--- = 0)

任务 4:为教师创建私有文件夹 teacher_files

bash

运行

复制代码
# 在教师主目录创建文件夹
mkdir ~keke/teacher_files

# 设置所有者为 keke,权限为仅本人可读/写/执行
chown keke:keke ~keke/teacher_files
chmod 700 ~keke/teacher_files
  • 700 权限含义:只有教师本人能读写执行,其他用户(包括同组学生)完全无法访问。

任务 5:将 s2024001 设置为 students 组管理员

bash

运行

复制代码
# 将 s2024001 设为 students 组的管理员
gpasswd -A s2024001 students
  • -A:指定组管理员,管理员可以在组内添加 / 删除用户(类比 Java 中给某个用户分配管理员角色)。
相关推荐
蜡笔婧萱3 分钟前
Linux——Web服务器网址建立(http和https的分离)
linux·运维·服务器
.小小陈.1 小时前
Linux 多线程进阶:线程互斥、同步、线程池、死锁与线程安全、读写锁、自旋锁
linux·开发语言·c++
ps酷教程1 小时前
jackson学习
java·学习
问心无愧05131 小时前
ctf show web入门90
前端·笔记
NULL指向我1 小时前
STM32 F103C8T6学习笔记20:SPI驱动W25Qxx
笔记·stm32·学习
Hello_wshuo1 小时前
v3s镜像从零开始构建
linux·嵌入式
Felven1 小时前
国产ZYNQ multiboot功能介绍与实现
linux·fpga开发·multiboot·国产zynq
吃好睡好便好1 小时前
汽车行驶原理
学习·汽车
吃好睡好便好1 小时前
Matlab中三种三维图的对比
开发语言·人工智能·学习·算法·matlab·信息可视化
脆皮炸鸡7552 小时前
进程通信----命名管道
linux·经验分享·笔记·算法·学习方法