ubuntu删除用户命令

场景:我在学习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

创建用户

ubuntu删除用户命令

sudo useradd test cd /home/ ll
ubuntu删除用户命令

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

sudo su - test
ubuntu删除用户命令

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

man useradd
ubuntu删除用户命令

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

-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/有用户目录

ubuntu删除用户命令

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

ubuntu删除用户命令

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

sudo usermod -s '/bin/bash' test
ubuntu删除用户命令

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

exit // 先退出test用户
sudo passwd test
su - test // sudo su - test 好像怎么样都不需要密码
ubuntu删除用户命令

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

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

删除用户

ubuntu删除用户命令

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

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

sudo rm -rf test/
ubuntu删除用户命令

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

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

其余命令

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

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

ubuntu删除用户命令

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

centos

ubuntu删除用户命令

ubuntu

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,修改用户组文件

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至2705686032@qq.com 举报,一经查实,本站将立刻删除。原文转载: 原文出处:

(0)
尊云-小张的头像尊云-小张
上一篇 2024 年 5 月 4 日 14:01
下一篇 2024 年 5 月 4 日 14:07

相关推荐

  • 跟踪路由中间有些地址不显示(跟踪ip路由的命令)

    概述 traceroute我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路径。当然每次数据包由某一同样的出发点(source)到达某一同样的目的地(destination)走的路径可能会不一样,但基本上来说大部分时候所走的路由是相同的。 安装traceroute yum -y install traceroute Traceroute的工作原理T…

    6小时前
    200
  • centos新建用户禁止访问某些文件夹

    说明 Linux系统下经常遇到文件或者文件夹的权限问题,或者是因为文件夹所属的用户问题而没有访问的权限。根据我自己遇到的情况,对这类问题做一个小结。 在命令行使用命令ls -l ,可以查看文件或者文件的权限: 其中“-rw-r–r–”表示权限,一共有十个字符。 第一个字符,如果是“-”则表示是文件,如果是“d”则表示是目录(direc…

    2天前
    100
  • nginx版本升级注意(nginx最新稳定版本)

    由于一直有第三方在扫描网站,并且扫描到了大量的NGINX漏洞,并且在Nginx官网也提供了各种补丁,各种升级版本,由于打补丁的方式太过于麻烦了,所以很多人选择了直接升级到指定的版本来修复漏洞。 但是线上环境一定要做到无感升级,不影响正常运行的业务,下面我们就来看看,在线上环境如何实现Nginx的无感升级。 如何查看Nginx版本信息? 可以通过如下的命令来查…

    2024 年 4 月 21 日
    200
  • nospaceleftondevice要怎么解决

    在服务器上,遇到了上传文件一直不成功,各种调试,均没有发现问题。最后看了下系统日志,发现磁盘报No space left on device(即:磁盘空间不足啦)。用df -h检查磁盘,可明明容量才占了60%多呀。 实际上,是磁盘的inode数量被消耗尽了。意思就是这个磁盘存的文件太多了(每个磁盘有存文件数量的限制),但容量达不到磁盘最大的容量。再用df -…

    2024 年 5 月 4 日
    000
  • tracert命令结果详解(tracert和ping区别)

    我们通常接触到的ping是ICMPping,与tracert同属于ICMP协议,ICMP也叫作Internet控制报文协议,基于IP协议的支持,虽然在数据封装上是在IP包头的内部,但是从实际用途来说ICMP是工作于OSI中的一个三层协议。 那么我们为什么要用到ICMP协议呢?它的诞生是为了什么呢? 我们数据在网络中传输中,会封装成IP数据包,而IP协议的特点…

    2024 年 5 月 11 日
    000

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-900-3935

在线咨询: QQ交谈

邮件:cong@zun.com

工作时间:365天无休服务 24小时在线

添加微信