Linux 基本用户和组命令

2023-05-16

                                Linux 基本用户和组命令

  1有关用户的命令

(1).新增用户

    Useradd  + 用户名

   (2).查看用户是否存在

       id + 用户名

   (3).删除用户

        sudo userdel  用户名  只会删除用户本身

       sudo userdel -r +用户名  将 linux 下的用户彻底删除干净(包括用户的家目录/home/username 和邮件池/var/mail/username)

  

   (4).用户切换

       su+用户名

:从超级用户切换到其他普通用户是不需要输入密码的,而普通用户切换到其他用户

时需要输入密码进行验证,成功后会切换用户。

 

[root@localhost Desktop]# sudo userdel -r haha

[root@localhost Desktop]# id haha

id: haha: no such user

[root@localhost Desktop]# useradd haha

[root@localhost Desktop]# id haha

uid=1001(haha) gid=1001(haha) groups=1001(haha)

[root@localhost Desktop]# sudo userdel -r haha

[root@localhost Desktop]# id haha

id: haha: no such user

[root@localhost Desktop]# su westos

[westos@localhost Desktop]$

 

2.linux用户包括普通用户和root用户,普通用户不能建立新的用户,需要root用户授权。

(1).授权方法1:编辑vim /etc/sudoers  

     root   ALL=(ALL)    ALL    允许用户执行所有命

    用户名  登入者主机名=可切换的身份(sudo -v执行后,默认的执行指令的身份)   可下达的指令

授权方法2visudo(和上一种本质一样),但是visudo在退出文件时,系统会检查/etc/sudoers语法是否正确

 [root@localhost Desktop]# visudo

      root ALL=(ALL) ALL    找到该行

      haha ALL=(ALL) ALL   新增这行,则haha用户通过sudo拥有所有权限

      haha    ALL=(root) !/usr/bin/pass wd.!/USR/BIN/passwd root

 允许haha'用户通过sudo来修改其他所有用户的密码,但不能修改root的密码

  (2)visudo 利用群组授权

      将多个用户放在一个组里,一起授权

 方法1:在visudo中编辑(别名)

 

  [root@localhost Desktop]# visudo

      User_Alias  ADMINS = 用户名1,用户名2

      ADMINS   server=(root)  NOPASSWD:ALL   使用sudo不需要密码

方法2:命令行中添加用户到群组

编辑vi /etc/group

     test:x:10:  增加test

 

   [root@localhost Desktop]# usermod -a -G  test

 

test加入到root的组中,对test群组授权,任何加入test这个群组中的使用着,就能够使用sudo切换任何身份来操作任何命令

编辑visudo

%test ALL =(ALL)  ALL

%代表后面接一个群组,格式和单用户授权一样

 

(3).删除组

groupdel  组名

 

3.usermod 命令详解

-d            <登入目录>修改用户登入时的目录。

-e            <有效期限>修改帐号的有效期限。

-f             <缓冲天数>修改在密码过期后多少天即关闭该帐号。

-g            <群组>修改用户所属的群组。

-G            <群组>修改用户所属的附加群组。

-L              锁定用户密码,使密码无效。

-s            <shell>修改用户登入后所使用的 shell

-u            <uid>修改用户 ID

-U            解除密码锁定。

4. linux 用户和组相关的文件

linux 操作系统中,对用户的管理是以文件形式存在的。与用户相关的主要包括以

下几个文件:

/etc/passwd               存储用户的信息

/etc/group                 存储这组相关的信息  

/etc/shadow               用户密码信息

/etc/gshadow             组的密码信息

/home/username         普通用户的家目录

(1)/etc/passwd

这个文件里记录了 linux 系统的帐号信息,每一行代表着一个帐号。如下所示:

root:x:0:0:root:/root:/bin/bash

每一行包括有 7 个部分,他们之间由:分隔。解释如下:

1):用户名

2):密码(已经加密)

3):UID 用户标识

4):GID 组标识。

5):用户全名或本地帐号

