账号和权限的管理1

文章目录

  • 修改用户账号的属性
    • usermod
      • 格式
        • 常用选项
  • 用户账号的初始化配置文件
    • 文件来源
    • 主要的用户初始配置文件
  • 组账号文件
    • 添加组账号
      • groupadd
        • 格式
          • 常用选项
          • 其他选项
    • 删除组账号
      • groupdel
        • 格式
    • 查询账号信息
      • groups
        • 格式
      • id
        • 格式
      • finger
        • 格式
      • W、who、users
        • 格式
  • 文件/目录的权限和归属
    • 访问权限
    • 归属(所有权)
    • 设置文件和目录的权限chmod
      • chmod
        • 格式
          • 常用选项
      • chown
        • 格式
          • 常用选项
      • umask
        • 格式
      • last
        • 格式
          • 选项

修改用户账号的属性

usermod

格式

usermod +选项 +用户名

常用选项

-l 更改用户账号的登录名称(Login Name)
-L 锁定用户账户
-U 解锁用户账户
与useradd命令选项相同
-u 修改用户的 UID 号
-d 修改用户的宿主目录位置
-e 修改用户的账户失效时间,可使用 YYYY-MM-DD 的日期格式
-g 修改用户的基本组名(或使用 GID 号)
-G 修改用户的附加组名(或使用 GID 号)
-s 指定用户的登录 Shell
例: usermod -l adc add
image.png
例:usermod -L adc
image.png
例:usermod -U adc
image.png

用户账号的初始化配置文件

文件来源

新建用户创建账号时,从/etc/skel目录中复制而来

主要的用户初始配置文件

~/.bash_profile(文件中的命令将在该用户每次登录时被执行)
~/.bashrc (文件中的命令会在每次加载)
~/.bash_logout(文件中的命令将在用户每次退出登录时执行)
都是账号模板目录/etc/skel/隐藏文件
运行过程
1 .bash_profile:示例代码中为用户添加了2个环境变量(JAVA_HOME和CLASSPATH),并修改了已有环境变量PATH的值.(PATH的查找是从前开始查找,找到就返回)
CLASSPATH环境变量的值是在JAVA运行时查找加载类的默认classpath.

2 .bashrc :例子中定义了路径,语言,命令别名(使用rm删除命令时总是加上-i参数需要用户确认,使用ls命令列出文件列表时加上颜色显示)
每次修改.bashrc后,使用source ~/.bashrc(或者 . ~/.bashrc)可以立刻加载修改后的设置,使之生效
一般会在.bash_profile文件中显式调用.bashrc
登陆linux启动bash时首先读取/.bash_profile文件,/.bashrc就得到执行,个性化设置生效
环境变量的读取顺序:
用户登录 ->> 加载~/.bash_profile --> bash_profile中配置了首先是使~/.bashrc生效

3 .bash_logout
用途: 用户登出时执行的命令

添加一个新的用户账号后,useradd 命令会在该用户的宿主目录中建立一些初始配置文件
理解这些文件的作用,可以方便我们安排一些自动运行的后台管理任务
在“.bashrc”等文件中,可以添加用户自己设置的可执行语句(如 Linux 命令行、脚本控 制语句等),以便自动完成相应的任务
例:用vim编译器可以编辑.bashrc,比如添加别名可以在文件运行时加载
image.png
image.pngimage.png
例:在当前用户登出时,打印出Logout 和当前的时间echo “Logout, date
image.png
image.pngZZ
image.png
例:在当前用户登出时,删除历史记录
image.png
image.png
image.png
或者echo “history -c” >> ~/.bash_logout也可以用vim编辑器将history -c填入~/.bash_logout

组账号文件

和用户账号文件相似
/etc/group: 保存组账号基本信息
/etc/gshadow: 保存组账号的密码信息
image.png
或者 cat /etc/gshadow|grep root
root组账号名
zhangsan yi add 组成员列表

添加组账号

groupadd

格式

groupadd -g GID +组账号名 添加和组账号,并设置一个GID
gpasswd +选项 +组账号名 设置组账号密码(用的不多),添加删除组成员

常用选项

