Linux自主学习篇

news2024/9/22 21:12:14

用户及权限管理

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2155891.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

多模态交互才是人机交互的未来

交互方式 在探讨文字交流、语音交流和界面交流的效率时,我们可以看到每种方式都有其独特的优势和局限性。文字交流便于记录和回溯,语音交流则在表达情绪和非语言信息方面更为高效,而界面交流则依赖于图形用户界面(GUI&#xff09…

<<编码>> 第 16 章 存储器组织(4)--内存 示例电路

内存内部结构 info::操作说明 译码器用于写入, 操作同上 选择器用于输出, 操作同上 地址信号同时控制译码器和选择器, 注意地址的高位在右(比如 001 实际是 100, 选择的是 Q6 和 I6) 缺省情况下, 内部数据全是 0. 读者可先通过译码器写入, 再通过选择器输出 primary::在线交…

初学者的鸿蒙多线程并发之 TaskPool 踩坑之旅

1. 背景 目标群体:鸿蒙初学者 版本:HarmonyOS 3.1/4.0 背景:鸿蒙 App 的全局路由管理功能,需要在 App 启动时初始化对 raw 下的相关配置文件进行读取、解析并缓存。App 启动时涉及到了大量模块的初始化,好多模块都涉…

【machine learning-15-如何判定梯度下降是否在收敛】

我们在运行梯度下降的时候,如何判定梯度下降是否在收敛呢? 梯度下降的时候,权重和偏置根据如下的公式同时更新: 程序要做的就是更新w 和 b,让梯度下降尽快的收敛,但是如何判定正在收敛呢? 方法…

关于神经网络的一个介绍

这篇文章中,我将简单介绍下与神经网络有关的东西,包括它的基本模型,典型的算法以及与深度学习的联系等内容。 一、神经元 神经网络是由许多个神经元组成的,在生物的神经网络中,就是神经元间相互连接,传递…

Arthas getstatic(查看类的静态属性 )

文章目录 二、命令列表2.1 jvm相关命令### 2.1.7 getstatic(查看类的静态属性 ) 二、命令列表 2.1 jvm相关命令 ### 2.1.7 getstatic(查看类的静态属性 ) 使用场景: 我们项目部署在linux上,我有个本地内存…

从一到无穷大 #35 Velox Parquet Reader 能力边界

本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。 本作品 (李兆龙 博文, 由 李兆龙 创作),由 李兆龙 确认,转载请注明版权。 文章目录 引言源码分析功能描述功能展望 引言 InfluxDB IOX这样完全不使用索引,只…

《沧浪之水》读后感

未完待续..... 未完待续.... 未完待续.... 【经典语录】 01、我一辈子的经验就是不要做瞎子,也不能做聋子,该听到的信息要听到,但是要做哑巴,看到了听到了心中有数就行了,可千万不要张口说什么。 02、你刚从学校毕业…

MQ入门(一):同步调用和异步调用--RabbitMQ基础入门

目录 1.初识MQ 1.1.同步调用 1.2.异步调用 1.3.技术选型 2.RabbitMQ 2.1.安装部署 2.2.RabbitMQ基本架构 2.3.收发消息 2.3.1.交换机 2.3.2.队列 2.3.3.绑定关系 2.3.4.发送消息 2.4.数据隔离 2.4.1.用户管理 2.4.2.virtual host 1.初识MQ 微服务一旦拆分&…

web前端字段大小写下划线转换工具

文章目录 前言一、如何使用?二、相关代码总结 前言 程序员在敲代码的过程中都要命名一些字段,但是Java语言对字段的命名规范和sql命名规范不一样,如下图所示,这种机械性的转换工作很劳神费力,为了省点劲写了一个web小…

尚品汇-Jenkins部署构建服务模块、Linux快照备份(五十七)

目录: (1)构建作业(server-gateway) (2)构建service_product模块 (3)演示添加新代码 (4)学会使用linux快照 (1)构建作…

在SpringCloud中实现服务间链路追踪

在微服务架构中,由于系统的复杂性和多样性,往往会涉及到多个服务之间的调用。当一个请求经过多个服务时,如果出现问题,我们希望能够快速定位问题所在。这就需要引入链路追踪机制,帮助我们定位问题。 Spring Cloud为我们…

【沪圈游戏公司作品井喷,游戏产业复兴近在眼前】

近期财报季中,腾讯、网易及B站等国内游戏巨头纷纷亮出亮眼的游戏业务表现,均实现了接近或超越双位数的同比增长。然而,审视过去一年,国内游戏行业仍笼罩在宏观经济“降本增效”的阴影下。 行业数据揭示,全国游戏公司社…

封装 wx.request 的必要性及其实现方式

目录 为什么需要封装 wx.request 1. 避免回调地狱 2. 统一管理 3. 扩展功能 小程序异步 API 的改进 封装实现方式 在小程序开发中,网络请求是不可或缺的功能之一。小程序提供了 wx.request API 来实现网络请求,但直接使用这个 API 在复杂场景下可…

关于SpringBoot项目使用maven打包由于Test引起的无法正常打包问题解决

一、问题描述 在日常工作中,在接手项目时,项目未必是“正常”的,一般平常搭建项目,都不会采用一键式生成的方式,现在说下旧项目,可能项目结构并不是那么简洁,通常都带有与main同层级的test&…

Cpp类和对象(中续)(5)

文章目录 前言一、赋值运算符重载运算符重载赋值运算符重载赋值运算符不可重载为全局函数前置和后置的重载 二、const修饰成员函数三、取地址及const取地址操作符重载四、日期类的实现构造函数日期 天数日期 天数日期 - 天数日期 - 天数日期类的大小比较日期类 > 日期类日…

嵌入式系统stm32cube本地安装出现的问题

stm32cube在线安装很慢,本地安装中出现的一个bug stm32cube_fw_f4_v1281安装成功之后,如果想安装stm32cube_fw_f4_v1281会提示stm32cube_fw_f4_v1280未安装。 如果先安装stm32cube_fw_f4_v1280之后,再安装stm32cube_fw_f4_v1281还会提示这个…

Python模拟鼠标轨迹[Python]

一.鼠标轨迹模拟简介 传统的鼠标轨迹模拟依赖于简单的数学模型,如直线或曲线路径。然而,这种方法难以捕捉到人类操作的复杂性和多样性。AI大模型的出现,能够通过深度学习技术,学习并模拟更自然的鼠标移动行为。 二.鼠标轨迹算法实…

C#如何把写好的类编译成dll文件

1 新建一个类库项目 2 直接改写这个Class1.cs文件 3 记得要添加Windows.Forms引用 4 我直接把在别的项目中做好的cs文件搞到这里来,连文件名也改了(FilesDirectory.cs),这里using System.Windows.Forms不会报错,因为前…

go项目多环境配置

1.java项目配置加载最佳实践 在 Spring Boot 项目中,配置文件的加载和管理是开发过程中不可或缺的一部分。Spring Boot 提供了一套灵活且强大的机制来加载配置文件,使得开发者能够根据不同的环境和需求轻松地管理配置。当多个位置存在相同的配置文件时&…