百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

linux学习----创建、删除用户(linux删除已经创建的用户组)

nanshan 2024-11-04 13:06 17 浏览 0 评论

场景:我在学习git 克隆的时候,想自己实操一下,发现本身的机器ssh的配置已经很好了。不想再删了,然后就想新建一个用户

我们可以了解到的命令:useradd 、userdel、adduser、deluser、usermod、vipw、vipw -s、vigr
我们可以了解到的文件:/etc/default/useradd、 /etc/login.defs、 /etc/passwd 、/etc/shadow、/etc/adduser.conf、/etc/deluser.conf、/etc/passwd、/etc/shadow、/etc/skel

创建用户

sudo useradd test 
cd /home/ 
ll

怎么没有我刚开始创建的用户目录呀。先不管了,切换到test用户上!!

sudo su - test

怎么跟我预想的不一样呀。查找了一下useradd命令的帮助吧

man useradd

我们简单列出几个比较常用的吧,详细的可以自己查看

-b, --base-dir BASE_DIR
 如果没有使用 -d HOME_DIR,则使用默认的基目录。BASE_DIR 加上账户名就是主目录。选项没有指定,useradd 将使用 /etc/default/useradd 中的 HOME 变量,或者默认的 /home。
-d, --home-dir HOME_DIR 
 将创建新用户,并使用 HOME_DIR 作为用户登陆目录的值。默认值是将 LOGIN 名附加到 BASE_DIR 后面,并使用这作为登陆目录。目录不一定必须已经存在 HOME_DIR,但是会在需要时创建
 -m, --create-home
 如果不存在,则创建用户主目录。骨架目录中的文件和目录(可以使用 -k 选项指定),将会复制到主目录。
 -M, --no-create-home
 不创建用户主目录,即使系统在 /etc/login.defs 中的设置 (CREATE_HOME) 为 yes
-s, --shell SHELL
 用户的登录 shell 名。默认为留空,让系统根据 /etc/default/useradd 中的 SHELL 变量选择默认的登录 shell,默认为空字符串。 
-g, --gid GROUP 
 用户初始登陆组的组名或号码。组名必须已经存在。组号码必须指代已经存在的组。

这其中涉及到两个文件,一个是/etc/default/useradd和/etc/login.defs

/etc/default/useradd 存放了一些默认值
 /etc/login.defs 存放了创建用户的一些默认配置

看到这里,我们能看出来。我们创建用户用的是无参数的。导致我们创建的用户有很多配置没有。那我们删除用户test,重新加参数创建

userdel test // 删除用户,后面会说到
useradd -m test
cd /home/
ll
sudo su - test

这样创建出来的用户是在/home/有用户目录

我们可以看到,shell命令行,跟我们原来的不一样。这是因为,默认创建的用户使用的是登录shell是/bin/sh,而我们平常用的是/bin/bash(默认值在/etc/default/useradd下)

这样我们就要更改一下test用户的登录shell版本,

sudo usermod -s '/bin/bash' test

这样一来,跟我们原来的一样了。完美~~这时我们会发现登录用户test还没有设置密码,我们再执行下面命令。输入密码,可以给test用户设置密码

exit // 先退出test用户
sudo passwd test
su - test // sudo su - test 好像怎么样都不需要密码
关于创建用户目录,理解一下-m、-b、 -d三个参数。-b指定基目录 -b指定用户命令,-m其实是一个复制命令,会将/etc/skel得文件骨架结构,复制到你创建用户里面(文件不存在,就会创建)。一切都是默认值的话,用户的目录就是 /home/test/

至此,我们一个用户就创建完成了。

删除用户

sudo userdel test // 记住要登出,要不然删除会报错

用户就会被删除,但是我们可以发现,在home底下,对应的test文件没有删除,我们执行删除文件夹的命令就可以

sudo rm -rf test/

其实呢,我们可以在删除用户的时候,添加一个 `-r`的参数,可以直接在删除用户的时候,把用户目录也一起删除了

删除命令的详细参数,可以用 man userdel来查看。

其余命令

在这学习中,我还发现了一个命令 adduser和deluser,其实这两个命令跟useradd和deluser命令都是创建用户的命令。

adduser他是一个perl脚本,利用交互式的方式,来创建用户,适合初学者。他默认登录shell就是'/bin/bash',能创建用户目录,还能直接设置密码。但是最终还是用的useradd命令。deluser也是一样的道理。有兴趣的可以取看一下,很简单的。

注意:系统不一样,命令可能不太一样,我的是ubuntu 18的,但是我看他们说,centos的adduser和useradd其实就是一个命令,通过软链接得出的adduser

centos

ubuntu

总结:

useradd/adduser:添加用户
userdel/deluser:删除用户
usermod:修改用户信息
/etc/default/useradd:用useradd创建用户的一些配置的默认值
/etc/login.defs: 用useradd创建用户的一些默认配置
/etc/adduser.conf: 用adduser创建用户的默认配置
/etc/deluser.conf: 用deluser删除用户的默认配置
/etc/passwd:存放所有用户的信息(所有用户可见)
/etc/shadow:存放用户的加密密码信息(仅管理员可见)
/etc/skel :新建用户的根目录的文件结构 
vipw命令:可以修改/etc/passwd 
vipw -s 命令:可以修改/etc/shadow

