用户账户的权限管理

用户账户的权限管理

用户账号:

1、超级用户 :管理员账号 root 默认对本机拥有最高权限的账户,在系统中唯一。

2、普通用户:一般由管理员创建,拥有的权限是受限制的,一般只在自己的家目录中拥有完整的权限。

3、程序用户:普通用户的特殊形式。在安装软件时,部分应用程序需要创建一些账号,来保证程序的正常运行。就会创建一个程序账户(低权限账户)。

程序账户不能登录系统 作用:保证程序正常运行。

UID :用户的标识号,创建用户时候可以指定,可以用系统分配。唯一的,不能重复。

GID :组标识,创建用户的时候可以指定,也可以自动分配,也是唯一的,不能重复。

不同用户通过UID区分:

管理员用户UID:0

普通用户:1000

程序用户:1-999

判定一个用户是否为管理员,以uid为标准,uid=0的是管理员

fu:x:1000:1000:fu:/home/fu:/bin/bash

字段1:用户账号的名称

字段2:用户密码的占位符。无实意

字段3:用户的uid

字段4:用户的gid号

字段5:用户全名,一般和字段1一致

字段6:用户的家目录所在的位置

字段7:用户登录的shell,shell默认的解释器是bash,只有是/bin/bash才可以登录系统。

/sbin/nologin /bin/false,表示不可以登录系统。

一般程序用户的 shell 是/sbin/nologin/bin/false。

/etc/passwd 保存的是用户的信息

/etc/shadow 保存的是用户的密码和账户有效期(加密保存)

root: 6 6 6SuJ/b/.LajcTU7.1SVkuaSgemZKK2RGRB0472IYMTUkjFn.i0yoMKba8c.EcRzttYQEjo8G4ilThCTu/WgU3Pv9AMsJ5ewfL/3Wusp/::0:99999:7:::

字段1 :用户的账号名称

字段2 :用户密码 MD5加密方式 * 表示不能登录系统 !! 表示密码为空 不是真空,什么都没有才是空

字段3 : 上次修改密码的时间。时间是从1970-1-1到2024-5-21

字段4 : 密码的最短有效天数,0表示无限制

字段5 : 密码的最长有效天数 99999表示不限制

字段6 : 提前多少天告诉用户,密码将会过期,默认七天

字段7 : 密码过期之后多少天会禁用此用户

字段8 : 账号的失效时间,失效了多久,为空表示永不失效

字段9 : 保留字段,用户自定义,二次开发使用

如何添加用户、创建用户:

useradd

-u 指定 uid号。已被占用的uid不能被指定。

[root@localhost home]# useradd -u 666 qwe
45  qwe:x:666:2001::/home/qwe:/bin/bash    #cat /etc/passwd

-d 指定用户家目录位置。(一般不使用)

-e 指定用户的账户失效时间,格式yyyy-mm-dd

-M 创建用户时,不建立家目录

-s 创建用户时指定用户的登录shell

 [root@localhost ~]# useradd -u 888  -e 2024-9-9  -s /bin/bash  qaz  
 创建 uid为 888    过期时间为2024年9月9日   shell脚本路径/bin/bash

用户创建密码

passwd 用户名

-d 清空指定用户的密码。(慎用!)

-l 锁定用户,无法登录

[root@localhost ~]# passwd -l qaz
锁定用户 qaz 的密码 。
passwd: 操作成功

-u 解锁用户

[root@localhost ~]# passwd -u qaz
解锁用户 qaz 的密码。
passwd: 操作成功

-S 查看用户状态,用户是否被锁定

[root@localhost ~]# passwd -S qaz
qaz LK 2024-05-21 0 99999 7 -1 (密码已被锁定。)

修改密码的另一种方式:echo 要修改的密码 | passwd --stdin 要修改的用户名 (免交互式) 密码可视化

[root@localhost ~]# echo 1234 | passwd --stdin qaz
更改用户 qaz 的密码 。
passwd:所有的身份验证令牌已经成功更新。

修改账号属性

usermod