-a 添加用户到组
-d 从组删除用户
-M 指定组成员和-A的用途差不多,以“,”分隔

其他选项

-A 指定管理员
-r 删除密码
-R 限制用户登入组,只有组中的成员才可以用newgrp加入该组
例:groupadd -g 1100 kfc
image.png
image.png
或者groupadd kfc
例:gpasswd -a yi kfc
image.png
例:group -M root,zhang3,li4
image.png

删除组账号

groupdel

格式

groupdel +组帐号名


[root@localhost ~]# groupdel market 删除组帐号market
[root@localhost ~]# grep “market” /etc/group

image.png

查询账号信息

groups

查询用户所属的组

格式

groups +用户名

例:groups li4

image.png

id

查询用户身份标识

格式

id +用户名


image.png

finger

查询用户帐号的详细信息

格式

finger +用户名

image.png

W、who、users

查询已登录到主机的用户信息

格式

w
who
users

image.png
有用户登录就会有显示
image.png

User:登录的用户名
TTY:登录后系统分配的终端号
From:远程主机名,即从哪登录的
login@:什么时间登录
IDLE:用户空闲时间,是个计时器,一旦用户执行任何操作,改计时器就会被重置
JCPU:和终端连接的所有进程占用时间,包括当前正在运行的后台作业占用时间
PCPU:当前进程所占用时间
WHAT:当前正在运行进程的命令行
pts:说明是用远程终端工具连接的,如xshell,后面的数字代表登录的时间顺序,越小证明登录的越早

文件/目录的权限和归属

访问权限

  • 读取r:允许查看文件内容、显示目录列表
  • 写入w:允许修改文件内容,允许在目录中新建、移动、删除文件或子目录
  • 可执行x:允许运行程序、切换目录

归属(所有权)

  • 属主:拥有该文件或目录的用户帐号
  • 属组:拥有该文件或目录的组帐号

[root@localhost ~]# Is -l install.log
-rw-r – r – 1 root root 34298 04-02 00:23 install.log
文件类型、权限 属主、属组

权限项 读 写 执行 读 写 执行 读 写 执行

字符表示 r w x r w x r w x

数字表示 4 2 1 4 2 1 4 2 1

权限分配 文件所有者 文件所属组 其他用户

设置文件和目录的权限chmod

chmod

格式

chmod ugoa(u、g、o、a分别表示属主、属组、其他用户、所有用户) + -=(+、-、=分别表示增加、去除、设置权限) rwx(r、w、x分别表示读、写、运行权限) +文件或目录

chmod nnn (3位八进制数) +文件或目录

常用选项

-R:递归修改指定目录下所有子项的权限


chmod go-x ceshi1
image.png

chmod a+x ceshi1 所有用户都添加执行权限
image.png

chmod go+wx ceshi1 改文件权限使其他用户可以查看
image.png

chmod 600 ceshi1/ 在相对路径下修改文件权限,没有递归目录下的文件权限不改变
image.png

chmod -R 600 ceshi1/
image.png

chown

格式

chown +属主 +文件或目录
chown +:属组 +文件或目录
chown +属主:属组 +文件或目录

常用选项

-R:递归修改指定目录下所有子项的权限


chown :zhang3 /opt/ceshi1 将目录的属组改成zhang3
image.png

chown li4:zhang3 /opt/ceshi1
image.png

chown root /opt/ceshi1 没有递归目录下的文件权限不改变
image.png
image.png

umask

权限掩码
控制新建的文件或者目录的权限
默认权限去除umask的权限为新建的文件或者目录的权限

格式

umask +000(权限代表的数字3位8进制)设置权限掩码
umask 查看

umask 000
image.png

umask 411
image.png

last

last作用是显示近期用户或终端的登录情况
通过last命令查看该程序的log,管理员可以获知谁曾经或者企图连接系统
执行last命令时,它会读取/var/log目录下名称为wtmp的文件,并把该文件记录的登录系统或终端的用户名单全部显示出来
默认显示wtmp的记录,btmp能显示的更详细,可以显示远程登录,例如ssh登录

格式

last [-num | -n num] [-f file] [-t YYYYMMDDHHMMSS] [-R] [-adioxFw] [username…] [tty…]
 
