Linux 用户讲解

news2024/11/26 3:51:34

目录

Linux 用户介绍

Linux用户类型

UID

用户组ID

Linux 用户相关命令

id 查看用户信息

useradd 创建新的用户账户

groupadd 创建新的用户组

usermod 修改用户的属性

passwd  修改用户的密码、过期时间等

userdel   删除用户

通过文件的方法新建、编辑用户

/etc/passwd

/etc/group

/etc/shadow

/etc/skel

通过文件创建用户实例

切换用户的身份

su 切换命令身份

sudo 授权普通用户执行管理员权限


Linux 用户介绍

Linux用户类型

Linux用户被分为三种类型:管理员用户、系统用户、普通用户

管理员用户

权限最大,限制最小

系统用户

默认情况下不能登录服务器,只能去调用某个服务程序

系统用户可以避免两个问题

黑客破解系统用户密码后,不能够登录服务器

当黑客入侵了网站服务之后,由于系统用户的权限特别小,黑客造成的范围也会降低很多

普通用户     

用来日常完成工作的用户(普通用户下不能够新建普通用户)

系统用户和普通用户的区别

系统用户和普通用户登录终端不同

普通用户的登录终端是 /bin/bash,能够正常使用这个账户登录服务器

系统用户的登录终端是/sbin/nologin,不能够正常登录登录到服务器(只能管理某些服务)

UID

UID  用户的身份证号码(uid user identification),具有唯一性

不同用户的UID范围

管理员的UID 为0 (唯一的,不可更改的,UID为0就代表是管理员用户)

系统管理员的UID  RHEL5、6 为1-499        RHEL7-8 为1-999

普通用户的UID    RHEL5、6为500-65535    RHEL7、8为从1000开始,没有上限

注意事项

UID=0一定代表的是管理员用户,其余的UID不能确定

即除了管理员用户的UID外,其余用户的UID都可以手工指定,所以无法只通过UID来判断其是系统用户还是普通用户

系统用户和普通用户是通过功能和作用来区分的,不是通过UID来区别,即UID只是做个参考

用户组ID

用户组只有一个组ID,就是用户组ID,其基本组ID和扩展组ID是对于用户来说的

可以将不同的用户加入到用户组,使得不同的用户都拥有这个用户组所有的权限

不用过多的去区分基本组和扩展组,要想用户获得某个用户组的权限,直接将这个用户加入到这个用户组就可以了

基本组ID(gid)

当创建用户时会自动生成一个组,这个组对于用户自己来说就是基本组

用户组ID

当用户加入到其它用户的基本组时,其它用户的其本组对于自己来说就是扩展组

注意事项(groups)

一个用户只可以有一个基本组,一个用户可以加入到多个扩展组

文件属性的所属组就是用户组,只要是这个用户组的用户,就可以享用此用户组对这个文件的权限,不区分此用户组对用户来说是基本组还是扩展组

ls -l 可以查看

  文件属性 文件所有者  文件所属组  

       此时文件所属组并不区分基本组和扩展组,只要文件有所属组就可以


Linux 用户相关命令

id 查看用户信息

id  查看用户的信息(UID、基本组ID、扩展组ID)

 id                查看当前用户的信息

 id 用户名         查看指定用户的信息

gid 基本组ID(用户组)、groups 扩展组ID(用户组)

useradd 创建新的用户账户

 useradd 用户                   创建用户

 useradd -u 1000 用户           创建uid为1000的用户

  -d  指定用户的家用户(默认为/home/username)

  -e  指定账户的到期时间(格式为YYYY-MM-DD)

  -g  指定一个用户组(包括基本组和扩展组)

  -G  指定一个或多个用户的扩展组

  -N  不创建于用户同名的基本用户组(默认创建)

  -s  指定该用户默认的shell解释器

groupadd 创建新的用户组

groupadd  admin       创建名为admin的用户组

groupadd -g 123 linux   创建用户组linux,并指定工作组的id为123

groupdel 用户组        删除用户组

usermod 修改用户的属性

usermod -u 10 用户名             修改用户的UID

