【面试合集】说说你对 linux 用户管理的理解?相关的命令有哪些?

news2024/11/26 8:50:59

面试官:说说你对 linux 用户管理的理解?相关的命令有哪些?

一、是什么

Linux是一个多用户的系统,允许使用者在系统上通过规划不同类型、不同层级的用户,并公平地分配系统资源与工作环境

而与 Windows 系统最大的不同, Linux 允许不同的用户同时登录主机,同时使用主机的资源

既然是多用户的系统,那么最常见的问题就是权限,不同的用户对于不同的文件都应该有各自的权限

例如,小 A 希望个人文件不被其他用户读取,而如果不对文件进行权限设置,共享了主机资源的小 B 也可以读取小 A 的个人文件,这是不合理的

这里面涉及到用户与用户组的概念

二、用户与用户组

Linux 以 “用户与用户组” 的概念,建立用户与文件权限之间的联系,保证系统能够充分考虑每个用户的隐私保护,很大程度上保障了 Linux 作为多用户系统的可行性

从文件权限的角度出发,“用户与用户组” 引申为三个具体的对象:

  • 文件所有者
  • 用户组成员
  • 其他人

每一个对象对某一个文件的持有权限是不同的

文件所有者

当一个用户创建了一个文件,这个用户就是这个文件的文件所有者。文件所有者对文件拥有最高权限,同时排他性地拥有该文件

除非文件所有者开放权限,否则其他人无法对文件执行查看、修改等操作

用户组

将 “其他用户” 区分为用户组成员和其他人后,若文件所有者希望对部分用户开放权限,而对其他人继续保持私有,则只需要将这部分用户与文件所有者划入一个用户组

这样,这部分用户就成了与文件所有者同组的用户组成员。用户可以对用户组成员开放文件权限,用户组成员则具备了查看、修改文件的权限,而对其他无关用户保持私有

例如,团队成员之间保持文件资源共享,但对非团队成员保持私有,这就需要将文件所有者与团队成员用户划分为同一个用户组,再对用户组成员开放权限即可

其他人

既与文件所有者没有任何联系的其他用户

小结

户和用户组的对应关系是:一对一、多对一、一对多或多对多:

  • 一对一:某个用户可以是某个组的唯一成员
  • 多对一:多个用户可以是某个唯一的组的成员,不归属其它用户组
  • 一对多:某个用户可以是多个用户组的成员
  • 多对多:多个用户对应多个用户组,并且几个用户可以是归属相同的组

拓展

当我们使用ls -l的时候,会列出当前目录的文件信息,如下:

drwxr-xr-x   3  osmond   osmond    4096  05-16 13:32   nobp
  • d:文件类型
  • rwxr-xr-x:文件权限
  • 3 硬链接数或目录包含的文件数
  • osmond:文件所有者
  • 4096:文件长度
  • 05-16 13:32:文件上次修改的事件和日期
  • nobp:文件名

下面主要看看文件权限分析,实际上是由9个字符组成,每3个一组:

  • 第一组控制文件所有者的访问权限
  • 第二组控制所有者所在用户组的其他成员的访问权限
  • 第三组控制系统其他用户的访问权限

-代表当前没有,rwx对应代表的意思如下:

三、用户操作

用户相关的操作有如下:

新增用户

useradd 可以用来创建新用户,简要语法为:

useradd [options] [username]

例如:

添加一个一般用户

# useradd kk //添加用户kk

为添加的用户指定相应的用户组

# useradd -g root kk //添加用户kk,并指定用户所在的组为root用户组

创建一个系统用户

# useradd -r kk //创建一个系统用户kk

为新添加的用户指定/home目录

# useradd-d /home/myf kk //新添加用户kk,其home目录为/home/myf
//当用户名kk登录主机时,系统进入的默认目录为/home/myf

设置密码

创建的用户还没有设置登录密码,需要利用passwd进行密码设置

asswd [options] [username]