-u 修改用户的uid号

[root@localhost ~]# usermod -u 665  qaz

-d 修改用户的家目录地址(不用)

-e 修改账号失效时间 YYYY-MM-DD

root@localhost ~]# usermod -e 2024-9-5 qaz

-s 修改用户的登录shell

usermod -s shell路径 用户名

-L 锁定用户

[root@localhost ~]# passwd -S qaz
qaz LK 2024-05-21 0 99999 7 -1 (密码已被锁定。)

-U 解锁用户

[root@localhost ~]# usermod -U qaz
[root@localhost ~]# passwd -S qaz
qaz PS 2024-05-21 0 99999 7 -1 (密码已设置,使用 SHA512 算法。)

删除账户

userdel 用户名 只删除用户不删除家目录

userdel -r 用户名 删除用户同时删除用户家目录

组账号

/etc/group 组账号信息

/etc/gshadow 保存组账号的额外信息

groupadd 添加组账号

groupdel 组名称

添加或者删除组成员 (添加可以一次性多个删除只能一个一个删除)

gpasswd

-a 向组内添加用户 gpasswd -a lzl hpc

-d 从组中删除用户 gpasswd -d hpc lzl

-M 向组中一次多个添加 gpasswd -M hpc,lzl2 lzl

配置文件:

ls -a 查看

[root@localhost ~]# ls -a
.   .bash_history  .bash_profile  .cache   .cshrc  .esd_auth      .lesshst  .tcshrc   .Xauthority
..  .bash_logout   .bashrc        .config  .dbus   .ICEauthority  .local    .viminfo

/etc/profile 全局配置 (对所有用户生效) source 文件名 (全局生效)/重启

~/.bash_profile 用户登录时会读取的配置,只对自己生效。

~/.bashrc 用户配置文件,只对自己生效,每次新打开一个shell就会读取这个文件

~/.bash_logout 用户退出当前shell的时候会执行的配置文件

每次登录都是shell的一个 子shell 每个之间互相隔离

读取顺序(优先级)

/etc/profile > ~/.bash_profile > ~/.bashrc > ~/.bash_logout

开机读取 登录读取 自定义读取 退出读取

权限管理

查询用户身份标识:

id 用户名 //查询uid gid 所属组

查询已经登录到主机的用户信息:W who users

U:所有者

G:所在租

O:其他用户

A:所有用户 a+x

r 4 读权限 w 2 写权限 x 1执行权限

赋权命令:

chmod 权限 文件名

递归赋权:

chmod -R 目录名

chmod -R 只有一层目录,目录当中的所有都会生效,级联目录只要最后一个会生效。

在这里插入图片描述

umask:用来设定文件和目录的默认权限。

文件默认权限:666

目录默认权限:777

创建文件,默认不给执行权限。

创建目录一定要有执行权限,没执行权限就不能切换,不能cd进入目录。

chown : 修改所有者和所有组

前提:用户和租都要存在,要先创建好。

chown 用户名 : 用户名 所有者和所在组一起变(可以不同)===== chown id.id

chown 用户名 文件名/目录名 只修改所有者

chown :用户名 只修改所在组 ========== chown .id

chown -R 目录名 第一层所有的生效,写到最后一层只有最后一层生效

创建用户 useradd

编写shell脚本 login.sh !#/bin/bash
echo " 欢迎你~ "

shell脚本赋权 chmod 777 login.sh

shell脚本更改所有者和所有组 chown nm.nm login.sh

进入用户家目录查看隐藏文件 cd /home/nm

修改隐藏文件中登录读取文件 vim .bash_profile 最后一行加入脚本路径

source 执行 隐藏文件 source .bash_profile

切换用户 su - nm

删除用户 userdel nm

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

每日练习之排序——链表的合并;完全背包—— 兑换零钱

链表的合并 题目描述 运行代码 #include<iostream> #include<algorithm> using namespace std; int main() { int a[31];for(int i 1;i < 30;i)cin>>a[i];sort(a 1,a 1 30);for(int i 1;i < 30;i)cout<<a[i]<<" ";cout&…