6):开始目录

7):登录使用的 Shell,就是对登录命令进行解析的工具。

(2)/etc/group

/etc/group 文件中存放着用户组信息,一共有四列。中间也是用:分隔。

Group_name:Password:Group_ID:User_list

1)Group_name: 用户组名称

2)Password:用户组密码,passwd 文件一样,如果口令字段为 x 的话,表示

有一个/etc/gshadow 用于存放组口令。但一般来说,组口令很少用到,因此不必

太在意这个字段。即使该字段为空,也不需要担心安全问题。

3)Group_ID:用户组 ID,简称 GIDGID 用于标识一个组,UID 一样,

保证 GID 的唯一性。

4)User_list:用户组列表,每个用户用逗号分隔。本字段可以为空,如果字段

为空表示用户组为 GID 的用户名。如果一个用户属于/etc/passwd 中所指定的某个组,

但没有出现在/etc/group 文件相应的组中,那么应该以/etc/passwd 文件中的设置为准。

(5)shadow

为了增强系统的安全性,Linux 系统还可以为用户提供 MD5 Shadow 安全密

码服务。如果在安装 Linux 时在相关配置的选项上选中了 MD5 Shadow 服务,

那么将看到的/etc/passwd 文件里的 passwd 项上无论是什么用户,都是一个“x”,这就

表示这些用户都登录不了;系统其实是把真正的密码数据放在了/etc/shadow 文件里。

为保证系统用户的安全性,/etc/shadow 文件权限应设置为‘-rw-------’‘-r--------’,即只

能以 root 用户来浏览。

passwd 文件格式类似,shadow 文件由多条记录组成,每条记录占一行,记录一

个用户账号的密钥信息。每行记录由 9 个字段组成,字段间用冒号隔开,各个字段用途

如下:

1)账号名称:

第一个字段是账号,必须与/etc/passwd 相同。

2)密码:

这个字段才是真正的密码,该密码经过编码。假如此字段为空,则表示该账号不需

要密码就可以登录。如果密码栏的第一个字符为‘*’或者是‘!’,表示这个账号不能用来

登录。可以使用这个方法来开启或关闭一个账户的登录权限。另外‘!!’两个叹号表示

这个账号目前没有密码,也不能用于登录,通常为一些系统账号。

3)最近更改密码的日期:

这个字段记录了更改密码那一天的日期。该字段使用 1970 年以来的总日数设

定。

4)密码不可被更改的天数:

第四个字段记录了这个账号的密码需要经过多少天才允许被更改,如果是 0,则表

示密码可随时改动。

5)密码需要重新更改的天数:

该字段表示拥护必须在这个时间内重新设置密码,否者这个账号将暂时失效。如果该

字段的值为 99999,表示没有要求用户指定天数内重新更改密码。

6)密码需要更改期限前的警告期限:

当账号的密码失效期快到的时候,就是上面必须变更密码的那个时间,系统会根

据这个字段的设定,发出警告信息,提醒用户再过 n 天后密码失效。

7)密码过期的恕限时间:

4西部开源技术中心

如果用户过了警告期限仍没有重新设定密码,致密码失效,仍可以使用这个失效密

码在 n 天内登录系统。若再这个期间仍没更改密码,则账号失效。

8)账号失效日期:

这个账号在此字段规定的日期之后,将无法再使用。该字段与第 3 个字段一样,

使用 1970 年以来的总日数设定。

9)保留:

最后一个字段是保留的,看以后有没有新功能加入。

(4)/home/username

用户的家目录,包括登陆 shell 的预读信息、桌面、文档等相关目录。

5.当我们使用 useradd ,系统会参考以下几个文件和目录中的内容:

/etc/default/useradd   该文件中我们对添加用户时会指定相应的默认值

/etc/login.defs         该文件设置用户帐号限制(优先级低于 shadow)