option 参数有如下:

  • -d 删除密码
  • -f 强迫用户下次登录时必须修改口令
  • -w 口令要到期提前警告的天数
  • -k 更新只能发送在过期之后
  • -l 停止账号使用
  • -S 显示密码信息
  • -u 启用已被停止的账户
  • -x 指定口令最长存活期
  • -g 修改群组密码
  • 指定口令最短存活期
  • -i 口令过期后多少天停用账户

例如,修改用户密码

# passwd runoob  //设置runoob用户的密码
Enter new UNIX password:  //输入新密码,输入的密码无回显
Retype new UNIX password:  //确认密码
passwd: password updated successfully
# 

显示账号密码信息

# passwd -S runoob
runoob P 05/13/2010 0 99999 7 -1

删除用户密码

# passwd -d lx138 
passwd: password expiry information changed.

修改用户

chage 命令用来修改与用户密码相关的过期信息,如密码失效日、密码最短保留天数、失效前警告天数等

chage [option] [username]

常见的参数有:

  • -d:指定密码最后修改日期

  • -E:密码到期的日期

  • -l:列出用户以及密码的有效期

  • -m:密码能够更改的最小天数

  • -M:密码保持有效的最大天数

删除用户

userdel 命令用来删除用户的相关的所有数据。

userdel [options] [username]

常见的参数有:

  • -r:删除用户登入目录以及目录中所有文件

例如删除用户账号

# userdel hnlinux

用户组相关的操作如下:

新增用户组

groupadd用于创建一个新的工作组,新工作组的信息将被添加到系统文件中

groupadd [options] [groupname]

常见的参数有如下:

  • -g:指定新建工作组的 id;
  • -r:创建系统工作组,系统工作组的组ID小于 500
  • -K:覆盖配置文件 “/ect/login.defs”
  • -o:允许添加组 ID 号不唯一的工作组
  • -f,–force: 如果指定的组已经存在,此选项将失明了仅以成功状态退出

例如创建一个新的组,并添加组 ID。

#groupadd -g 344 runoob

修改用户

groupmod 命令用来修改 group 相关的参数,例如群组识别码或者名称

groupmod [options] [groupname]

常见的参数有:

  • -g <群组识别码>  设置欲使用的群组识别码
  • -o  重复使用群组识别码
  • -n <新群组名称>  设置欲使用的群组名

例如修改组名:

# groupmod -n linux linuxso 

删除用户组

groupdel 用于删除用户组,如果该群组中仍包括某些用户,则必须先删除这些用户后,方能删除群组

groupdel [groupname]

日常工作通常会碰到只有root用户才有权限执行的操作,这就需要使用用户身份切换的命令:

su

用于变更为其他使用者的身份,除 root 外,需要键入该使用者的密码

sudo

sudo命令以系统管理者的身份执行指令,也就是说,经由 sudo 所执行的指令就好像是 root 亲自执行

不是所有的用户都能执行 sudo 命令的,而是在 /etc/sudoers 文件内的用户才能执行这个命令

例如sudo命令使用ls

$ sudo ls