走进创新高地,探索职业未来——记大学生参观刺掌信息科技学习活动

在这个向阳生长&#xff0c;充满活力的5月&#xff0c;一群来自江苏大学的充满朝气与求知欲的大学生们来我司参观学习&#xff0c;他们带着对网络安全的热爱和职业生涯的憧憬&#xff0c;走进我们的企业&#xff0c;开始了探索之旅。 交流会上&#xff0c;江苏刺掌信息科技有限…

Python使用multiprocessing实现多进程

大家好&#xff0c;当我们工作中涉及到处理大量数据、并行计算或并发任务时&#xff0c;Python的multiprocessing模块是一个强大而实用的工具。通过它&#xff0c;我们可以轻松地利用多核处理器的优势&#xff0c;将任务分配给多个进程并同时执行&#xff0c;从而提高程序的性能…

CTFHUB技能树——SSRF(二)

目录 上传文件 ​FastCGI协议 Redis协议 上传文件 题目描述&#xff1a;这次需要上传一个文件到flag.php了.祝你好运 index.php与上题一样&#xff0c;使用POST请求的方法向flag.php传递参数 //flag.php页面源码 <?phperror_reporting(0);if($_SERVER["REMOTE_ADDR&…

“从根到叶:使用决策树导航数据”

目录 一、说明 二、什么是决策树&#xff1f; 三、基本概念&#xff1a; 四、工作原理&#xff1a; 五、分类原理分析 5.1 信息熵&#xff1a; 5.2 信息增益&#xff1a; 5.3 基尼杂质&#xff1a; 5.4 基尼系数和熵的区别&#xff1a; 六、对于回归决策树&#xff1a; 6.1 均方…

OR-Oncology Research 肿瘤学研究

文章目录 一、期刊简介二、征稿信息三、期刊表现四、投稿须知五、投稿咨询 一、期刊简介 Oncology Research以临床前和临床癌症治疗为特色&#xff0c;发表了高质量的同行评审研究&#xff0c;有助于在分子生物学、细胞生物学、生物化学、生物物理学、遗传学、生物学、内分泌学…

128天的创意之旅:从初心到成就,我的博客创作纪念日回顾

文章目录 &#x1f680;机缘&#xff1a;初心的种子——回望创作之旅的启航&#x1f308;收获&#xff1a;成长的果实——128天创作之旅的宝贵馈赠❤️日常&#xff1a;创作与生活的交织&#x1f44a;成就&#xff1a;代码的艺术&#x1f6b2;憧憬&#xff1a;未来的蓝图 &…

【RabbitMQ】SpringAMQP--消息转换器

SpringAMQP–消息转换器 测试发送Object类型消息 1.声明队列 Configuration public class FanoutConfig {Beanpublic Queue objectQueue(){return new Queue("object.queue");} }运行消费者后&#xff1a; 2.发送消息 RunWith(SpringRunner.class) SpringBootTes…

01.爬虫---初识网络爬虫

01.初识网络爬虫 1.什么是网络爬虫2.网络爬虫的类型3.网络爬虫的工作原理4.网络爬虫的应用场景5.网络爬虫的挑战与应对策略6.爬虫的合法性总结 1.什么是网络爬虫 网络爬虫&#xff0c;亦称网络蜘蛛或网络机器人&#xff0c;是一种能够自动地、系统地浏览和收集互联网上信息的程…

物联网应用开发--STM32与机智云通信(ESP8266 Wi-Fi+手机APP+LED+蜂鸣器+SHT20温湿度传感器)

实现目标 1、熟悉机智云平台&#xff0c;会下载APP 2、熟悉新云平台创建产品&#xff0c;项目虚拟调试 3、掌握云平台生成MCU代码&#xff0c;并移植。机智云透传固件的下载 4、具体目标&#xff1a;&#xff08;1&#xff09;注册机智云平台&#xff1b;&#xff08;2&…

数据结构~~二叉树-堆

