Linux命令学习—linux 下的用户和组的管理(上)

1.1、linux 系统下用户角色

        在 linux 系统下用户的角色不同,权限和所能完成的任务也不同,用户角色是通过 UID 来识别的, 注意:在 linux 下要注意 root 用户的 UID 的唯一性。

①、Root

       系统管理员超级用户,系统唯一,可以登陆系统,可以操作任何文件和命令,拥有最高权限,UID 值 为 0。

②、虚拟用户

       与真实的用户分开来,这类用户不能登陆系统,但是在使用某些服务的时候使用,这类用户是系统默 认添加的。

③、普通真实用户

       这类用户可以登陆系统,但是只能操作自己家目录的内容,受限账户,这类用户都是管理员自行添加 的。

1.1.1、用户相关文件介绍

       在 windows 当中可以使用计算机管理工具中的用户和组的管理工具来对用户进行管理,在 linux 下是 通过对用户配置文件(区别与 windows 中的用户配置文件)的管理来实现对用户和组的管理。

①、/etc/passwd 用户账号文件,记录所有用户记录

每行表示一个用户信息,7 个字段都有各自的含义

root : x : 0 :       0 :    root :     /root :      /bin/bash
用户名 密码 UserID GroupID 用户相关说明 用户家目录路径 用户的登陆 shell

②、/etc/shadow 用户账户的影子文件,包含用户的加密密码和其他信息,两个文件互补来记录用户 信息,这个文件只有 root 可以读取和操作。

每行包含 8 个字段,各项说明如下:

第 1 个字段 用户名。

第 2 个字段 加密口令。

第 3 个字段 上次口令改变时间,从 1970 年 1 月 1 日算起的天数。

第 4 个字段 多少天内不能改变口令。

第 5 个字段 多少天内必须改变口令。

第 6 个字段 口令到期前多少天会出现警告。

第 7 个字段 如果口令到期后几天不使用账号,则无法登陆。

第 8 个字段 如果到这个日期不用账号则无法登陆,可以以 YYYY-MM-DD 格式,也可以用 1970 年 1 月 1 日起的天数。

③、/etc/login.defs

打开这个文件对文件内容进行解释,如果修改,修改哪些位置有哪些作用。

MAIL_DIR 邮件存放目录
PASS_MAX_DAYS 密码有效期最长时间
PASS_MIN_DAYS 密码有效期最短时间
PASS_MIN_LEN 密码最小长度
PASS_WARN_AGE 密码到期提示时间
UID_MIN UID 最小值
UID_MAX UID 最大值
GID_MIN GID 最小值
GID_MAX GID 最大值
CREATE_HOME 是否创建家目录
UMASK UMASK 值
USERGROUPS_ENAB 当删除用户后,同名组中不在存在用户的时候,是否删除该组

④、/etc/skel

      存放用户启动文件的目录,类似与 windows 的用户配置文件目录,为用户提供用户环境,该目录下的文件 全部为隐藏文件。在添加用户时会从该目录下复制文件到用户的家目录下,相当与统一的登陆模板。

开启和关闭投影密码命令

       开启用户的投影密码,使得密码得到更好的保护,不容易被别的用户得到。

       该选项是一个安全选项,执行命令可以把用户名和密码分别存放在两个文件当中,影子文件就是密码 文件。

pwconv 开启投影密码命令
pwunconv 关闭投影密码命令

1.1.2、用户管理

①、useradd 创建用户命令

useradd jake 创建名为 jake 的用户
-d 指定用户的家目录
-g 指定用户组
-G 指定用户的附加组
-u 指定用户的 UID 值
-p 创建密码
useradd -d /rose -g group -G root -u 505 rose 创建 rose 用户,指定家目录在/rose 下,加入到
group 组,同时附加到 root 组,并设置 UID 号为 505
users 查看所有登陆的用户(who)

②、tail 命令查看指定文件的末行

tail -n 3 /etc/passwd 查看 passwd 文件的最后三行
tail -1 /etc/passwd 查看 passwd 文件的最后一行

③、passwd 设置密码命令

注意:没有设置密码的用户不能使用
passwd rose 给用户 rose 设置密码
-d 删除密码
-f 强制执行下次登陆时更改密码
-l 停止账号使用
-u 启用已经停止的账号
-S 显示密码信息

④、userdel 删除账号命令

userdel rose 删除 rose 账号
userdel -r rose 删除用户登陆目录及目录下的文件(类似于 windows 的删除用户选择是否删除用户的文档)

⑤、usermod 修改账号命令

usermod -l newname oldname
-d -g -G -u 等参数与 useradd 命令参数使用方法一样
usermod -d /home/rose -g group0 -G group1 -u 600 rose
将 rose 用户的家目录,主组和附加组以及 UID 值更改
用户的锁定与解锁
usermod -L rose 锁定 rose 用户
usermod -U rose 解除 rose 用户的锁定

⑥、gpasswd 用户添加到其他组的命令

注意:只有 root 和组管理员能够改变组成员
gpasswd -a u1 g1 将 u1 加入到 g1 组
gpasswd -d u1 g1 将 u1 退出 g1 组
gpasswd -A u1 g1 将 g1 组的管理员指派给 u1

⑦、id 查看 ID 信息命令

id rose 查看 rose 用户的 ID 信息

1.1.3、root 单用户

       如果希望计算机除了 root 账号外其他账号不能登陆,在/etc 目录中执行 touch nologin,创建 1 个 名称为 nologin 的文件。如果系统只有一个人使用,可以考虑修改/etc/inittab 文件,将默认启动值改为 2。

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

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

相关文章

C#-MemoryMarshal

MemoryMarshal 类是 .NET 中用于处理内存的工具类,它提供了一组静态方法,用于在托管代码中以安全和高效的方式操作内存块。MemoryMarshal 类主要用于处理原始内存数据而不需要进行复制,这对于性能关键的操作非常有用。 MemoryMarshal 类包含…

【R语言从0到精通】-3-R统计分析(列联表、独立性检验、相关性检验、t检验)

上两次教程集中学习了R语言的基本知识,那么我们很多时候使用R语言是进行统计分析,因此对于生物信息学和统计科学来说,R语言提供了简单优雅的方式进行统计分析。教程参考《Rlearning》 3.1 描述性统计分析 3.1.1 载入数据集及summary函数 我…

【力扣题】关于单链表和数组习题

🌈 个人主页:白子寰 🔥 分类专栏:python从入门到精通,魔法指针,进阶C,C语言,C语言题集,C语言实现游戏👈 希望得到您的订阅和支持~ 💡 坚持创作博文…

(Java)数据结构——图(第五节)Kruskal的实现最小生成树(MST)

前言 本博客是博主用于复习数据结构以及算法的博客,如果疏忽出现错误,还望各位指正。 Kruskal算法(Kruskal的实现原理) Kruskal算法的原理: 就是每次取最小的边,看看是不是与已经选择的构成回路&#x…

金融机构面临的主要AI威胁:身份伪造统与社会工程攻击

目录 攻击者利用AI威胁的过程 金融机构如何防范AI攻击 针对AI欺诈的解决方案 2023年11月,诈骗分子伪装成某科技公司郭先生的好友,骗取430万元;2023年12月,一名留学生父母收到孩子“被绑架”的勒索视频,被索要500万元赎…

ISTQB选择国内版,还是国际版呢

1, ISTQB简介 ISTQB(International Software Testing Qualifications Board)是一个国际软件测试资格认证机构,旨在提供一个统一的软件测试认证标准。ISTQB成立于2002年,是非盈利性的组织,由世界各地的国家或地区软件测…

Logging 日志输出 - 无双重输出问题 - 可多个py文件 - Python

一、多个py文件每次只将一条日志输出到同一个log文件(yourpath\test): (一)主文件: 1. logFile "yourpath\test" 2. if True: import logging from logging import handlers logger logging.getLogg…

Qt5 编译oracle数据库

库文件 1、Qt源码目录:D:\Qt5\5.15.2\Src\qtbase\src\plugins\sqldrivers\oci 2、oracle客户端SDK: https://www.oracle.com/database/technologies/instant-client/winx64-64-downloads.html 下载各版本中的如下压缩包,一定要版本相同的 将两个压缩包…

事务,MySQL函数和索引详解

