轻松搞懂Linux中的用户管理
文章目录
- 概念
- 用户账户
- 用户组
- 用户权限
- 用户管理工具
概念
用户管理是Linux系统管理员必须掌握的重要技能之一。Linux系统是一个多用户操作系统,可以支持多个用户同时使用,每个用户拥有自己的账户和权限,因此管理员需要了解如何创建、管理和删除用户账户,并设置用户权限以及如何为用户分配组和角色等。在本篇博客中,我将详细讨论Linux用户管理的各个方面,以及常见的用户管理工具和技巧,帮助读者掌握Linux用户知识。
用户账户
用户账户是Linux系统中的基本概念,每个用户都有一个唯一的账户名和密码,用于登录系统并执行各种操作。管理员可以创建、修改和删除用户账户,以及配置用户的权限和属性。
- 创建用户账户
在Linux系统中,可以使用useradd命令来创建用户账户。语法如下:
useradd [选项] 用户名
例如,要创建一个名为bob的用户,可以使用以下命令:
useradd bob
执行该命令后,系统会自动为bob用户创建一个主目录/home/bob,并分配一个默认的shell/bin/bash。如果需要指定其他的shell或目录,可以使用以下选项
-m
:自动创建用户的主目录-s shell
:指定用户的默认shell。-c
:设置用户的注释信息。-d
:指定用户的主目录。-g
:指定用户所属的主组。
例如,以下命令将创建一个名为“john”的新用户,并将其主目录设置为“/home/john”,默认Shell设置为“/bin/bash”:
useradd -d /home/john -s /bin/bash john
- 修改用户账户
管理员可以使用usermod命令修改现有的用户账户。例如,要将bob用户的默认shell修改为/bin/zsh,可以使用以下命令:
usermod -s /bin/zsh bob
还可以使用usermod命令修改用户的UID、GID、主目录和登录名等属性。例如,要将alice用户的UID修改为1001,可以使用以下命令:
usermod -u 1001 alice
- 删除用户账户
在不需要某个用户账户时,可以使用userdel命令将其删除。例如,要删除bob用户的账户和主目录,可以使用以下命令:
userdel -r bob
其中,-r选项表示同时删除用户主目录。
- 修改用户密码
在Linux系统中,可以使用passwd命令来修改用户的密码。以下是修改用户密码的基本命令:
passwd 用户名
在执行上述命令时,系统会提示您输入新密码。请注意,在Linux系统中,密码不会在命令行中显示。
- 切换用户
在Linux系统中,可以使用su命令来切换用户。以下是切换用户的基本命令:
su 用户名
在执行上述命令时,系统会提示您输入目标用户的密码。当高权限用户切换低权限用户时,不需要输入密码
用户组
用户组是一组相关用户的集合,它们共享相同的权限和属性。在Linux系统中,每个用户都必须属于至少一个用户组。管理员可以创建、修改和删除用户组,以及将用户添加到不同的组中。
- 创建用户组
在Linux系统中,可以使用groupadd命令来创建用户组。例如,要创建一个名为dev的用户组,可以使用以下命令:
groupadd dev
- 修改用户组
管理员可以使用groupmod命令修改现有的用户组。例如,要将dev用户组的GID修改为1001,可以使用以下命令:
groupmod -g 1001 dev
还可以使用groupmod命令修改用户组的名称。例如,要将dev用户组的名称修改为developers,可以使用以下命令:
groupmod -n developers dev
- 删除用户组
在不需要某个用户组时,可以使用groupdel命令将其删除。例如,要删除developers用户组,可以使用以下命令:
groupdel developers #保留用户文件
groupdel -r developers #不保留用户文件
用户权限
Linux系统中的文件和目录都有一些权限属性,包括读、写、执行等。用户可以通过权限属性来控制对文件和目录的访问和操作。管理员可以通过用户权限来控制用户的访问和操作范围。
- 文件和目录权限
Linux系统中,每个文件和目录都有一个所有者和一个所属用户组。所有者和用户组可以分别设置读、写和执行权限。管理员可以使用chmod命令来修改文件和目录的权限属性。
在Linux系统中,每个文件或目录都有三种不同类型的访问权限,分别是读取(r)、写入(w)和执行(x)。这些权限是分配给三个不同的用户组,包括文件所有者、文件所属组和其他用户。
chmod命令的语法格式如下:
chmod [who][operator][permission] file
其中,who代表要设置权限的用户组,operator表示要执行的操作,permission表示要设置的权限。
who的取值包括:
- u:表示文件所有者
- g:表示文件所属组
- o:表示其他用户
- a:表示所有用户(等价于ugo)
operator的取值包括:
+
:表示添加权限-
:表示删除权限=
:表示设置权限为指定值
permission的取值包括:
- r:表示读取权限
- w:表示写入权限
- x:表示执行权限
- s:表示设置SUID或SGID位
- t:表示设置粘着位
例如,要将文件test.txt的所有者的写权限关闭,可以使用以下命令:
chmod u-w test.txt
chmod命令也可以使用数字修改文件权限
r --> 4
w --> 2
x --> 1
拿 rwxrw-r-x 来说,所有者、所属组和其他人分别对应的权限值为:
所有者 = rwx = 4+2+1 = 7
所属组 = rw- = 4+2 = 6
其他人 = r-x = 4+1 = 5
所以,此权限对应的权限值就是 765。
例如:打开file.txt文件的所有权
chmod 777 file.txt
- sudo权限
在Linux系统中,管理员可以通过sudo命令将某个普通用户提升为管理员用户,以便其执行需要管理员权限的操作。管理员可以使用visudo命令编辑sudo配置文件/etc/sudoers,以控制用户的sudo权限。例如,以下行允许用户bob以管理员身份执行所有命令:
bob ALL=(ALL) ALL
其中,第一个bob表示用户账户,第二个ALL表示可以在任何主机上执行,(ALL)表示可以作为任何用户执行,第三个ALL表示可以执行任何命令。
用户管理工具
Linux系统中,有许多命令行工具和图形化工具可以帮助管理员进行用户管理。以下是一些常用的用户管理工具。
-
useradd
useradd命令用于创建用户账户。管理员可以使用各种选项来指定用户的属性和权限。 -
usermod
usermod命令用于修改现有的用户账户。管理员可以使用各种选项来修改用户的属性和权限。 -
userdel
userdel命令用于删除用户账户。管理员可以使用-r选项来同时删除用户主目录。 -
groupadd
groupadd命令用于创建用户组。管理员可以使用各种选项来指定用户组的属性和权限。 -
groupmod
groupmod命令用于修改现有的用户组。管理员可以使用各种选项来修改用户组的属性和权限。 -
groupdel
groupdel命令用于删除用户组。 -
visudo
visudo命令用于编辑sudo配置文件/etc/sudoers,以控制用户的sudo权限。 -
GNOME 用户和组
除了命令行工具外,还有一些图形化工具可以帮助管理员进行用户管理。GNOME 用户和组是一个在 GNOME 桌面环境下使用的用户管理工具,可以帮助管理员轻松管理用户和用户组。要打开 GNOME 用户和组,可以按下Alt+F2快捷键打开运行对话框,然后输入gnome-system-tools并按回车键。在打开的“用户和组”窗口中,可以添加、修改和删除用户和用户组。
-
Webmin
Webmin 是一个基于 web 的管理界面,可以让管理员通过 web 浏览器管理 Linux 系统。Webmin 提供了许多模块,包括用户和组模块,可以帮助管理员进行用户管理。
总的来说,Linux 用户管理是非常重要的,管理员可以通过用户管理来控制用户的访问和操作范围,以保证系统的安全性和稳定性。在本文中,我们介绍了 Linux 用户管理的基础知识,包括用户账户的创建、删除和修改,以及用户组的创建、删除和修改。我们还介绍了一些图形化工具,包括 GNOME 用户和组和Webmin,可以帮助管理员更方便地进行用户管理。
同时,我们还提到了一些注意事项,如不要将 root 用户授权给其他用户、使用强密码等。这些注意事项可以帮助管理员确保系统的安全性。希望这篇文章对初学者和有经验的管理员都有所帮助。
相关文章:
轻松搞懂Linux中的用户管理
文章目录概念用户账户用户组用户权限用户管理工具概念 用户管理是Linux系统管理员必须掌握的重要技能之一。Linux系统是一个多用户操作系统,可以支持多个用户同时使用,每个用户拥有自己的账户和权限,因此管理员需要了解如何创建、管理和删除…...
力扣-丢失信息的雇员
大家好,我是空空star,本篇带大家了解一道简单的力扣sql练习题。 文章目录前言一、题目:1965. 丢失信息的雇员二、解题1.正确示范①提交SQL运行结果2.正确示范②提交SQL运行结果3.正确示范③提交SQL运行结果4.正确示范④提交SQL运行结果5.其他…...
FPGA采集AD7606全网最细讲解 提供串行和并行2套工程源码和技术支持
目录1、前言2、AD7606数据手册解读输入信号采集范围输出模式选择过采样率设置3、AD7606串行输出采集4、AD7606并行输出采集5、vivado仿真6、上板调试验证7、福利:工程代码的获取1、前言 AD7606是一款非常受欢迎的AD芯片,因为他支持8通道同时采集数据&am…...
CSS介绍
文章目录一. CSS介绍二. CSS的引入方式三. CSS选择器一. CSS介绍 定义: 层叠样式表作用: 美化界面: 设置标签文字大小,颜色,字体加粗等样式控制页面布局: 设置浮动,定位等样式 基本语法: 选择器{样式规则 } 样式规则: 属性名1: 属性值1 属性名2: 属性值2 属性名3: 属性值3 ..…...
Auto-encoder 系列
Auto-Encoder (AE)Auto-encoder概念自编码器要做的事:将高维的信息通过encoder压缩到一个低维的code内,然后再使用decoder对其进行重建。“自”不是自动,而是自己训练[1]。PCA要做的事其实与AE一样,只是没有神经网络。对于一个输入…...
【蓝桥杯入门不入土】变幻莫测的链表
文章目录一:链表的类型单链表双链表循环链表二:链表的存储方式三:链表的定义删除节点添加节点四:实战练习1.设计链表2. 移除链表元素最后说一句一:链表的类型 单链表 什么是链表,链表是一种通过指针串联在…...
axios的二次封装
方式一:将axios单独分装到某个配置文件中import axios from axios; const axiosApi axios.create({baseURL:http://127.0.0.1:3000,timeout:3000 }) export default axiosApi在组件中使用:import $http from axios配置文件的地址 $http.get(/student/test).then(re…...
GET与POST区别(最详细)
相同点:本质上都是TCP连接。 不同点:由于HTTP规定和服务器/浏览器限制,在应用过程中区别如下: 1.get产生一个TCP数据包,post 产生两个TCP数据包 get请求,浏览器会把http header和data一起发送,…...
精选博客系列|将基于决策树的Ensemble方法用于边缘计算
在即将到来的边缘计算时代,越来越需要边缘设备执行本地快速训练和分类的能力。事实上,无论是手机上的健康应用程序、冰箱上的传感器还是扫地机器人上的摄像头,由于许多原因,例如需要快速响应时间、增强安全性、数据隐私࿰…...
JS混淆加密:Eval的未公开用法
JavaScript奇技淫巧:Eval的未公开用法 作者:http://JShaman.com w2sft,转载请保留此信息很多人都知道,Eval是用来执行JS代码的,可以执行运算、可以输出结果。 但它还有一种未公开的用途,想必很少有人用过。…...
π型滤波器 计算_π型滤波电路
滤波器在功率和音频电子中常用于滤除不必要的频率。而电路设计中,基于不同应用有着许多不同种类的滤波器,但它们的基本理念都是一致的,那就是移除不必要的信号。所有滤波器都可以被分为两类,有源滤波器和无源滤波器。有源滤波器用…...
大数据常见术语
大数据常见术语一览 主要内容包含以下(收藏,转发给你身边的朋友) 雪花模型、星型模型和星座模型 事实表 维度表 上钻与下钻 维度退化 数据湖 UV与PV 画像 ETL 机器学习 大数据杀熟 SKU与SPU 即席查询 数据湖 数据中台 ODS,DWD&…...
带你了解“函数递归”
目录 1. 什么是递归? 2. 函数递归的必要条件 2.1 接收一个整型值(无符号),按照顺序打印它的每一位。 代码如下: 2.2 编写一个函数,不用临时变量求字符串长度 代码如下: 2.3 递归与迭代 …...
网络资源面经2
文章目录Kafka 原理,数据怎么平分到消费者生产者分区消费者分区Flume HDFS Sink 小文件处理Flink 与 Spark Streaming 的差异,具体效果Spark 背压机制具体实现原理Yarn 调度策略Spark Streaming消费方式及区别Zookeeper 怎么避免脑裂,什么是脑…...
4年经验来面试20K的测试岗,一问三不知,我还真不如去招应届生。
公司前段缺人,也面了不少测试,结果竟然没有一个合适的。一开始瞄准的就是中级的水准,也没指望来大牛,提供的薪资在10-20k,面试的人很多,但平均水平很让人失望。看简历很多都是4年工作经验,但面试…...
K8S搭建NACOS集群踩坑问题
一、NACOS容器启动成功无法访问现象描述:通过K8S的statefulset启动,通过NodePort暴露不能在外网访问,只能在MASTER主节点访问。yaml配置:apiVersion: apps/v1 kind: StatefulSet metadata:name: nacos-${parameters.nameSpace}-dm…...
怎么避免计算机SCI论文的重复率过高? - 易智编译EaseEditing
论文成稿前 在撰写阶段就避免重复:在撰写阶段就避免文章中的重复内容,可以减少后期修改的工作量。 在写作前,可以制定良好的计划和大纲,规划好文章的结构和内容,从而减少重复内容。 加强对相关文献的阅读 为了避免自己…...
uni-app路由拦截
新建一个auth.js /** * description 权限存储函数 */ const authorizationKey Authorization export function getAuthorization() { return uni.getStorageSync(authorizationKey) } export function setAuthorization(authorization) { return uni.setStorageSync(aut…...
如何使用固态继电器实现更高可靠性的隔离和更小的解决方案尺寸
自晶体管发明之前,继电器就已被用作开关。从低压信号安全控制高压系统的能力,如隔离电阻监控,对于许多汽车系统的开发是必要的。虽然机电继电器和接触器的技术多年来有所改进,但设计人员要实现其终身可靠性和快速开关速度以及低噪…...
【YOLOv8/YOLOv7/YOLOv5系列算法改进NO.56】引入Contextual Transformer模块(sci期刊创新点之一)
文章目录前言一、解决问题二、基本原理三、添加方法四、总结前言 作为当前先进的深度学习目标检测算法YOLOv8,已经集合了大量的trick,但是还是有提高和改进的空间,针对具体应用场景下的检测难点,可以不同的改进方法。此后的系列…...
深圳大学计软《面向对象的程序设计》实验3 指针2
A. 月份查询(指针数组) 题目描述 已知每个月份的英文单词如下,要求创建一个指针数组,数组中的每个指针指向一个月份的英文字符串,要求根据输入的月份数字输出相应的英文单词 1月 January 2月 February 3月 March …...
【基于机器学习的推荐系统项目实战-2】项目介绍与技术选型
本节目录一、项目介绍1.1 采用的数据源1.2 Concrec架构技术选型1.3 Sprak介绍1.4 Flink1.5 TensorFlow一、项目介绍 1.1 采用的数据源 Kaggle Anime Recommendations Dataset。 其中的动漫数据源自myanimelist.net。 1.2 Concrec架构技术选型 数据预处理模块:汇总…...
对称锥规划:锥与对称锥
文章目录对称锥规划:锥与对称锥锥的几何形状常用的指向锥Nonnegative Orthant二阶锥半定锥对称锥对称锥的平方操作对称锥的谱分解对称锥的自身对偶性二阶锥规划SOCP参考文献对称锥规划:锥与对称锥 本文主要讲锥与对称锥的一些基本概念。 基础预备&…...
4.基于Label studio的训练数据标注指南:情感分析任务观点词抽取、属性抽取
情感分析任务Label Studio使用指南 1.基于Label studio的训练数据标注指南:信息抽取(实体关系抽取)、文本分类等 2.基于Label studio的训练数据标注指南:(智能文档)文档抽取任务、PDF、表格、图片抽取标注等…...
算法拾遗二十五之暴力递归到动态规划五
算法拾遗二十七之暴力递归到动态规划七题目一【数组累加和最小的】题目二什么暴力递归可以继续优化暴力递归和动态规划的关系面试题和动态规划的关系如何找到某个问题的动态规划方式面试中设计暴力递归的原则知道了暴力递归的原则 然后设计常见的四种尝试模型如何分析有没有重复…...
Linux进程的创建结束类系统调用总结
tags: Linux OS Syscall C 写在前面 总结一下Linux系统的进程创建/终止/等待等系统调用, 参考: Linux/Unix系统编程手册. 下面主要给出例子, 关于函数原型可以参考书中或者man 2 syscall(例如man 2 fork). 测试环境: Ubuntu 20.04 x86_64 gcc-9 进程创建: fork() 用于创建…...
Git分支的合并策略有哪些?Merge和Rebase有什么区别?关于Merge和Rebase的使用建议
Git分支的合并策略有哪些?Merge和Rebase有什么区别?关于Merge和Rebase的使用建议1. 关于Git的一些基本原理1.1 Git的工作流程原理2. Git的分支合并方式浅析2.1 分支是什么2.2 分支的合并策略2.2.1 Three-way-merge(三向合并原理)2…...
2022-2-23作业
一、通过操作Cortex-A7核,串口输入相应的命令,控制LED灯进行工作 1.例如在串口输入led1on,开饭led1灯点亮 2.例如在串口输入led1off,开饭led1灯熄灭 3.例如在串口输入led2on,开饭led2灯点亮 4.例如在串口输入led2off,开饭led2灯熄灭 5.例如在串口输…...
1.基于Label studio的训练数据标注指南:信息抽取(实体关系抽取)、文本分类等
文本抽取任务Label Studio使用指南 1.基于Label studio的训练数据标注指南:信息抽取(实体关系抽取)、文本分类等 2.基于Label studio的训练数据标注指南:(智能文档)文档抽取任务、PDF、表格、图片抽取标注等…...
“高退货率”标签引热议,亚马逊跨境电商是好是坏?
在多数卖家不知情的情况下,亚马逊“高退货率”标签上线,该消息已被官方证实,目的是为了践行以客户为中心的理念和推动卖家提升服务。 官方确认上线“高退货率”标签 近期,有亚马逊卖家发现产品详情页出现了“高退货率”标签&…...
网站建设完成情况/青岛网站设计微动力
有时候我们想查看一个exe引用了哪些动态库,或者我们想看某个动态库包含哪些接口函数,这时候我们就可以使用dumpbin.exe工具。 1.输入dumpbin - imports *.exe 查看它的输入信息,可以看到它加载了 2.输入dumpbin -imports *.dll,列…...
食品公司建设网站目的/seo是搜索引擎吗
https://github.com/gaoconggit/MyMVC...
wordpress 全文搜索/宁波企业seo服务
一、 变量的定义和缺省初始化 c 中声明变量的时候大多的进行了定义(即分配了内存),特例有: 1) extent int x,仅仅声明了x,没有为x分配内存。 2) 函数的声明(即在调用函数之前进行的声明,此时未定…...
网站怎样做seo推广/seo优化顾问服务
漏洞版本: MongoDB 2.4.0-2.4.4 漏洞描述: CVE ID:CVE-2013-4142MongoDB是一个高性能,开源,无模式的文档型数据库,是当前NoSql数据库中比较热门的一种MongoDB "mongo::mongoFind()"函数(src/mongo/scripting/v8_db.cpp)在解析规则表…...
做网站反链/搜索引擎优化公司排行
在android开发中ListView是比较常用的组件,它以列表的形式展示具体内容,并且能够根据数据的长度自适应显示。抽空把对ListView的使用做了整理,并写了个小例子,如下图。列表的显示需要三个元素:1.ListVeiw 用…...
工业设计完整作品集/手机优化专家
declare begindate as datetime declare enddate as datetime declare period as int --修改期间开始时间 set begindate2010-7-7 --修改期间终止时间 set enddate2010-7-8 --修改会计期间 set period7 --生成起点凭证 select * into #tmp_zz_begin from ( select gav.iperiod …...