uermode -s /sbin/nologin  用户名   将用户的登录终端修改为/sbin/nologin

 -s 修改用户登录终端,此时su - 用户名,此用户就无法登录服务器了

 -d 修改用户登录时的家用户(当-d 和 -m 一起使用时,可以将旧的数据移动到新的家目录中)

 -c 填写账户的备注信息

 -e 修改账户的到期时间,格式为(YYYY-MM-DD)

 -g 变更用户组(包括基本组和扩展组)

 -G 变更扩展组

 -L 锁定用户禁止其登录系统

 -U 解锁用户,允许其登陆系统

passwd  修改用户的密码、过期时间等

passwd             修改当前用户的密码

passed 用户名      修改此用户的密码

passed -e 用户名    强制用户在下一次登录时修改密码

--stdin             允许用户通过标准输入修改用户密码

-S                 显示用户的密码是否被锁定,以及密码所采用的加密算法名称

-l                  锁定用户,禁止其登录

-u                 解锁锁定,允许用户登录

userdel   删除用户

userdel 用户        删除用户名称,但是用户的家目录信息没有删除

 /home  存放着用户的资料

 当删除用户后,只是删除了用户名称,关于此用户的重要数据还存放在/home文件下

 当再次创建此用户后,会自动关联此信息

userdel -r 用户    删除用户的同时并删除用户的家目录

 -f               强制删除用户


通过文件的方法新建、编辑用户

/etc/passwd

vim /etc/passwd  此文件时用来存储用户信息的(不包括密码)

用户名称:是否有密码(有为x,真正的密码存放在shadow中):UID:初始用户组ID(包括基本组和扩展组):用户的描述信息:用户的家目录:解释器终端

/etc/group

vim /etc/group   此文件报文的是用户组信息

用户组名:是否有密码:用户组ID:组内用户列表

/etc/shadow

vim /etc/shadow       文件保存的是用户的密码信息

用户名:加密密码(!!表示不设置密码):最后一次修改日期():最小时间间隔(修改密码最小间隔天数):最大时间间隔(密码保存的最大有效天数):警告时间(系统警告用户到用户密码正式失效时间之间的天数):不活动时间(密码失效后账号能够保持有效的最大天数):失效时间(密码无效时间-使用这个字段需要给出账号的生存日期,期满后此账号无法登录):标志

注意事项

密码是通过MD5加密出来的(不是传统的1对1的,相同的密码每次加密的结果都不一样)

如果要输入密码,可以通过机密软件将密码加密,然后复制进来

/etc/skel

/etc/skel 用于存放shell的环境变量,当使用命令创建新用户的时候,这个目录下的所有文件会自动复制到新用户的家目录下

由于我们使用文件建立用户,我们需要手动将此文件复制到用户的加目录下

 cp -r /etc/skel 用户家目录

通过文件创建用户实例

vim /etc/group  创建用户组名为linuxjp,组ID为521

 linuxjp:x:521

vim /etc/passwd 创建用户名为linuxj,uid为520,用户组id为521,家目录为/home/linuxj,终端解释器为/bin/bash

vim /etc/shadow 为linuxj编写密码,此处表示暂时不写密码

  linuxj:!!::::::

此时登录用户发现虽然也可登录进去,但是用户没有家目录

cp -r /etc/skel /home/linuxj  为linuxj创建家目录

id linuxj查看用户信息


切换用户的身份

su 切换命令身份

su 用户名   切换到用户名(会保留先前用户的变量信息)

su - 用户名  完整的身份变更(不会保留先前用户的变量信息,变量信息都变为自己的了)

注意事项

管理员可以切换到普通用户 此时无需密码

普通用户可以切换到管理员、也可以切换到其它普通用户 此时需要密码

sudo 授权普通用户执行管理员权限

sudo  是服务程序,也是命令

 可以让某个用户执行某个工作,进行单独的权限设定(类似于精准的SUID)

 让执行sudo命令的用户临时获取到更高的权限(但是仅限于某个用户)

配置sudo服务

可以通过visudo配置sudo服务(visudo 也是调用vim编译器来实现编译的,推荐)

也可以编辑文件目录来实现 vim /etc/sudoers

root 谁可以使用sudo服务(要为哪位用户进行命令授权)

ALL  哪些主机可以使用sudo命令(填写网段表示从此网段登录的主机才可以使用sudo命令,ALL表示不限制主机来源)

(ALL)  以谁的身份执行sudo命令(输入用户名表示为通过其它用户来执行命令,ALL表示最高权限,)

ALL  可以执行的命令(命令必须使用命令路径的方式来写,ALL表示不限制命令)

     命令路径可以通过which 命令 来进行查找

执行sudo命令

只有/etc/sudoers文件有用户的名字,用户才可以使用sudo命令

 sudo 命令1            执行命令1(此主机需满足/etc/sudoers文件定义的要求,需要进入被sudo授权的用户)

 sudo -u 用户名 命令1  使用sudo服务允许的用户身份来执行命令1(不需要进入被sudo授权的用户)

 sudo -l                查看此用户被sudo授权了哪些命令

配置举例

visudo  配置sudo服务

admin ALL=(root)    /usr/bin/ls

表示不限主机来源,当主机登录admin用户后,可以通过root的身份执行ls命令

执行sudo命令(两种方式)

方式一:sudo –u admin ls   通过admin用户身份执行ls

方式二:或者登录到admiin用户(被sudo授权的用户)下执行sudo 命令

sudo -l  查此用户被sudo授权的命令

注意事项

在满足工作的前提之下,权限越少越好

尽量不要给用户一个能够编写文件的命令的权限(vim echo)

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

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

相关文章

【操作系统】磁盘IO常见性能指标和分析工具实战

1.磁盘读写常见的指标 (1)IOPS(Input/Output Operations per Second) 指每秒能处理的I/O个数,表示块存储处理读写(输出/输入)的能力,单位为次,有顺序IOPS和随机IOPS比如…

设计模式第五讲-装饰器模式和代理模式详解

一. 装饰器模式 1. 背景 在现实生活中,常常需要对现有产品增加新的功能或美化其外观,如房子装修、相片加相框等。在软件开发过程中,有时想用一些现存的组件。这些组件可能只是完成了一些核心功能。但在不改变其结构的情况下,可以…

软件测试工程师需要掌握哪些技能呢?

在谈到软件测试工程师时,许多人还是会想到那些重复使用软件并试图在频繁的操作中发现 BUG的人,也就是人们常说的按照测试规范和测试案例来测试软件,检查软件是否有错误,判断软件是否稳定。但这是一个很老派和错误的观点。 由于以…

持续测试:企业的4项策略

对于旅游业和酒店服务来说,节假日无疑是最繁忙的时期。2022年的节假日历经了多重变化,恶劣的天气以及不可抗力因素影响了许多出行计划,也影响了航空公司的运营。为了确保一个顺利和成功的假期,开发团队必须为意想不到的事情做好准…

openvino yolov5/ssd 实时推流目标检测在html上显示

安装ffmepg并添加到环境变量中,流媒体使用m7s 运行效果 SSD:检测在10ms左右,yolov5在100ms左右 app.py #!/usr/local/bin/python3 # encodin: utf-8import subprocess import threading import time import cv2 import osfrom OpenVinoYoloV…

遥感概念理解(更新中)

目录看一幅波长与光对应的图1、波段2、波段组合3、多波段数据的三种存储方式4、全色5、彩色6、 多光谱7、高光谱看一幅波长与光对应的图 1、波段 波段又称为波谱段或波谱带,在遥感技术中,通常把电磁波谱划分为大大小小的段落,大的成为波段区…

2023年数据安全的下一步是什么?

IT 预算和收入增长领域是每个年度开始时的首要考虑因素,在当前的世界经济状况下更是如此。 IT 部门和数据团队正在寻找确定优先级、维护和构建安全措施的最佳方法,同时又具有成本效益。 这是一个棘手的平衡点,但却是一个重要的平衡点&#…

java ssm自行车在线租赁系统idea

当前自行车在社会上广泛使用,但自行车的短距离仍旧不能完全满足广大用户的需求。自行车在线租赁系统可以为用户提供租赁用车等功能,拥有较好的用户体验.能实时在线租赁提供更加快捷方便的租车方式,解决了常见自行车在线租赁系统较为局限的自行车归还功能。 通过使用本系统&…