vipw 也是一中vi,不过仅是修改用户信息文件的,打开就是/etc/passwd,它会给文件上锁,如果已经被打开了,你就不可再打开了。除此之外,还有vipg,修改用户组文件

码农不易,多多支持^__^

相关推荐

Linux 的磁盘系统,和你了解的Windows差别很大

我的C盘去哪了?一个系统,如果没有存储,那么也就不能称之为系统。存储性是一个完整系统的重要组成部分。例如AWS最开始的服务就是S3(用来存储数据的云服务),足以见得存储对于一个应用平台是多么的重要。...

一文读懂 Linux 硬盘挂载:从问题到解决方案

各位互联网大厂的后端开发伙伴们!在咱们日常工作中,操作Linux系统是常有的事儿吧。你们有没有遇到过这样的场景:新添加了一块硬盘,满心欢喜准备用来存储重要数据或者部署新的应用服务,却突然发现不知道...

硬盘分区(硬盘分区格式)

 磁盘(硬盘)分区,可以分C、D、E等分区,大家可能都会用,会根据自已的需要确定所需的空间,但分区是如何工作的呢,内容如下。Windows中有3类:MBR分区:MasterBootRecord,也...

parted命令工具分区介绍(particle命令)

linux系统磁盘分区通常可以使用fdisk和parted命令,当分区大小小于2TB的时候,两种皆可以使用,当分区大于2TB的话,就需要用parted分区。以下介绍parted命令相关使用,以sdb为...

Linux 服务器上查看磁盘类型的方法

方法1:使用lsblk命令lsblk输出说明:TYPE列显示设备类型,如disk(物理磁盘)、part(分区)、rom(只读存储)等。NAME列显示设备名称(如sda、nvme0n1)。TR...

Linux分区命令fdisk和parted使用介绍

摘要:一般情况下,Linux分区都是选择fdisk工具,要求硬盘格式为MBR格式,能支持的最大分区空间为2T。但是目前在实际生产环境中使用的磁盘空间越来越大,呈TB级别增长;而常用的fdisk这个工具...

linux 分区原理与名词解释(linux操作系统中的分区类型)

分区的意义将磁盘分成几份,每份挂在到文件系统的那个目录在linux里的文件系统Ext2:早期的格式,不支持日志功能Ext3:ext2改良版,增加了日志功能,是最基本且最常用的使用格式了Ext4:针对e...

linux 分区合并(linux合理分区)

查看虚拟机当前磁盘挂载情况fdisk-l选择磁盘fdisk/dev/sda查看磁盘分区情况p重新选择分区n选择主分区p保存w创建物理卷pvcreate/dev/sda3查看物理卷信息pvdi...

如何在 Linux 系统中永久禁用交换分区 ?

Linux操作系统中的交换分区或交换文件充当硬盘上的临时存储区域,当物理内存(RAM)满时,系统使用该存储区域。它用于交换较少使用的内存页,这样系统就不会因为运行应用程序而耗尽物理内存。随着技术的发...

Linux 如何知道硬盘已用多少空间、未用多少空间

刚出社会时,去了一家公司上班,老板为了省钱,买的服务器是低配的,硬盘大小只有40G,有一次网站突然不能访问了,排查半天才知道原来服务器的硬盘空间已用完,已无可用空间。第一步是查看硬盘的使用情况,第二步...

用Linux系统管理磁盘空间 就该这么来

要想充分有效的管理使用Linux系统中的存储空间,用户必须要做的就是双管齐下,一边扩充空间一边限制空间。不得不说的就是很多时候磁盘空间就像水资源,需节制水流。说到要如何实现限制空间就离不开使用LVM技...

Windows 11 磁盘怎么分区?(windows11磁盘怎么分区)

Windows11磁盘分区技术解析与操作指南:构建高效存储体系一、磁盘分区的技术本质与系统价值磁盘分区作为存储系统的基础架构,通过逻辑划分实现数据隔离与管理优化。Windows11采用NTF...

linux上创建多个文件分区,格式化为 ext2、ext3、ext4、XFS 文件

以下是在Linux系统上创建多个20GB文件分区并格式化为不同文件系统的分步指南:步骤1:创建基础文件(4个20GB文件)bash#创建4个20GB稀疏文件(实际占用空间随写入量增长)ddif=/...

救命的U盘低格哪家最强?(低格优盘)

周二时有位童鞋留言说U盘之前做过引导盘,现在格式化不了,用各种工具都不行,而且因为U盘厂商的关系,查不到U盘主控,无法量产恢复,特来求助。小编花了点时间特意弄坏一个U盘分区,终于试出方法了,特来分享一...

Linux 查看硬件磁盘存储大小和磁盘阵列(RAID)的组合方式

一、查看硬件磁盘存储大小查看所有磁盘信息:#lsblk该命令会列出所有磁盘(如/dev/sda、/dev/nvme0n1)及其分区和挂载点。查看磁盘总容量:fdisk-l#或parted-...

取消回复欢迎 发表评论: