Linux自主学习篇

用户及权限管理

sudo 是 "superuser do" 的缩写,是一个在类 Unix 操作系统(如 Linux 和 macOS)中使用的命令。它允许普通用户以超级用户(root 用户)的身份执行命令,从而获得更高的权限。
useradd -u 1024 jack 创建 jack 用户时指定其 UID 为 1024
useradd -d /home/myd bob1 为新添加的用户指定 home 目录
useradd -d /usr/local/apache -g apache -s /bin/false bob2
添加一个不能登录的用户;添加一个 bob2 用户,登录目录为 /usr/local/apache ,用户组为 apache ,指定 shell 为 /bin/false ;将用户 shell 设置为 /usr/sbin/nologin 或者 /bin/false ,表示拒绝系统用户登录
usermod -l tony tom 将用户 tom 的用户名改为 tony
usermod -d /home/tony/ tony 家目录改为 /home/tony
groupmod -n tony tom 修改原 tom 用户的私有组名 tom 改为 tony

userdel -r cx

问题分析:
这表明系统没有找到用户cx的邮件存储和主目录。这可能是因为用户在创建时没有被完全配置
解决方案:
1.创建用户时指定主目录

在使用 useradd 命令时,可以明确指定主目录。

sudo useradd -m cx

-m 选项会创建用户的主目录

2.手动创建主目录

如果你已经创建了用户但没有主目录,可以手动创建主目录,然后再尝试删除用户:

sudo mkdir /home/cx

3.删除用户时忽略邮件存储

如果你只想删除用户而不关心邮件存储和主目录,可以使用 userdel 命令而不加 -r 选项:

sudo userdel cx

4.检查用户信息

使用以下命令查看用户 cx 的信息,确认其状态:

sudo getent passwd cx

-u UID

-d 指定目录

-g 指定用户组

-s shell用户设置

-l 改变用户名

-n 修改私有组名

-m 创建用户的主目录

ls /home/ 查看用户

sudo 切换用户


passwd tony 设置密码
passwd -S jack 查看 jack 账号当前的状态
passwd -l jack 将 jack 账号锁定,测试效果后再解锁

你运行 passwd -l cx 命令并看到消息 passwd: password expiry information changed. 时,这表明用户 cx 的密码过期信息已成功更改。这是一个正常的反馈,表示系统已经更新了该用户的密码状态

  • 锁定账户 :使用 passwd -l cx 命令锁定用户账户时,系统会在 /etc/shadow 文件中添加一个标记(通常是 !*),这会阻止用户使用密码登录。

  • 密码过期信息:系统记录了用户密码的状态和过期信息。锁定账户的操作也会更新这些信息,因此你会看到这条消息。

  • 验证账户状态 :sudo grep cx /etc/shadow
    passwd -uf jack passwd -uf jack //openEuler 在这里做了安全加强,必须加上 -f 强制解锁
    ubuntu版本
    chage -l jack chage 命令查看编辑密码过期时间

    编辑用户过期时间,其它参数说明

    -m 密码可更改的最小天数。为零时代表任何时候都可以更改密码。

    -M 密码保持有效的最大天数。

    -W 用户密码到期前,提前收到警告信息的天数。

    -E 帐号到期的日期。过了这天,此帐号将不可用。

    -d 上一次更改的日期

    -I 停滞时期。如果一个密码已过期这些天,那么此帐号将不可用。

    -l 例出当前的设置。由非特权用户来确定他们的密码或帐号何时过期。

  • 用户名: 是用户在系统中的标识符,通常用于登录和文件权限管理。

  • 私有组 : 默认情况下,Linux 会为每个用户创建一个同名的组 ,这个组被称为用户的私有组。它的主要作用是简化权限管理,使得用户能够轻松管理自己的文件和目录

用户组管理


groupadd hatest 创建 hatest 组,且将用户 tony 、 jack 加到 hatest 组里面
gpasswd -M tony,jack hatest
tail -1 /etc/group # 查看用户组是否创建成功
groupadd group1 用于创建新用户组
groupdel group1 删除用户组
groupmod -g 102 group2 更改用户组 ID
cat /etc/group 查看用户组
编辑一个文本用户文件,以 root 身份执行命令 newusers,从刚创建的用户文件 user.txt 中导入数据,创建用户

查看用户信息

查看用户账号信息文件 /etc/passwd cat /etc/passwd
查看用户账号信息加密文件 /etc/shadow cat /etc/shadow
查看组信息文件 /etc/group cat /etc/group
查看组信息加密文件 /etc/gshadow cat /etc/gshadow
将 /test 目录修改为公共共享目录即给其设置 t 位权限位 chmod 1777 /test
将文件 file1 和 file2 设置权限为 755 chmod 755 /test/file1 /test/file2
查看其默认的权限及归属 ls -l / | grep test
将文件 file1 设为所有人皆可读取 chmod ugo+r file1
chmod a+r file1
将文件 file1 与 file2 设为该文件拥有者,与其所属同一个群体者可写入,但其他以
外的人则不可写入 chmod ug+w,o-w file1 file2
将目前目录下的所有文件与子目录皆设为任何人可读取 chmod -R a+r *
将文件 file1 的所属用户改为 jack ,所属用户组改为 hatest 组 chown jack:hatest /test/file1
修改文件群组属性 chgrp -v bin file1
通过 umask 来查看为修改权限掩码前 umask 值 umask
使用 umask 命令进行权限的修改 umask 022

相关推荐
小淮AI2 小时前
从“刷题”到“追问”:AI课堂正在重塑哪些学习旧习惯?
人工智能·学习
wixzjsh3 小时前
TCP通信与HTTP协议学习笔记:粘包、三次握手、四次挥手与C/S、B/S模型
学习·tcp/ip·http
ZhiMuZhiLing3 小时前
拓客软件学习成本实测方法论:从注册到出第一批名单要多久
学习·流量运营·用户运营
程序员大雄学编程4 小时前
微积分46. 无穷级数四大核心性质:从理论到实践的全方位解析
python·学习·微积分·学习工具
指针常量6 小时前
【RL系列文章】难样本学习等
学习·大语言模型·rl·后训练
wuyk5556 小时前
从零吃透Modbus通信|第7章:终极工程整合(模块化架构、双模式主机从机、RTOS适配、量产级模板)
c语言·stm32·学习·架构
一条破秋裤7 小时前
STM32 学习笔记:PWM 驱动 LED 呼吸灯与舵机代码
笔记·stm32·学习
kyrie_sakura9 小时前
python学习笔记11 -- 进程和线程
笔记·python·学习
高亦真9 小时前
今天是学习嵌入式的第34天
linux·学习·算法
2501_9318197010 小时前
桂柳方言标注公司错误标注溯源追踪体系搭建诉求落地 桂柳方言标注公司学习信实翻译全链路追踪技术
学习·语音识别