C语言学习笔记(九):文件的操作

C文件的知识 什么是文件 操作系统把各种设备都统一作为文件来处理。例如,终端键盘是输入文件,显示屏和打印机是输出文件。 文件一般指存储在外部介质上数据的集合。操作系统是以文件为单位对数据进行管理的 输入输出是数据传送的过程,数据…

【LeetCode】1124. 表现良好的最长时间段

1124. 表现良好的最长时间段 题目描述 给你一份工作时间表 hours,上面记录着某一位员工每天的工作小时数。 我们认为当员工一天中的工作小时数大于 8 小时的时候,那么这一天就是「劳累的一天」。 所谓「表现良好的时间段」,意味在这段时间…

多线程下载工具axel的安装和使用

多线程下载工具axel的安装和使用 Axel是一个轻量级下载程序,它和其他加速器一样,对同一个文件建立多个连接,每个连接下载单独的文件片段以更快地完成下载。 Axel 支持 HTTP、HTTPS、FTP 和 FTPS 协议。它也可以使用多个镜像站点下载单个文件…

Springboot 使用插件 自动生成Mock单元测试 Squaretest

缘起 很多公司对分支单测覆盖率会有一定的要求,比如 单测覆盖率要达到 60% 或者 80%才可以发布。 有时候工期相对紧张,就优先开发功能,测试功能,然后再去补单元测试。 但是编写单元测试又比较浪费时间,有没有能够很大…

Spirng 痛苦源码学习(四)——AOP老大哥

文章目录前言一、探究AOP开始,判断导入的相关组件1.跟踪源码流程二、对切面中的增强方法进行增强1.源码的过程三、使用aop的目标类生成代理对象总结前言 Spring的两大特性:IOC;AOP。本篇仅以跟完Spring AOP相关源码为依据写的总结 一、探究A…

MySQL入门篇-MySQL高级窗口函数简介

备注:测试数据库版本为MySQL 8.0 这个blog我们来聊聊MySQL高级窗口函数 窗口函数在复杂查询以及数据仓库中应用得比较频繁 与sql打交道比较多的技术人员都需要掌握 如需要scott用户下建表及录入数据语句,可参考:scott建表及录入数据sql脚本 分析函数有3个基本组成…

matlab进行双目标定获取双目参数并打印教程

文章目录前言1.打开matlab进行双目标定2.获取想要的参数前言 在相同的标定算法和标定参数下,Python和Matlab的标定精度是相同的。因为标定精度主要取决于标定算法和标定参数的质量,而不是编程语言的选择。 不同的编程语言可能使用不同的库或实现细节&…

Hackergame 2020

3.Hackergame 2020 1.签到 url:http://202.38.93.111:10000/ 打开签到题页面,拖动滑杆,如果将滑杆滑动到最左边,提交 0,那么我们会得到成功的返回,但是没有 flag 尝试手动提交一些非整数的值&#xff0c…

HTML+CSS

HTML技术 什么是HTML Hyper Text Markup Language HTML:超文本标记语言,内部全部是一些不同的标记符号。 通俗的来讲:其实就是“网页”。 HTML 网页 网页的特点: 1、所有的网页都是通过【浏览器】来进行解析的。2、所有的网…

【MySQL】子查询

这里写自定义目录标题子查询1、子查询的基本使用2、 单行子查询2.1、单行比较查询2.2、HAVING 中的子查询2.3、CASE中的子查询3、多行子查询4、相关子查询5、EXISTS 与 NOT EXISTS关键字子查询 子查询指一个查询语句嵌套在另一个查询语句内部的查询,这个特性从MySQ…

算法笔记(四)—— 排序算法总结及链表

排序算法稳定性 值相同的元素排序结束后能否保持相对秩序不变。 冒泡排序具有稳定性(相等时不交换)。 插入排序具有稳定性。 归并排序具有稳定性(merge的时候,相等时先拷贝左边的,小和问题让其丧失了稳定性&#x…

557. 反转字符串中的单词 III

给定一个字符串 s ,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。 方法一:使用额外空间 思路与算法 开辟一个新字符串。然后从头到尾遍历原字符串,直到找到空格为止,此时找到了一个单词&a…