-num |-n num指定输出记录的条数
-f file 指定记录文件作为查询的log文件
-t YYYYMMDDHHMMSS 显示指定时间之前的登录情况
username 账户名称
tty 终端机编号

选项

-R 不显示登录系统或终端的主机名称或IP
-a 将登录系统或终端的主机名过IP地址显示在最后一行
-d 将IP地址转成主机名称
-I 显示特定IP登录情况。
-o 读取有linux-libc5应用编写的旧类型wtmp文件
-x 显示系统关闭、用户登录和退出的历史
-F 显示登录的完整时间
-w 在输出中显示完整的用户名或域名

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

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

相关文章

emptyDir + initContainer实现ConfigMap的动态更新(K8s相关)

1. 絮絮叨叨 K8s部署服务时,一般都需要使用ConfigMap定义一些配置文件例如,部署分布式SQL引擎Presto,会在ConfigMap中定义coordinator、worker所需的配置文件以node.properties为例,node.environment和node.data-dir的值将由Helm…

深入解析三大跨平台开发框架:Flutter、React Native 和 uniapp

深入解析三大跨平台开发框架:Flutter、React Native 和 uniapp 在移动开发中,跨平台开发框架已经成为开发者的首选工具。本篇将深入解析三大主流跨平台开发框架:Flutter、React Native 和 uniapp。下面将详细探讨它们的原理、优势和劣势。 …

接口设计原则与最佳实践指南

接口设计原则与最佳实践指南 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿! 1. 什么是接口? 在软件开发中,接口是定义类或模块之间通…

C++ 嵌套和递归使用模板类

在C11之前&#xff0c;嵌套使用模板类的时候&#xff0c;> >之间要加空格。 #include <iostream> // 包含头文件。 using namespace std; // 指定缺省的命名空间。template <class DataType> class Stack // 栈类 { private:DataType* …

scp和rsync

全量和增量 全量就是把所有文件一股脑的全部传输过去&#xff0c;也不管他一不一样&#xff0c;比如scp 增量就是在传输前先对比一下两边的文件一不一样&#xff0c;有一样的部分&#xff0c;哪一样的部分就不传输&#xff0c;只传输不一样的部分&#xff0c;和新增的部分 &…

android 通过gradle去除aar的重复资源图片

背景&#xff1a;项目中引入了aar包&#xff0c;结果导致资源出问题了&#xff0c;于是需要对下面aar包进行重复资源去除操作 操作具体如下&#xff1a; 目录&#xff1a;app/build.gradle 末尾配置 apply from: "${project.rootDir}/scripts/excludewidgetAar.gradle&qu…

【web】2、集成插件

1、element-plus 官网地址:设计 | Element Plus 安装 plus 及 icon 图标库 1.1 官网提供plus安装方法&#xff1a; 1.2 官网提供 icon 安装方法 1.3 安装 pnpm install element-plus element-plus/icons-vue main.ts全局安装element-plus,element-plus默认支持语言英语设…

《战神4》开发团队繁忙的一天

早晨&#xff1a;准备与规划 8:00 AM - 团队到达 《战神4》开发团队的成员们陆续到达位于加利福尼亚圣莫尼卡的Santa Monica Studio。每个人先整理自己的工作站&#xff0c;准备迎接一天的工作。大家彼此问候&#xff0c;分享昨天的灵感和想法。 8:30 AM - 早会 整个开发团队…

【TensorFlow深度学习】“自我监督学习框架解析:生成模型、对比学习与混合方法“

"自我监督学习框架解析&#xff1a;生成模型、对比学习与混合方法" 在人工智能的快速迭代中&#xff0c;自我监督学习&#xff08;Self-supervised Learning, SSL&#xff09;作为一股新兴力量&#xff0c;正逐步改变着深度学习的面貌。它通过巧妙利用数据内部结构作…

matlab编辑稀疏单位方阵

创建 10001000 稀疏单位方阵&#xff0c;并查看稀疏模式。 &#xff08;1&#xff09; I speye(1000); spy(I)&#xff08;2&#xff09; S speye(400,800); spy(S)此命令等同于 speye([400 800])。