参考文献

  • https://zhuanlan.zhihu.com/p/37964411
    ot `用户才有权限执行的操作,这就需要使用用户身份切换的命令:

su

用于变更为其他使用者的身份,除 root 外,需要键入该使用者的密码

sudo

sudo命令以系统管理者的身份执行指令,也就是说,经由 sudo 所执行的指令就好像是 root 亲自执行

不是所有的用户都能执行 sudo 命令的,而是在 /etc/sudoers 文件内的用户才能执行这个命令

例如sudo命令使用ls

$ sudo ls

参考文献

  • https://zhuanlan.zhihu.com/p/37964411
  • https://zhuanlan.zhihu.com/p/105482468

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

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

相关文章

表的增删改查 进阶(一)

&#x1f3a5; 个人主页&#xff1a;Dikz12&#x1f525;个人专栏&#xff1a;MySql&#x1f4d5;格言&#xff1a;那些在暗处执拗生长的花&#xff0c;终有一日会馥郁传香欢迎大家&#x1f44d;点赞✍评论⭐收藏 目录 1.数据库约束 约束类型 NOT NUll 约束 UNIQUE 约束 …

【Qt-license】误操作qt下载导致只能安装商业版试用十天,无法安装社区版

背景&#xff1a; 原本是为了学习qml&#xff0c;需要下载一个design studio&#xff0c;而这个需要比较新版的安装程序&#xff0c;但新版的安装程序官方都是online安装。于是从官网找下载链接。毕竟是英文的&#xff0c;又心急&#xff0c;误打误撞中我选择了商业版试用。 其…

2024华数杯B题四小问完整思路+四问数据代码+数据可视化图表

ICM B 题&#xff1a;光伏发电 完整资料在文末获取 该题目出题的难度与方向都与美赛 ICM 的题型高度相似&#xff0c;将本次竞赛当做美赛的 练手赛&#xff0c;个人认为是非常合适的一种选择。同时 28 号就可以出成绩&#xff0c;也可以在美赛前 实现查漏补缺&#xff0c;提…

dolphinscheduler分布式集群部署指南(小白版)

1.Apache DolphinScheduler概述 官方文档地址&#xff1a;https://dolphinscheduler.apache.org/zh-cn/docs/3.1.9 1.1.DolphinScheduler简介 摘自官网&#xff1a;Apache DolphinScheduler 是一个分布式易扩展的可视化DAG工作流任务调度开源系统。适用于企业级场景&#xf…

5-数组-矩阵置零

这是数组的第5篇算法&#xff0c;力扣链接。 给定一个 m x n 的矩阵&#xff0c;如果一个元素为 0 &#xff0c;则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。 示例 1&#xff1a; 输入&#xff1a;matrix [[1,1,1],[1,0,1],[1,1,1]] 输出&#xff1a;[[1,0,1],[0…

国标GB28181安防视频监控EasyCVR级联后上级平台视频加载慢的原因排查

国标GB28181协议安防视频监控系统EasyCVR视频综合管理平台&#xff0c;采用了开放式的网络结构&#xff0c;可以提供实时远程视频监控、视频录像、录像回放与存储、告警、语音对讲、云台控制、平台级联、磁盘阵列存储、视频集中存储、云存储等丰富的视频能力&#xff0c;同时还…

推荐五款超好用的AI写作自动生成器给你

随着人工智能技术的不断发展&#xff0c;AI写作自动生成器成为了现代写作的新宠。这些智能工具能够帮助我们快速生成高质量的文章&#xff0c;节省时间和精力。在本文中&#xff0c;我将向大家推荐五款超好用的AI写作自动生成器&#xff0c;希望能够为你的写作工作带来便利和效…

坚持刷题 | 二叉树的层序遍历

坚持刷题&#xff0c;老年痴呆追不上我&#xff0c;今天刷&#xff1a;二叉树的层序遍历 题目 102二叉树的层序遍历 考察点 数据结构基础&#xff1a; 能够正确地使用二叉树数据结构&#xff0c;并了解二叉树的基本性质。编程基础&#xff1a; 能够熟练使用Java编程语言&a…

大语言模型系列-Transformer

文章目录 前言一、Attention二、Transformer结构三、Transformer计算过程1. 编码器&#xff08;Encoder&#xff09;1&#xff09;Self-Attention层2&#xff09;Multi-Head-Attention层3&#xff09;Add & Norm层 2. 解码器&#xff08;Decoder&#xff09;1&#xff09;M…

【欢迎您的到来】这里是开源库get_local_info作者的付费专栏

您好&#xff0c; 我是带剑书生&#xff0c;开源库get_local_info的作者&#xff0c;欢迎您的到来&#xff0c;这里是我的付费专栏&#xff0c;会用更简洁的语言&#xff0c;更通俗的话语&#xff0c;来帮助您更好的学习rust&#xff0c;这里不仅仅讲解Rust在某些应用功能实现上…

就想搞一个简单的html模板学学css到底行不行?

做一个个人博客第一步该怎么做&#xff1f; 好多零基础的同学们不知道怎么迈出第一步。 那么&#xff0c;就找一个现成的模板学一学呗&#xff0c;毕竟我们是高贵的Ctrl c v 工程师。 但是这样也有个问题&#xff0c;那就是&#xff0c;那些模板都&#xff0c;太&#xff01;…

【性能调优】local模式下flink处理离线任务能力分析

文章目录 一. flink的内存管理1.Jobmanager的内存模型2.TaskManager的内存模型2.1. 模型说明2.2. 通讯、数据传输方面2.3. 框架、任务堆外内存2.4. 托管内存 3.任务分析 二. 单个节点的带宽瓶颈1. 带宽相关理论2. 使用speedtest-cli 测试带宽3. 任务分析3. 其他工具使用介绍 本…

SERVLET的概念

SERVLET的概念 假设一种您需要登录到网站上访问电子邮件账户的场景。您需要提交登录详细信息进行验证,如用户名和密码。网站使用服务器端程序接受并验证登录信息。这些服务器端程序是用不同的服务器端技术编写的,如公共网关接口(CGI)、Active Server Pages(ASP)及servle…

爬虫逆向开发教程1-介绍,入门案例

爬虫前景 在互联网的世界里&#xff0c;数据就是新时代的“黄金”。而爬虫&#xff0c;就是帮助我们淘金的“工具”。随着互联网的不断发展&#xff0c;数据量呈现指数级的增长&#xff0c;在数据为王的时代&#xff0c;有效的挖掘数据和利用&#xff0c;你会得到更多东西。 学…

Spring MVC的原理

Spring MVC中的MVC即模型-视图-控制器&#xff0c;该框架围绕一个DispatcherServlet设计而成&#xff0c;DispatcherServlet会把请求分发给各个处理器&#xff0c;并支持可配置的处理器映射和视图渲染等功能。Spring MVC的具体工作流程如下&#xff1a; &#xff08;1&#xff…

商业应用算力全球新标杆!浪潮信息八路服务器创SAP SD评测最高性能

1月15日&#xff0c;据全球领先的企业应用软件提供商SAP发布的最新SAP SD评测结果&#xff0c;浪潮信息TS860G7服务器创下1,659,970 SAPS的最高性能成绩&#xff0c;成为商业应用算力的全球新标杆。TS860G7是浪潮信息最新一代的企业级八路服务器&#xff0c;其取得的最新成绩也…

电商平台spu和sku的完整设计

一、关于数据库表的设计 1、商品属性表 比如一个衣服有颜色、尺码、款式这个叫属性表 -- ------------------------ -- 商品属性表 -- ------------------------ DROP TABLE IF EXISTS attribute; CREATE TABLE attribute (id int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT CO…

复现PointNet++(语义分割网络):Windows + PyTorch + S3DIS语义分割 + 代码

一、平台 Windows 10 GPU RTX 3090 CUDA 11.1 cudnn 8.9.6 Python 3.9 Torch 1.9.1 cu111 所用的原始代码&#xff1a;https://github.com/yanx27/Pointnet_Pointnet2_pytorch 二、数据 Stanford3dDataset_v1.2_Aligned_Version 三、代码 分享给有需要的人&#xf…

阿里云国外服务器价格表

阿里云国外服务器优惠活动「全球云服务器精选特惠」&#xff0c;国外服务器租用价格24元一个月起&#xff0c;免备案适合搭建网站&#xff0c;部署独立站等业务场景&#xff0c;阿里云服务器网aliyunfuwuqi.com分享阿里云国外服务器优惠活动&#xff1a; 全球云服务器精选特惠…

Dubbo协议解析过程

Dubbo协议解析过程 Dubbo有哪些底层协议 同学们以为Dubbo只有一个RPC协议吗?非也&#xff0c;既然是阿里巴巴出品的开源项目&#xff0c;那自然秉承了“包罗万象”的一贯传统。Dubbo的底层有支持多达9种通信协议&#xff0c;并且他们都有各自的适用场景。我们快速的一扫而过…