首页 > 系统相关 >用户和用户组的删除、配置文件的格式、shell

用户和用户组的删除、配置文件的格式、shell

时间:2024-07-25 20:28:48浏览次数:10  
标签:Shell 登录 配置文件 用户组 用户 sh shell chsh

1.用户的删除:

userdel [选项] 用户名

选项:

  • -r:删除用户的同时,删除用户的家目录和邮件池中的文件。
  • -f:强制删除用户,即使该用户当前已登录。

PS:系统发现与该用户关联的邮件信箱不存在,就会显示“信件池未找到”的错误消息。这个错误消息本身并不影响用户删除的过程。即使出现了这个错误,userdel命令仍然会继续执行,删除用户的账户和相关文件。

可以通过命令 cat /etc/passwd来查看是否删除了某用户。

2.用户组管理:

(1)添加:groupadd group1

通过cat /etc/group查看计算机有哪些组

(2)改名:groupmod -n 新名字 原名字

(3)删除:groupdel groupname

3.ID:所有文件都是有ID的,(文件、用户、组)输入id可以查看当前用户的信息,id后也可以加用户名来查看该用户的uid或gid等信息。

输入ls -i查看文件的id

 4.配置文件etc/passwd:配置操作系统有多少用户的,除了初始用户、创建的用户和root用户以外,剩下的所有用户是系统内置的,有不同的权限,方便进行权限控制,用来运行服务或系统进程,一般无法登录。

格式一般如下:

用户名:密码占位符:用户ID:组ID:用户全名或注释:用户主目录:登录Shell
  • 用户名:这是用户的登录名,用于标识用户。
  • 密码占位符:由于安全原因,真正的密码哈希存储在 /etc/shadow 文件(影子文件)中,这里通常是一个 x 或者星号 *
  • 用户ID (UID)‌:这是用户的唯一标识符,系统通过 UID 来识别不同的用户。
  • 组ID (GID)‌:这是用户主组的唯一标识符。
  • 用户全名或注释:这里通常包含用户的全名或者其他描述性信息。
  • 用户主目录:这是用户登录系统后所在的默认目录。
  • 登录Shell:这是用户登录系统后使用的默认 Shell 程序。

5.shell

        在Linux系统中,Shell是一种命令行解释器,也是用户与操作系统内核之间的交互界面。Shell充当了用户与操作系统之间的桥梁,使得用户能够通过输入命令来控制和操作计算机系统。Shell不仅仅是一个程序,它还是一种脚本语言,允许用户编写脚本来自动化一系列的任务。

分类:

①/bin/bash:

  • Bash是Linux中最常见的shell,是大多数Linux发行版的默认Shell,尤其是作为登录Shell。
  • 它兼容大多数早期的Bourne shell命令,并提供了更多功能,如命令历史记录、命令自动补全等。

②/bin/sh:

  • sh 是最早的Unix Shell之一,由 Stephen Bourne 开发。虽然现代的 sh 往往是指 bash 或者其他兼容 POSIX 的Shell的一个子集,但它仍然被用于需要基础Shell功能和跨平台兼容性的场合。许多系统脚本和初始化脚本都是用 sh 编写的。

  • 特点:sh 的功能相对简单,没有 bash 那么丰富,但它提供了基本的Shell功能,而且由于其简单性,运行速度较快。sh 的语法和行为是 POSIX 标准的一部分,这使其在各种Unix-like系统中具有很好的兼容性,也是新建用户时的默认登陆shell。

③/usr/sbin/nologin:nologin 的目的是安全,它不允许用户登录并执行交互式Shell会话。这在管理不需要人类操作员的系统服务账号时很有用,可以减少潜在的安全风险。

 进入不同shell的用户发现,上面的root用户为bash,而下面为user1,是sh,两者有区别。

6.如何修改shell

①查看所有文件:cat /etc/shells

②修改change shell:

基本语法:

chsh [options] [user]
  • options:可以指定不同的选项来控制chsh的行为。
  • user:指定要更改Shell的用户名。如果不指定用户,则默认为当前登录的用户。

选项:

  • -s, --shell SHELL:指定新的Shell路径。这是chsh命令中最常用的选项,用于指定用户的新Shell。最常用

  • -l, --list:列出系统中可用的Shell。这通常是从/etc/shells文件中读取的Shell列表。

  • -h, --help:显示帮助信息。

  • -V, --version:显示版本信息

