账号和权限的管理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…

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

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

【web】2、集成插件

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

matlab编辑稀疏单位方阵

创建 10001000 稀疏单位方阵,并查看稀疏模式。 (1) I speye(1000); spy(I)(2) 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开发环境配置杂记

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

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

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

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

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

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

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

忍法:声音克隆之术

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

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

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

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

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

目标检测常用涨点方法:注意力机制小结(空间注意力、通道注意力、CBAM等)

1.通道注意力 通道注意力(Channel Attention)是在通道维度上对输入数据进行学习,再对不同的通道分配相应的权重表示重要性,从而达到“分配注意力”的效果。SENet(Squeeze and Excitation networks) 是一个典型的使用通…

Swift宏的实现

上篇介绍了Swift宏的定义与生声明,本篇主要看看是Swift宏的具体实现。结合Swift中Codable协议,封装一个工具让类或者结构体自动实现Codable协议,并且添加一些协议中没有的功能。 关于Codable协议 Codable很好,但是有一些缺陷&…

yaklang window安装 vscode运行得到“hello world”

资源来源:旅程伊始:Yak 语言环境安装与搭建环境 | Yak Program Language 安装yak语言非常简单,管理员权限打开命令行运行以下命令: powershell (new-object System.Net.WebClient).DownloadFile(https://yaklang.oss-cn-beijing…

1085 PAT单位排行(测试点5)

solution 测试点5:总分是在每个学生加权后再取整,所以用来存学生分数的变量要用浮点型学校排序: 若成绩不同,则按成绩降序若成绩相同,人数不同,则按成绩升序若成绩和人数都相同,则按单位名升序…

理解GPT2:无监督学习的多任务语言模型

目录 一、背景与动机 二、卖点与创新 三、几个问题 四、具体是如何做的 1、更多、优质的数据,更大的模型 2、大数据量,大模型使得zero-shot成为可能 3、使用prompt做下游任务 五、一些资料 一、背景与动机 基于 Transformer 解码器的 GPT-1 证明…

NAS教程丨铁威马如何登录 SSH终端?

适用型号: 所有TNAS 型号 如您有特殊操作需要通过 SSH 终端登录 TNAS,请参照以下指引: (注意: 关于以下操作步骤中的"cd /"的指令,其作用是使当前 SSH/Telnet 连接的位置切换到根目录,以免造成对卷的占用.请不要遗漏它.) Windows…

数据分析的线上云端数据库搭建及Excel和Tableau连接

数据分析的线上云端数据库搭建及Excel和Tableau连接 SQL基础知识 线上SQL训练: SQlZOO: https://www.sqlzoo.net/wiki/SQL_Tutorial 牛客网SQL真题:https://www.nowcoder.com/ta/sql select,from,where, order by, limit, group by, having, substr(),…

【SpringBoot】SpringBoot使用mail实现登录邮箱验证

📝个人主页:哈__ 期待您的关注 目录 一、前期准备 1 开启邮箱服务 2 SpringBoot导入依赖 3 创建application.yml配置文件 4 创建数据库文件 5 配置redis服务 二、验证邮件发送功能 三、注册功能实现邮箱验证 1 创建User实体类 2 创建UserPa…