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

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

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

相关文章

Qt DragDrop拖动与放置

本文章从属于 Qt实验室-CSDN博客系列 拖放操作包括两个动作&#xff1a;拖动(drag)和放下(drop或称为放置)。 拖动允许 对于要拖出的窗口或控件&#xff0c;要setDragEnabled(true) 对于要拖入的窗口或控件&#xff0c;要setAcceptDrops(true) 下面以一个具体的用例进行说…

搜维尔科技:【软件篇】TechViz是一款专为工程设计的专业级3D可视化软件

在沉浸式房间内深入研究您自己的 3D 数据 沉浸式房间是一个交互式虚拟现实空间&#xff0c;其中每个表面&#xff08;墙壁、地板和天花板&#xff09;都充当投影屏幕&#xff0c;创造高度沉浸式的体验。这就像您的 3D 模型有一个窗口&#xff0c;您可以在其中从不同角度走动、…

java版小程序商城免费搭建-直播商城平台规划及常见的营销模式有哪些?电商源码/小程序/三级分销

1. 涉及平台 平台管理、商家端&#xff08;PC端、手机端&#xff09;、买家平台&#xff08;H5/公众号、小程序、APP端&#xff08;IOS/Android&#xff09;、微服务平台&#xff08;业务服务&#xff09; 2. 核心架构 Spring Cloud、Spring Boot、Mybatis、Redis 3. 前端框架…

运动型蓝牙耳机什么牌子好?市面上热门的运动耳机推荐

​随着生活节奏的加快&#xff0c;越来越多的人开始关注健康和运动。而在运动的时候&#xff0c;佩戴耳机听音乐已经成为了很多人的选择。但是&#xff0c;市面上的运动耳机种类繁多&#xff0c;如何选择一款适合自己的呢&#xff1f;下面&#xff0c;我推荐几款市面上热门的运…

Live800:2023年客服团队管理有哪些思路和方法?

在数字化时代&#xff0c;客服团队成为企业与客户之间的重要桥梁。随着技术不断发展&#xff0c;客服团队管理也在不断进化。到了2023年&#xff0c;最新的客服团队管理将会有哪些思路和方法呢&#xff1f; 一、智能化客服系统 随着人工智能技术的不断发展&#xff0c;智能化客…

理解Vue源码,从0开始撸了一个简版Vue

vue 的双向绑定、虚拟dom、diff算法等等面试常见问题你可能在几年前就学过了&#xff0c;其中有些人可能看过Vue的源码&#xff0c;了解过Vue是如何实现数据监听和数据绑定这些技术的。不过让从零开始实现一个 vue&#xff0c;你可以吗? 模板语法其实早就存在&#xff0c;在V…

Linux信号量以及基于环形队列的生产者消费者模型

文章目录 信号量信号量的接口初始化销毁等待信号量发布信号量 环形队列结合信号量设计模型 实现基于环形队列的生产者消费者模型Task.hppRingQueue.hppmain.cc效果对于多生产多消费的情况 信号量 信号量的本质是一个计数器 首先一份公共资源在实际情况中可能存在不同的线程可…

STM32——端口复用与重映射概述与配置(HAL库)

文章目录 前言一、什么是端口复用&#xff1f;什么是重映射&#xff1f;有什么区别&#xff1f;二、端口复用配置 前言 本篇文章介绍了在单片机开发过程中使用的端口复用与重映射。做自我学习的简单总结&#xff0c;不做权威使用&#xff0c;参考资料为正点原子STM32F1系列精英…

(免费领源码)python#django#mysql公交线路查询系统85021- 计算机毕业设计项目选题推荐

摘 要 本论文主要论述了如何使用django框架开发一个公交线路查询系统&#xff0c;本系统将严格按照软件开发流程进行各个阶段的工作&#xff0c;面向对象编程思想进行项目开发。在引言中&#xff0c;作者将论述该系统的当前背景以及系统开发的目的&#xff0c;后续章节将严格按…

LeetCode(15)分发糖果【数组/字符串】【困难】

目录 1.题目2.答案3.提交结果截图 链接&#xff1a; 135. 分发糖果 1.题目 n 个孩子站成一排。给你一个整数数组 ratings 表示每个孩子的评分。 你需要按照以下要求&#xff0c;给这些孩子分发糖果&#xff1a; 每个孩子至少分配到 1 个糖果。相邻两个孩子评分更高的孩子会获…

高级着色语言(HLSL)

High-Level Shading Language&#xff0c;简称为HLSL&#xff0c;可以使用HLSL编写顶点着色器和像素着色器程序&#xff0c;简要地说&#xff0c;顶点着色器和像素着色器就是我们自行编写的一些规模较小的定制程序&#xff0c;这些定制程序可取代固定功能流水线中某一功能模块&…

“技能兴鲁”职业技能大赛-网络安全赛项-学生组初赛 WP

Crypto BabyRSA 共模攻击 题目附件&#xff1a; from gmpy2 import * from Crypto.Util.number import *flag flag{I\m not gonna tell you the FLAG} # 这个肯定不是FLAG了&#xff0c;不要交这个咯p getPrime(2048) q getPrime(2048) m1 bytes_to_long(bytes(flag.e…