/etc/skel/*      linux 用户的骨架文件(如果没有这些,shell 提示会显得非常空洞)6.用户的邮件文件

对用户所发送的邮件都存储在/var/mail 目录下:

/var/mail/username

7使用 sudo

sudo Unix/Linux 平台上的一个非常有用的工具,它允许系统管理员分配给普通用户一些合理的权利”,让他们执行一些只有超级用户或其他特许用户才能完成的任务,,这样以来,就不仅减少了 root 用户的登陆次数和管理时间,也提高了系统安全性。

配置 sudo 的方法有以下两种:

(1) 直接编辑/etc/sudoers

(2) 在超级用户的身份下键入 visudo(普通用户的权限不够)

我们建议使用第二种方法来配置 sudo,主要考虑以下原因:

(1) visudo 避免了两个用户同时修改 sudo 的配置文件。如下图所示,我们在一个控制台键入 visudo 后进入 sudo 的配置文件,在另外一个控制台再次键入 visudo 修改时会提示/etc/sudoers 比较繁忙。

(2) 二是 visudo 命令能够进行有效的语法检测,当命令执行完成后如果/etc/sudoers 文件编辑有语法错误的时候它会进行报错。当错误地修改了 visudo ,它会抛出错误的行号,并且让使用者选择接下来需要做的处理,键入‘e’按钮可以再次的进行编辑,这次编辑不管修改是否合法都不会再给出提示;键入‘x’则是不保存使用者的修改,直接退出 visudo;键入‘Q’是保存并退出。不过不管是 e还是 Q 的修改,如果/etc/sudoers 的语法是有问题的话,sudo 命令是不会生效的。直到错误被更正。

sudo 配置实例:

(1) 让普通用户具有超级用户的所有权限(普通用户==root):

解释:

haharoot 是授权的用户名

第一个 ALL:网络中的主机

第二个 ALL:目标用户,以谁的身份去执行命令

第三个 ALL:指该授权用户可以执行的命令

简称为“3W1C”原则:

Who where whom command

当我们切换到普通用户 zhangchi,并且创建新的用户的时候,系统给出了警告提示,毕竟 sudo 命令是相当于一种信托一样的机制。需要有足够的责任感。在键入完 haha的密码之后就执行了 sudo 之后的命令.在密码验证完成之后,该用户会获得一个 5 分钟的时间券。在此时间段内执行 sudo

令不需要输入密码。

(2) 多个用户的设置(非同一个组群)

1.对于不同需求的用户:可以按照上面的方法依次增加多行,每行对应一个用户。

2.对于相同需求的多个用户采用定义用户别名。如下所示:

User_Alias UUU=user1,user2......

注意:User_Alias 后的名称必须要大写,否则在退出编辑时系统会报错。

(3) 多个命令定义为一个命令别名

可以把同一类型的操作定义成一个命令组,每次可以把这个命令组赋予用户,方便了

visudo 的书写。

Cmnd_Alias NETWORKING = /sbin/route, /sbin/ifconfig, /bin/ping, /sbin/dh

client, /usr/bin/net, /sbin/iptables, /usr/bin/rfcomm, /usr/bin/wvdial,

/sbin/iwconfig,sbin/mii-tool

haha ALL = (root)  NETWORKING

(4)让一个组群的用户拥有指定命令

## Allows members of the users group to mount and unmount the

## cdrom as root

%haha ALL=/sbin/mount /mnt/cdrom, /sbin/umount /mnt/cdrom

 

 

  

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux 基本用户和组命令 的相关文章

  • 一款免费的人像修图工具(笨擦擦)

    推荐一个我们自己开发的免费人像修图工具 xff1a 笨擦擦 使用这个工具可以免费抠图 美颜 证件照制作 我们是一群因为兴趣聚在一起的 二哈 程序员 xff0c 我们没资金 没大佬 没资质 xff0c 但就是喜欢做一些有意思的事 笨擦擦 是我
  • 利用Python生成和识读二维码(QR Code)和微二维码(Micro QR Code)

    目录 一 环境准备二 二维码 xff08 QR Code xff09 生成和读取2 1 生成二维码2 2 读取二维码 三 微二维码 xff08 Micro QR Code xff09 生成和读取3 1 生成微二维码3 2 读取微二维码 之前
  • 贴图问题,opengl,linux,windows,消除锯齿,摩尔纹,yuv 还是 rgb

    1 消除锯齿和摩尔纹 windows下使用d3d是很方便的 xff0c 基本不用设置很多东西 xff0c 就可以做到 xff0c 所以windows上最好使用d3d 但是linux上有所不同 摩尔条纹是两条线或两个物体之间以恒定的角度和频率
  • QT基础(五)----QPainter高级功能

    一 场景和窗口 头文件MyWidget h ifndef MYWIDGET H define MYWIDGET H include lt QWidget gt include lt QGraphicsScene gt 场景 include
  • DSP28335 高速modbus代码实现

    程序特点 不使用while循环速度尽可能快速除去程序运行时间 xff0c 没有多余等待时间优化CRC校验方式 头文件modbus h span class token macro property span class token dire
  • matlab 画图时遇到的一些问题以及解决方法

    matlab 画图时遇到的一些问题以及解决方法 最近在使用 matlab 画图时 xff0c 遇到了许许多多各式各样的问题 xff0c 有些问题甚至折腾了很久才搞好 xff0c 特此记录下来 设置画图时图中线段的粗细plot x1 y1 3
  • Ubuntu18.04上Gazebo安装和使用

    一 基本介绍 Gazebo是一款与机器人开发相关的3D动态模拟仿真软件 xff0c 能够在复杂的室内和室外环境中准确有效地模拟机器人群 这款软件中包含了丰富的机器人模型 xff0c 环境库以及各种各样的传感器 xff0c 并且在操作方面它的
  • Python运行 import cv2 等报错 Illegal instruction (core dumped) 解决办法

    import cv2 报错 Illegal instruction core dumped nanopc T4 开发板上安装好 opencv 后 xff0c import cv2 时 会报错 Illegal instruction core
  • 多个py文件同时执行(多进程与多线程实现)

    本人在编写python程序时 xff0c 需要多个py文件在不同终端内同时运行 xff0c 从而配合实现某种功能 xff0c 经过多方查找与实验 xff0c 排除了很多无法使用的方案 xff0c 最终确定了以下两个方案 xff0c 现将其记
  • nanopc-T4 开发板通过USB麦克风采集录制音频

    文章目录 1 使用 nanopc T4 开发板采集音频2 使用 Tyless外置usb麦克风录制声音3 使用 ffrmpeg 将实时视频与音频合并并推流到 rtmp 服务器中4 成功实现opencv采集图像与音频合并推送到rtmp 1 使用
  • 北京超级云计算中心操作训练指南

    北京超级云计算中心操作指南 本人在实验室做深度学习图像领域相关研究 xff0c 前期使用实验室的设备 2080Ti xff0c 运行时间较慢 xff1b 跑一轮需要6个小时以上 xff1b 后来开始使用超算 xff0c 运行速度比实验室快多
  • windows to go 和 linux to go 制作教程

    文章目录 使用 ventoy 制作windows to go 和 linux to go 教程 xff0c 将系统装进U盘中随身携带1 ventoy 介绍2 准备工作3 windows to go3 1 将 U盘初始化3 2 虚拟磁盘安装
  • 使用nps搭建内网穿透并配置泛域名解析

    使用nps搭建内网穿透并配置泛域名解析 前言1 准备工作2 服务器端搭建nps并配置2 1 配置nps配置文件2 2 docker安装nps2 3 web端配置nps并使用 3 客户端使用nps4 配置泛域名解析5 参考链接 前言 nps是
  • web内外网判断界面

    因日常需要 xff0c 我们在实验室内网中部署了一个服务 xff0c 在校园网内都能正常访问 xff0c 同时配置了内网穿透服务 xff0c 实现外网也能正常访问 但外网访问毕竟是通过内网穿透实现 xff0c 稳定性与网速都有限制 xff0
  • 为无登陆鉴权功能的接口与网站添加登陆鉴权功能

    1 缘由 本人部分服务的测试接口为方便日常测试调试 xff0c 使用了 ip 43 端口 的形式进行访问 xff0c 并且未配置账号密码鉴权机制 在日常测试一段时间后 xff0c 终于还是收到了来自腾讯云的监管通知 xff0c 说服务存在数
  • RoboMaster机器人运行教程(一)

    1 环境配置 系统 xff1a ubuntu16 04 xff0c 安装ROS 2 基础学习 需要C 43 43 和python基础 xff0c 和ROS的基础知识 xff0c 网上有很多教程 xff0c 推荐知乎大佬教程 xff1a 我的
  • slambook2+ch7+pose_estimation_2d2d+估计多张图像之间的位姿

    算法 计算第一张图和第二张图的关键点并匹配以第一张图的相机坐标为世界坐标 xff0c 计算第二张图相对第一张图的旋转矩阵 平移矩阵不断更新第一张图 xff0c 在进行第二次计算时 xff0c 以第二张图为第一张图 xff0c 以第二张图的相
  • 重做Unbuntu 18.0.43 LTS系统 并为SLAM配置环境

    目录 前言 一 安装列表 1 Ubuntu 18 0 43 LTS 1 0 A 搜狗输入法 1 0 B ibus输入法安装 1 1 更换软件源 1 2 安装vim curl等工具 1 3 安装浏览器Chrome git等 1 4 安装g 4
  • PostMan各个版本下载

    打开地址 xff1a https gitee com hlmd PostmanCn
  • 快速解决matlab出现错误使用mex,未找到支持的编译器或 SDK的提示

    matlab mex命令提示找不到编译器或SDK 参考博客 xff1a https blog csdn net cfqcfqcfqcfqcfq article details 63295746 utm source 61 blogxgwz1

随机推荐

  • linux 串口应用层API

    include lt termios h gt struct termios oldtio newtio fd 61 open dev tty0 O RDWR O NOCTTY tcgetattr fd amp oldtio 获取终端参数
  • 2022年中国研究生数学建模竞赛B题-方形件组批优化问题

    一 背景介绍 智能制造被 中国制造2025 列为主攻方向 而个性化定制 更短的产品及系统生命周期 互联互通的服务模式等成为目前企业在智能制造转型中的主要竞争点 以离散行业中的产品为例 xff0c 如电子器件 汽车 航空航天零部件等 xff0
  • 无线网络知识、WiFi原理

    无线网络 B站链接 一 电磁波的传输 电磁波传播方式 地波 xff08 低于2MHZ xff09 天波 2MHZ 30MHZ 直线波 30MHZ以上 电磁波的发射与接收装置 天线 作用 xff1a 将电磁波辐射到空间中或收集电磁波 辐射模式
  • yolov5输出检测到的目标坐标信息

    找到detect py文件 span class token keyword for span span class token operator span xyxy span class token punctuation span co
  • TCP之 select模型

    前记 xff1a select模型主要用于解决tcp通信中 xff0c 每次处理一个独立的客户都要单独的开线程 xff0c 这样会导致客户连接数很大时 xff0c 线程数也会很多 而使用select就会将线程缩减至2个 xff0c 一个主线
  • ROS入门:GPS坐标转换&Rviz显示轨迹

    GPS信息是无法直接绘制轨迹的 xff0c 因为其x xff0c y为经纬度 xff0c z为高度 xff0c 单位不一样 xff0c 本程序实现了以下功能 xff1a 1 将GPS轨迹 xff0c 从经纬度WGS 84坐标转换到真实世界x
  • ubuntu实用技巧

    ubuntu 截图 xff03 保存到图片文件夹 Print Screen 截取整个桌面 Alt 43 Print Screen 截取选中的窗口 Shift 43 Print Screen 自由选区 xff03 复制到剪贴板 Ctrl 43
  • 在ThinkPad X280加装M.2硬盘上安装 Ubuntu 18.04.3 填坑记录

    填坑背景 用了一段时间的X280后 xff0c 突然想在M 2接口上加装一个 NVMe 2242 的SSD xff0c 发现 Lenovo 的BIOS设置的非常奇特 能够检测到这个硬盘 xff0c 但是启动项里就是不能识别 xff01 或许
  • sip注册示例

    这里给出一个sip注册的示例 xff0c 其中平台注册的密码为12345678 xff0c 供相关开发参考 REGISTER sip 34020000002000000001 64 192 168 88 119 SIP 2 0 Via SI
  • spring security验证流程

    工作需要 xff0c 又弄起了权限的管理 虽然很早以前都了解过基于容器的权限实现方式 xff0c 但是一直都觉得那东西太简陋了 后来使用liferay时发现它的权限系统的确做得很优秀 xff0c 感觉这也可能是它做得最出色的地方吧 但是当时
  • On make and cmake

    你或许听过好几种 Make 工具 xff0c 例如 GNU Make xff0c QT 的 qmake xff0c 微软的MS nmake xff0c BSD Make xff08 pmake xff09 xff0c Makepp xff0
  • 制作html css 步骤进度条(完整代码)

    这个动画步骤进度条的css制作的非常简单 那里有两个按钮可以控制步骤 xff0c 它们将逐步进行 我在这个多步骤进度条 css 中使用了 4 个步骤 如果你愿意 xff0c 你可以使用更多 我使用了一些 javascript 来创建这一步进
  • 搜狗语料库word2vec获取词向量

    一 中文语料库 本文采用的是搜狗实验室的搜狗新闻语料库 xff0c 数据链接 http www sogou com labs resource cs php 首先对搜狗语料库的样例文件进行分析 搜狗语料库由搜狗实验室提供 xff0c 我们使
  • c++堆排序原理和实现

    堆排序 xff0c C 43 43 实现 堆是一种特殊的树形数据结构 xff0c 即完全二叉树 堆分为大根堆和小根堆 xff0c 大根堆为根节点的值大于两个子节点的值 xff1b 小根堆为根节点的值小于两个子节点的值 xff0c 同时根节点
  • TCP流量控制和拥塞控制

    先来了解2个TCP的概念 xff1a MSS xff1a Maximum Segment Size xff0c TCP一次传输发送的最大数据段长度 RTT xff1a Round Trip Time xff0c 往返时延 xff0c 表示从
  • c++static关键字的作用

    c 43 43 static关键字的作用 c c 43 43 共有 1 xff09 xff1a 修饰全局变量时 xff0c 表明一个全局变量只对定义在同一文件中的函数可见 2 xff09 xff1a 修饰局部变量时 xff0c 表明该变量的
  • git合并解决

    远程分支被修改了 xff0c 本地分支落后修改 xff0c 合并 方法一 xff1a 在你自己的分支上 xff0c 如果有本地修改先 git stash git pull git merge origin master 如果本地分支是mas
  • TCP Keepalive

    TCP Keepalive的起源 TCP协议中有长连接和短连接之分 短连接环境下 xff0c 数据交互完毕后 xff0c 主动释放连接 xff1b 长连接的环境下 xff0c 进行一次数据交互后 xff0c 很长一段时间内无数据交互时 xf
  • 【转载】深入浅出讲解FOC算法与SVPWM技术——自制FOC驱动器

    原文链接 xff1a https zhuanlan zhihu com p 147659820 参考文献 xff1a https zhuanlan zhihu com p 364247816 https www zhihu com ques
  • Linux 基本用户和组命令

    Linux 基本用户和组命令 1有关用户的命令 1 新增用户 Useradd 43 用户名 2 查看用户是否存在 id 43 用户名 3 删除用户 sudo userdel 用户名 只会删除用户本身 sudo userdel r 43 用户