Linux手动创建用户不使用useradd【七步走完成】

文章目录

      • 第一步:修改 /etc/passwd 文件
      • 第二步:修改 /etc/shadow 文件
      • 第三步:修改 /etc/group 文件
      • 第四步:新建用户家目录
      • 第五步:复制/etc/skel目录下的环境变量配置文件到家目录下
      • 第六步:修改家目录的权限和属主
      • 第七步:创建邮箱文件
      • 确认用户创建成功


  • 环境: CentOS7.6

  • 需求: 手动新建一个用户,用户名为zhangsan,uid设置为1024(前提是这个uid没有被占用),gid也设置为1024,组名与用户名同名,家目录在/home/zhangsan、默认shell为/bin/bash


注意:以下步骤都是使用root用户进行,部分命令和操作只有root用户才有权限。

第一步:修改 /etc/passwd 文件

  • vim 打开 /etc/passwd 文件追加一行信息

在这里插入图片描述

/etc/passwd文件的每一行代表一个用户的信息,用冒号分隔的每一个字段分别代表不同的含义。

  • 第一个字段:用户名
  • 第二个字段:密码,这里的 x 仅仅是一个标识,真正的密码加密保存在 /etc/shadow 中
  • 第三个字段:UID
  • 第四个字段:GID
  • 第五个字段:用户描述信息,可不填
  • 第六个字段:用户家目录位置
  • 第七个字段:默认shell

修改完成,:wq保存退出。


第二步:修改 /etc/shadow 文件

  • 用 vim 打开 /etc/shadow 文件,打开会提示正在修改一个只读文件
  • 可以看一下,shadow 文件啥权限啥也没有

在这里插入图片描述

  • 在 shadow 文件的最后追加一行信息。

在这里插入图片描述

  • 修改完毕,使用 wq! 保存退出,不然又会给出警告,无法保存。

shadow文件同样是一行一个用户的信息,每个字段有不同含义。

  • 第一个字段:用户名
  • 第二个字段:密码。有密码的用户在这里都是一串加密过的字符。这里我填了两个叹号,表示没有密码。
  • 第三个字段:从1970/01/01到最近一次密码修改经过的时间,以天为单位。
  • 第四个字段:密码过多久可以被修改,0表示随时可改。
  • 第五个字段:密码的有效期
  • 第六个字段:密码要过期前多少天提醒用户,7就是提前一周提醒。
  • 第七个字段:密码过期后多少天之内还能登录,但是要登录必须改密码。
  • 第八个字段:密码的最长使用期限
  • 第九个字段:系统保留字段

第三步:修改 /etc/group 文件

  • 在最后追加如下信息

在这里插入图片描述

group 文件一行有四个字段

  • 第一个字段是组名
  • 第二个字段是组密码,这里的 x 和 /etc/passwd 的密码字段差不多。
  • 第三个字段就是GID
  • 第四个字段是组中的用户,如果该组是某个用户的主要组,那么这个用户不会显示在这个字段里,因此这里我空着。

第四步:新建用户家目录

mdkir /home/zhangsan

第五步:复制/etc/skel目录下的环境变量配置文件到家目录下

cp /etc/skel/.bash* /home/zhangsan && ls -al /home/zhangsan

在这里插入图片描述

第六步:修改家目录的权限和属主

  • 到现在为止,用户 zhangsan 的家目录和其中的所有文件都是root用户的

在这里插入图片描述

  • 将这些文件的归属权给 zhangsan,并修改文件权限
  • 将用户 zhangsan 的家目录 /home/zhangsan 的属主和组修改为 zhangsan
chown -R zhangsan:zhangsan /home/zhangsan
  • 修改文件的权限,只允许属主有读写权限,其他用户和组没有任何权限
chmod 700 /home/zhangsan
  • 修改后的结果如下

在这里插入图片描述

第七步:创建邮箱文件

  • 创建邮箱文件
touch /var/spool/mail/zhangsan
  • 同样需要修改邮箱的所有者
chown zhangsan:zhangsan /var/spool/mail/zhangsan
  • 同样需要修改邮箱的所有者
chown zhangsan:zhangsan /var/spool/mail/zhangsan

确认用户创建成功

在这里插入图片描述

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

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

相关文章

AI系统性学习—LangChain入门

文章目录 1、LangChain入门1.1 简介1.2 架构1.3 核心概念1.2 快速入门1.3 安装 2、LangChain Prompt Template2.1 什么是提示词模版2.1 创建一个提示词模版2.2 聊天消息提示词模版2.3 模版追加示例 3、语言模型3.1 LLM基础模型3.2 LangChain聊天模型3.3 自定义模型3.4 输出解析…

基于springboot的stone音乐播放器的设计与实现

摘 要 随着我国经济的高速发展与人们生活水平的日益提高,人们对生活质量的追求也多种多样。尤其在人们生活节奏不断加快的当下,人们更趋向于足不出户解决生活上的问题,stone音乐播放器展现了其蓬勃生命力和广阔的前景。与此同时,…

数电复试速成,期末速成

【拯救者】数字电路与逻辑速成(期末考研复试专升本)均可用 1️⃣先讲每章对应的基础和题目 2️⃣接着会讲对应的题目巩固 🍗提供文档下载 这里讲的是【 🌷速成🌷 速成🌷 速成】版本,按课本章节来, 抽取重…

【Unity】捕捉PC桌面的插件

【背景】 之前介绍了如何用一款名为uWindowCapture的Unity免费插件在Unity的Canvas上展示PC桌面。经过一段时间的使用,本篇继续分享此插件的一些功能和限制。 在此感谢作者Hecomi。 【特征和限制】 一般局域网络环境只能最多达到15帧的帧率,所以别幻想用来窜流游戏或者看电…

这个简单的生活方式,为你带来满满的幸福感