Nginx中封装的数据结构

Nginx中封装的数据结构 Nginx中封装的数据结构整型ngx_str_t【字符串】ngx_list_t【链表】ngx_table_elt_t【key/value】ngx_buf_tngx_chain_t Nginx中封装的数据结构 整型 typedef intptr_t ngx_int_t; typedef uintptr_t ngx_uint_t;ngx_str_t【字符串】 typ…

qt6开发环境配置杂记

很多同学不重视环境配置问题&#xff0c;这是工程问题&#xff0c;实际工作中&#xff0c;如果不真正搞懂环境配置&#xff0c;后期可能会遇到各种坑。 QT是一套开发框架&#xff0c;最终要翻译成c去执行。总体而言&#xff0c;就是下面三张框图&#xff1a; &#xff08;工程…

Spring底层原理之bean的加载方式一 用XML方式声明bean 自定义bean及加载第三方bean 2024详解

目录 用XML方式声明bean 首先我们创建一个空的java工程 我们要导入一个spring的依赖 注意在maven工程里瞅一眼 我们创建一个业务层接口 还有四个实现类 我们最初的spingboot生命bean的方式是通过xml声明 我们在resources文件夹下创建一个配置文件 我们书写代码 首先初…

AI Agent:技术原理与未来趋势

在人工智能的快速发展中&#xff0c;AI Agent作为一项创新技术&#xff0c;正逐渐成为研究和应用的热点。AI Agent不仅仅是执行命令的程序&#xff0c;它们能够感知环境、做出决策并采取行动&#xff0c;展现出类似人类的群体协作能力。本文将探讨AI Agent的技术原理、开源框架…

使用vite官网和vue3官网分别都可以创建vue3项目

问: npm init vitelatest 和 npm create vuelatest创建的vue3项目有什么区别? 回答: npm init vitelatest 和 npm create vuelatest 分别是使用 Vite 和 Vue CLI 工具创建 Vue 项目的两种方式&#xff0c;它们之间有几个主要区别&#xff1a; 1. **构建工具&#xff1a;** …

【PYG】定义数据集报错AttributeError: can‘t set attribute

当你遇到 AttributeError: cant set attribute 错误时&#xff0c;通常是因为你试图在一个类的实例上设置一个属性&#xff0c;但该类不允许直接设置属性。在Python中&#xff0c;某些类&#xff0c;特别是那些继承自某些基类&#xff08;比如 torch.utils.data.Dataset&#x…

忍法:声音克隆之术

前言&#xff1a; 最近因为一直在给肚子里面的宝宝做故事胎教&#xff0c;每天&#xff08;其实是看自己心情抽空讲下故事&#xff09;都要给宝宝讲故事&#xff0c;心想反正宝宝也看不见我&#xff0c;只听我的声音&#xff0c;干脆偷个懒&#xff0c;克隆自己的声音&#xf…

Linux CentOS 宝塔 Suhosin禁用php5.6版本eval函数详细图文教程

方法一&#xff1a;PHP_diseval_extension禁用 Linux CentOS 禁用php的eval函数详细图文教程_centos php 禁用 eval-CSDN博客 这个方法make报错&#xff0c;懒得费时间处理&#xff0c;直接用第二种 方法二&#xff1a;suhosin禁用 不支持PHP8&#xff0c;官方只支持PHP7以下…

【电源专题】为什么带电量计芯片的电池MOS保护要放在高侧

在实际的电量计电池开发中,发现一个很奇怪的现象。传统电池保护IC往往都是将充电保护和放电保护的两个MOS管放在低侧的。如下所示是文章:【电源专题】读一读单节锂电池保护IC规格书 可以看到M1和M2两个MOS管是放在PB-(也就是电池的负端),我们叫做低端。 而BQ28Z610电…

Python爬虫背后技术详解

在互联网时代&#xff0c;信息量巨大&#xff0c;如何高效地获取和处理这些信息变得尤为重要。Python 爬虫作为一种自动化获取网页信息的技术&#xff0c;已成为许多程序员和数据分析师必备技能之一。本文将深入探讨 Python 爬虫背后的技术原理&#xff0c;并结合实际代码示例来…