文章目录 事务简介提交方式手动提交事务 事务执行流程修改事务的默认提交方式 事务原理四大特性隔离级别 MySQL函数常见的日期函数判断函数case when字符串函数数字函数 MySQL性能(了解)索引概念分类MySQL索引语法数据结构(了解)BTreeBTree好处 优缺点优势劣势 创建原则 事务简…

c++取经之路(其五)——类和对象拷贝构造函数

概念:拷贝构造函数,只有单个形参,该形参是对本类类型对象的引用(一般常用const修饰),在用已存在的类类型对象创建新对象时由编译器自动调用。 特征: 1. 拷贝构造函数是构造函数的一个重载形式 如: 2. 拷贝…

uniapp 检查更新

概览 在uniapp中检查并更新应用,可以使用uni-app自带的更新机制。以下是一个简单的示例代码,用于在应用启动时检查更新: // 在App.vue或者其他合适的地方调用 onLaunch: function() {// 当uni-app初始化完成时执行// 判断平台const platfor…

C++: 类和对象(下)

目录 一、日期类 二、初始化列表 三、static成员 四、友元 五、内部类 一、日期类 日期类主要用于深化对六大默认成员函数和运算符重载的理解 日期类需要实现方法有: 1.构造函数 2.拷贝构造函数 3.赋值运算符重载 4.运算符重载 5.!运算符重载 6.运算符…

基于springboot实现中小型医院网站管理系统【项目源码+论文说明】

基于springboot实现中小型医院网站管理系统演示 摘要 本基于Spring Boot的中小型医院网站设计目标是实现用户网络预约挂号的功能,同时提高医院管理效率,更好的为广大用户服务。 本文重点阐述了中小型医院网站的开发过程,以实际运用为开发背…

【嵌入式】让人又爱又恨的“指针”

调试bug遇到了野指针,无语凝噎,记录 【嵌入式】让人又爱又恨的“指针” 1.我到底是个啥?1.1【解释一下】1.2【谨慎使用】 2.毒舌“野指针” 1.我到底是个啥? 1.1【解释一下】 回顾一下, 什么是指针?指针在…

自定义注解加反射实现数据类型转换

概述 通过ORM框架从数据库中查询出的实体对象,大部分情况下可能与前端页面展示的数据结果类型略有不同,比如:后端定义的店铺实体类(Shop)中有店铺状态:0-正常,1-未审核,2-违规,3-倒闭,在做脱敏的处理下需要…

[amateurs CTF 2024] crypto/pilfer-techies

这题费了几天,昨天写到11点半才基本完成程序,需要交互2000多,远程太慢了交互两次就断掉了,反正本地能成,程序逻辑上正确了。小鸡块也写了WP了等写完马上去看小鸡块神的思路。也许有的问题很大呢? 先简单看下题: #!/usr/local/bi…

二分查找基本模版

二分&#xff1a;通过不断取中点&#xff0c;重复将一个区域一份为二&#xff0c;使其不断缩小范围直至找到答案 本质&#xff1a;性质/边界&#xff0c;而不是单调性 时间复杂度&#xff1a;O(logN) 代码模版&#xff1a; //找到的是最左侧的数值点 while(l < r){ //尽…

[数据结构]——二叉树——堆的实现

1. 堆的概念及结构 如果有一个关键码的集合K { &#xff0c; &#xff0c; &#xff0c;…&#xff0c; }&#xff0c;把它的所有元素按完全二叉树的顺序存储方式存储 在一个一维数组中&#xff0c;并满足&#xff1a; < 且 < ( > 且 > ) i 0&#xff0c;1&…

前端面试题(1)

1&#xff0c;CSS盒子模型 CSS的盒模型有两种&#xff1a;标准盒模型&#xff0c;IE盒模型。IE盒模型&#xff0c;其中content包含了内边距padding和边框border。盒子的实际宽度 contentmargin。标准盒模型&#xff0c;盒子的实际宽度 content(内容)padding(内边距)border(边…

rocky9 yum 安装与配置MySQL8

1.前置条件&#xff1a; 把yum包更新到最新 [rootlocalhost ~]# yum update 查看系统中是否已安装 MySQL 服务 rpm -qa|grep mysql 如果有安装mysql,则需要先卸载之前安装的mysql&#xff1a;yum -y remove mysql 然后再查看mysql是否都卸载完成,如果还有没卸载完成的&am…