在今天文章的开头,我想请你思考一个问题:影响幸福感的最大因素是什么? 不妨先想一想,再往下拉,继续阅读。 可能不少朋友的回答,会是财富、事业、理想、生活环境、社会地位…… 这些因素当然对幸福感都非常重…

解决GNURadio自定义C++ OOT块-导入块时报错问题

文章目录 前言一、问题描述二、解决方法1、安装依赖2、配置环境变量3、重新编译及安装三、结果1、添加结果2、运行结果前言 本文记录在 GNURadio 自定义 C++ OOT 块后导入块时报错 AttributeError: module myModule has no attribute multDivSelect。 一、问题描述 参考官方教…

国内智能驾驶芯片领先供应商地平线智能驾驶芯片介绍

地平线国内智能驾驶芯片领先供应商,由国际著名机器学习专家余凯博士于2015年7月创建;2017年12月,地平线即推出了首款 智能芯片征程1和旭日1;2019年8月,宣布量产中国首款车规级智能芯片征程2并于同年10月发 布新一代AIo…

SUS-Chat-34B笔记

名称SUS-Chat: Instruction tuning done right团队南方科技大学、IDEA研究院CCNL团队代码地址https://github.com/SUSTech-IDEA/SUS-Chat简介具有超强多轮对话能力,擅长模仿人类思考过程,在各大榜单上超越同量级的模型。 介绍 SUS-Chat-34B模型是南方科…

用户行为分析是什么?为什么我们需要 bitmap?

本文非常好:https://blog.bcmeng.com/post/doris-bitmap.html meta搜也非常好:https://metaso.cn/ 用户行为分析是什么?简单说,就是围绕全体用户,做各种分析。用户就是一个个的 id。id 在不同方面有各种行为记录&…

查询表中数据(全列/特定列/表达式,where子句(比较/逻辑运算符),order by子句,limit筛选分页),mysql执行顺序

目录 select 全列查询 特定列查询 用表达式查询 (as) 名字 distinct 去重 where子句 比较运算符 列数据之间的比较 ​编辑 别名不能参与比较 null查询 between and in ( ... , ...) 模糊匹配 逻辑运算符 order by子句 可以使用别名 总结mysql执行顺…

自然灾害威力大 北斗预警守护家

从台风强降雨的洪流到山火肆虐,近几年来自然灾害对人民群众造成的伤害越发沉重,我们无法根本上杜绝自然灾害的发生,如果在灾害发生前能够及时准确的播报相关预警信息,给人民群众尽力争取转移的时间,那将可以减免损失&a…

【小沐学AI】Google AI大模型的一点点学习(Python)

文章目录 1、Google AI简介1.1 Google AI Studio1.2 Bard1.3 PaLM1.4 Gemini1.5 Gemini API1.6 Vertex AI1.7 Gemma 2、Google AI开发2.1 快速入门2.1.1 配置开发环境2.1.2 列出所有模型2.1.3 从文本输入生成文本2.1.4 从图像和文本输入生成文本2.1.5 聊天对话 结语 1、Google …

LeetCode 0310.最小高度树:拓扑排序秒了

【LetMeFly】310.最小高度树:拓扑排序秒了 力扣题目链接:https://leetcode.cn/problems/minimum-height-trees/ 树是一个无向图,其中任何两个顶点只通过一条路径连接。 换句话说,一个任何没有简单环路的连通图都是一棵树。 给你…

代码随想录算法训练营 DAY 16 | 104.二叉树最大深度 111.二叉树最小深度 222.完全二叉树的节点个数

104.二叉树最大深度 深度和高度 二叉树节点的深度:指从根节点到该节点的最长简单路径边的条数或者节点数(取决于深度从0开始还是从1开始)二叉树节点的高度:指从该节点到叶子节点的最长简单路径边的条数或者节点数(取…

Linux学习:git补充与调试工具gdb

目录 1. git版本控制器(续)1.1 git本地仓库结构1.2 git实现版本控制与多人协作的方式1.3 git相关指令,多分支模型与.gitignore文件 2. gdb调试工具2.1 企业项目开发流程简述与调试的必要性2.2 bug的调试思路方法与调式工具的使用 1. git版本控…

软考高级:特定领域软件架构(DSSA)概念和例题

作者:明明如月学长, CSDN 博客专家,大厂高级 Java 工程师,《性能优化方法论》作者、《解锁大厂思维:剖析《阿里巴巴Java开发手册》》、《再学经典:《Effective Java》独家解析》专栏作者。 热门文章推荐&am…

linux网络固定ip的方式

1. 注意 默认情况下,我们linux操作系统 ip 获取的方式是自动获取的方式(DHCP),自动获取在我们需要进行集群配置的时候,IP会经常变化,需要将IP固定下来。 2. 第一步 编辑我们 linux 的网卡文件 这个网卡文件…

环境变量配置

举一个小例子来演示一下环境变量配置。 在CMD中打开QQ界面,首先需要知道QQ.exe文件的完整路径。一旦有了这个路径,可以按照以下步骤操作: 打开CMD窗口。可以通过按下Windows键R,输入“cmd”并回车来打开它。在CMD窗口中&#xf…

【LINUX笔记】驱动开发框架

应用程序调动驱动程序 驱动模块运行模式 模块加载-卸载 加载卸载注册函数 加载 驱动编译完成以后扩展名为.ko,有两种命令可以加载驱动模块: insmod和modprobe 驱动卸载 驱动注册注销 //查看当前已经被使用掉的设备号 cat /proc/devices 实现设备的具…

按键模拟精灵

按键模拟精灵功能简单: 1.添加模拟按键 2.删除模拟按键 3.开始模拟 4.停止模拟 适合简单的按键操作,有需要的可以点赞收藏关注我!