chsh -s /bin/bash username

        在Ubuntu中只输入chsh也可以修改shell,但是是触发了系统的交互功能,对于系统管理员或脚本编写者来说,使用带有参数的chsh命令(如chsh -s /bin/bash username)更高效,因为它可以自动化这一过程,不需要任何用户输入,并且更容易集成到脚本或批量处理任务中。 

标签:Shell,登录,配置文件,用户组,用户,sh,shell,chsh
From: https://blog.csdn.net/Johaden/article/details/140671900

相关文章

  • Linux Shell脚本攻略 chapter1------小试牛刀
    1、简介终端提示符username@hostname$---$表示普通用户root@hostname#---#表示超级用户shell脚本通常是以#!起始的文本文件---#!/bin/bash运行shell脚本的方式shscript.sh将脚本作为sh的命令行参数chmoda+xscript.sh和./script.sh增加可执行权限,让脚本能够......
  • shell-awk命令详解(理论+实战)
    一、概述AWK是一种处理文本文件的语言,是一个强大的文本分析工具。它是专门为文本处理设计的编程语言,也是行处理软件,通常用于扫描、过滤、统计汇总工作数据可以来自标准输入也可以是管道或文件。20世纪70年代诞生于贝尔实验室,现在centos7用的是gawk之所以......
  • 【攻防技术系列+WebShell】检测方式
    一、简介攻击者在入侵企业网站时,通常要通过各种方式获取webshell从而获得企业网站的控制权,然后方便进行之后的入侵行为。常见攻击方式有:直接上传获取webshell、SQL注入、远程文件包含(RFI)、FTP,甚至使用跨站点脚本(XSS)作为攻击的一部分,甚至一些比较老旧的方法利用后台数据库备......
  • C#读取指定json配置文件
    在C#开发中,有时候我们需要从JSON文件中读取配置或数据。本文将介绍一个简单的方法,使用Newtonsoft.Json库来读取指定的JSON文件并进行反序列化操作。读取json配置文件的源码取自SqlSugar作者的ReZero开源项目:https://gitee.com/DotNetNext/ReZero1.准备工作首先,我们需要使用NuGe......
  • Linux入门---(三)Shell编程
    1.脚本格式:#!/bin/bash开头2.脚本执行方式采用bash或sh+脚本的相对路径或绝对路径采用输入脚本的绝对路径或相对路径执行脚本,如./hello.sh在脚本的路径前加上“.”或source(父shell)3.变量系统预定义变量:$HOME,$PWD,$SHELL,$USER等自定义变量:变量名=变量值,如my_var=hello......
  • shell 中设置/取消环境变量
    shell中设置/取消环境变量查看:env设置:export变量名=变量值删除:unset变量名https://blog.csdn.net/mayue_web/article/details/97023615https://www.cnblogs.com/guanbin-529/p/12977662.htmlhttps://cloud.tencent.com/developer/article/1630467https://developer.ali......
  • 在 Python Notebook 中调用 `subprocess` 具有与 `!` shell 不同的 `$PATH`
    我正在IPython笔记本中交互地开发一个包装类。这个包装类调用用java编写的命令行程序,因此我需要访问用于编译该程序的相同版本的java运行时。但是,我注意到在笔记本中使用方便的!运算符,生成的shell实例与在我的终端中使用zsh时不同。这得到了确......
  • SpringBoot 配置文件详解:properties 和 yml
    目录一、配置文件的作用二、配置文件的格式三、properties配置文件说明 3.1 properties基本语法3.2读取配置文件四、yml配置文件说明4.1yml基本语法4.2yml读取文件4.3yml使用进阶4.3.1配置对象4.3.2配置集合4.3.3配置Map一、配置文件的作用配置文......
  • 【shell】变量运算
    变量与数字的运算算术运算符指的是可以在程序中实现加、减、乘、除等数学运算的运算符。Shell中常用的数学运算符如下所示。—+:对两个变量做加法。—-:对两个变量做减法。—*:对两个变量做乘法。—/:对两个变量做除法。—**:对两个变量做幂运算。—%:取模运算,第一个变......
  • k8s配置文件之deployment配置
    deployment使用并管理rs,算是更高一层的概念,这是现在比较常用的部署app的方式。deployment为pod和rs提供声明式更新(而非命令式)。支持滚动更新(rollingUpdate),支持回滚操作资源配置主要分五类来定义内容 一:apiVersion【string】 APIVersion定义对象表示的版本,此处为:apps/......