目录 一、基本概念 树的概念 二叉树-堆的概念 二、堆的结构 三、堆排序 向上调整建堆 向下调整建堆 四、TOP-K 五、完整代码 六、总结 一、基本概念 树的概念 树是一种非线性的数据结构&#xff0c;它是由n&#xff08;n>0&#xff09;个有限结点组成一个具有层次关…

在ubuntu中查询与某脚本或某设备相关的进程,ps,pgrep,lsof,fuser,pstree,htop命令的使用指南

一、查询与脚本有关的进程 1. 用ps命令 在 Ubuntu 系统中&#xff0c;如果你想查询与特定 Python 脚本 abc.py 相关的线程&#xff0c;你可以使用 ps 命令和 grep 命令结合来查找。ps 命令用于显示当前运行的进程状态&#xff0c;而 grep 命令可以帮助你过滤出包含指定字符串…

(六)DockerCompose安装与配置

DockerCompose简介 Compose 项目是 Docker 官方的开源项目&#xff0c;负责实现对 Docker 容器集群的快速编排。使用前面介绍的Dockerfile我们很容易定义一个单独的应用容器。然而在日常开发工作中&#xff0c;经常会碰到需要多个容器相互配合来完成某项任务的情况。例如要实现…

Docker Desktop安装和如何在WSL2中使用Docker

最近在使用WSL的过程中&#xff0c;想使用docker遇到了一些问题&#xff0c;在WSL中安装Linux版本的docker&#xff0c;启动镜像之后不能从Windows机器的端口映射出来&#xff0c;查了一圈之后&#xff0c;发现应该使用Docker Desktop软件&#xff0c;下面是安装和使用的方式 …

error1310 写入文件时发生错误,请确认您是否有访问权限 也可能出现error 1304 :写入文件时出错

一般错误提示如下 error1310 Error writing to file 错误 1310 &#xff1a;写入文件时出错&#xff1a;请确认您有权访问该目录&#xff0c; error1304 Error writing to file 错误 1304 &#xff1a;写入文件时出错&#xff1a;请确认您有权访问该目录 1.首先我们退出所…

揭秘齿轮加工工艺的选用原则:精准打造高效传动的秘密武器

在机械制造领域&#xff0c;齿轮作为传动系统中的重要组成部分&#xff0c;其加工工艺的选择至关重要。不同的齿轮加工工艺会影响齿轮的精度、耐用性和效率。本文将通过递进式结构&#xff0c;深入探讨齿轮加工工艺的选用原则&#xff0c;带您了解如何精准打造高效传动的秘密武…

SpringBoot3.x + JDK21 整合 Mybatis-Plus

前言 SpringBoot3.0 开始最低要求 Java 17&#xff0c;虽然目前最新的版本为 JDK22&#xff0c;但是在官网上看到 JDK23 在今年9月又要发布了&#xff0c;感觉这 JDK 也有点太过于给力了 所以我们选择用目前的 LTS 版本 JDK21 就好了&#xff0c;不用追求最新的 springboot 版…

DOM【事件、操作节点、DOM案例】--学习JavaEE的day49

day49 JS核心技术 DOM 继day48 事件 键盘事件 监听器&#xff1a;onkeydown、onkeypress、onkeyup <!DOCTYPE html> <html><head><meta charset"UTF-8"><title></title></head><body><input type"text&q…

网站工作原理

web发展史 1.0时代不可修改 2.0可修改&#xff0c;比如发微博 有以下问题&#xff1a; 课程2&#xff1a; 静态页面 html 动态页面 php 经过服务端的语言解释器&#xff0c;解析成html文件&#xff0c;剩下的就和静态流程一样 后面三个是web服务器&#xff0c;语言解释器&…

恶劣天候鲁棒三维目标检测论文整理

恶劣天候鲁棒三维目标检测论文整理 Sunshine to Rainstorm: Cross-Weather Knowledge Distillation for Robust 3D Object DetectionRobo3D: Towards Robust and Reliable 3D Perception against CorruptionsLossDistillNet: 3D Object Detection in Point Cloud Under Harsh W…