linux系统如何修改用户名_两种方案对比报告

linux系统如何修改用户名_两种方案对比报告在安装系统的时候,经常会无意识的随便起个用户名,后面如果发现该用户名不好或因为环境需要须重起个用户名,经过查找资料和亲自测试发现有两种方案可选:手动修改和使用usermod等命令自动修改。方案一:手动修改各个关联用户文件以root身份登录系统文件的修改需要root权限,这里不管是原root用户登录还是普通用户切换到root下都可以,只要有修改权限就行。修改/etc/passwd这个文件中的用户名部

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

在安装系统的时候,经常会无意识的随便起个用户名,后面如果发现该用户名不好或因为环境需要须重起个用户名,经过查找资料和亲自测试发现有两种方案可选:手动修改和使用usermod等命令自动修改。

方案一:手动修改各个关联用户文件

  1. 以root身份登录
    系统文件的修改需要root权限,这里不管是原root用户登录还是普通用户切换到root下都可以,只要有修改权限就行。

  2. 修改/etc/passwd这个文件中的用户名部分、用户组部分和主目录部分
    如我本来的用户名为hadoop,现在想修改为seed,则要修改下面部分:

    linux系统如何修改用户名_两种方案对比报告

    修改/etc/passwd文件

    注意用户组部分为1000:1000中的第二个1000(组标识号),这里没有修改,因为不需要新增加组而只是把原来的组名改掉即可(组标识号不变),见3。

  3. 修改/etc/group这个文件中的组名部分(组标识号不变),同时也将/etc/gshadow改写一下
    etc/group文件修改

    linux系统如何修改用户名_两种方案对比报告

    修改/etc/group文件

    /etc/gshadow文件修改

    linux系统如何修改用户名_两种方案对比报告

    修改/etc/gshadow文件

  4. 修改/etc/shadow文件中的用户名部分,这个不改将无法登录系统,这步非常重要。

    linux系统如何修改用户名_两种方案对比报告

    修改/etc/shadow文件

  5. 修改/home/olduser为/home/newuser,同时注意一定要修改其所属的用户和用户组,这个很关键。

    linux系统如何修改用户名_两种方案对比报告

    注意:这步使用命令mv hadoop seed修改后,其下所有的文件所属用户和用户组都自动修改好,不需要自己手动用chown -R修改。

    上面这5个步骤缺一不可,操作失误很可能导致无法登入系统,认真完成上面的5个步骤重启系统后即可修改成功。

  6. 修改sudoers文件
    经过上述步骤后,一般人都认为大功告成了,而网上资料也最多只有上面几个步骤,其实还有一点很重要,以后你在使用sudo时会提示”xxx is not in the sudoers file. This incident will be reported.其中xxx是你的用户名,也就是你的用户名没有权限使用sudo,这主要是因为sudoers文件里记录的还是原来的用户名,需要更新过来,步骤如下:

    (1)进入超级用户模式。也就是输入”su -“
    注意这里有”-” ,这和su是不同的,在用命令”su”的时候只是切换到root,但没有把root的环境变量传过去,还是当前用户的环境变量,用”su -”命令将环境变量也一起带过去,就象和root登录一样。

    (2)添加文件的写权限。

    chmod u+w /etc/sudoers

    (3)编辑/etc/sudoers文件。

    vi /etc/sudoers

    进入编辑模式,找到这一 行:
    root ALL=(ALL) ALL
    在它的下面添加:
    hadoop ALL=(ALL) ALL
    这里的hadoop是你的新用户名,然后保存退出。

    (4)撤销文件的写权限。

    chmod u-w /etc/sudoers

方案二:使用命令usermod修改

首先介绍下usermod命令的基本用法:

usermod [-LU][-c <备注>][-d <登入目录>[-m]][-e <有效期限>]
[-f <缓冲天数>][-g <群组>][-G <群组>][-l <帐号名称>][-s <shell>]
[-u <uid>[-o]] [用户帐号]

描述:
usermod命令会参照你命令列上指定的部分修改系统帐号档。下列为usermod可选用的参数。
-c <备注>
更新/etc/passwd中的注解栏。
-d <登入目录>
更新使用者新的登入目录(用户目录)。如果给定-m选项,使用者旧目录会搬到新的目录去,如旧目录不存在则建个新的。
-e <有效期限>
加上使用者帐号停止日期。日期格式为MM/DD/YY.
-f <缓冲天数>
帐号过期几日后永久停权。当值为0时帐号则立刻被停权。而当值为-1时则关闭此功能。预设值为-1。
-g <群组>
更新使用者新的起始登入群组。群组名须已存在。群组ID必须参照既有的的群组。群组ID预设值为1。
-G <群组>
定义使用者为一堆groups的成员。群组名同-g选项的限制。如果使用者现在的群组不再此列,则将使用者由该群组中移除。
-l <帐号名称>
变更使用者login时的名称为login_name,即修改用户登录名。其于不变。特别是,使用者目录名应该也会跟着更动成新的登入名。
-s <shell>
指定新登入shell。如此栏留白,系统将选用系统预设shell。
-u <uid>
使用者ID值。必须为唯一的ID值,除非用-o选项。数字不可为负值。预设为最小不得小于99而逐次增加。0~99传统上是保留给系统帐号使用。使用者目录树下所有的档案目录其userID会自动改变。放在使用者目录外的档案则要自行手动更动。

警告

usermod不允许你改变正在线上的使用者帐号名称。当usermod用来改变userID,必须确认这名user没在电脑上执行任何程序,否则会报“usermod: user xxx is currently logged in”错误。因此必须root用户登录或者其他用户登录然后切换到root身份,而不能在当前用户下切换至root进行修改。

修改用户名步骤如下:以原来的用户名seed修改为hadoop用户名为例:

  1. 以root身份登录

  2. usermod -l hadoop seed
    该命令相当于做了两件事:
    (1)将/etc/passwd下的用户名栏从seed修改为hadoop,其他部分不变

    linux系统如何修改用户名_两种方案对比报告

    (2)将/etc/shadow下的用户名栏从seed修改为hadoop,其他部分不变

    linux系统如何修改用户名_两种方案对比报告

  3. usermod -c hadoop hadoop
    相当于将/etc/passwd下的注解栏修改为hadoop,其他部分不变

    linux系统如何修改用户名_两种方案对比报告

  4. groupmod -n hadoop seed
    将原来的用户组seed修改为hadoop,只修改组名,组标识号不变,相当于修改了文件/etc/group和/etc/gshadow

  5. usermod -md /home/hadoop hadoop
    相当于做了两件事:
    (1)将/etc/passwd下的登入目录栏修改为/home/hadoop,其他部分不变

    linux系统如何修改用户名_两种方案对比报告

    (2)将原来的用户目录/home/seed修改为新的用户目录/home/hadoop

    linux系统如何修改用户名_两种方案对比报告

这些步骤可以说与方案一的一一对应,缺一不可。方案二简单一点,但方案一更能让我们理解这背后的运作机制。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/194097.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 关于Raid0,Raid1,Raid5,Raid10的总结

    关于Raid0,Raid1,Raid5,Raid10的总结RAID0定义:RAID0又称为Stripe或Striping,它代表了所有RAID级别中最高的存储性能。RAID0提高存储性能的原理是把连续的数据分散到多个磁盘上存取,这样,系统有数据请求就

    2022年7月1日
    19
  • MySQL运行SQL文件时(全面,改成time):check the manual that corresponds to your MySQL server version for the righ[通俗易懂]

    MySQL运行SQL文件时(全面,改成time):check the manual that corresponds to your MySQL server version for the righ[通俗易懂]参考:Mysql错误:checkthemanualthatcorrespondstoyourMySQLserverversionfortherightsyntax【加`符号、修改有冲突的字段名】checkthemanualthatcorrespondstoyourMySQLserverversionfortherightsyntax错…

    2022年5月7日
    61
  • Altium Designer 入门教程

    Altium Designer 入门教程注:使用了引用语法但不是引用:以下内容有部分来源于网络、博客等等,结尾会给出参考链接。(๑•ั็ω•็ั๑)希望大家可以自觉的在转载、转发时著名出处。(๑•.•๑)预防侵权,支持原创,支持开源,从你我做起。= ̄ω ̄=放在开始如果您喜欢我的文章,拜托点赞+收藏+关注,博主会根据大家喜好来推出相关系列文章~更多精彩内容也可以访问我的博客Aelous-BLog/***Copyright(C),2019-2020,xudongpo.cn*Author:许东坡*Email.

    2022年7月13日
    22
  • php工厂模式详解

    php工厂模式详解工厂类就是一个专门用来创建其它对象的类,工厂类在多态性编程实践中是非常重要的。它允许动态替换类,修改配置,会使应用程序更加灵活。掌握工厂模式对Web开发是必不可少的。工厂模式通常用来返回类似接口的不同的类,工厂的一种常见用法就是创建多态的提供者。通常工厂模式有一个关键的构造,即一般被命名为factory的静态方法。这个静态方法可以接受任意数量的参数,并且必须返回一个对象。P

    2022年7月25日
    7
  • java学的什么软件_java初学者用什么软件[通俗易懂]

    java学的什么软件_java初学者用什么软件[通俗易懂]Java初学者可以使用MyEclipse或eclipse以及记事本。随着学习的深入,相信你会逐渐明白,你会从中找到最合适的开发工具。java初学者使用什么软件Java初学者可以使用MyEclipse、eclipse或记事本。1对于初学者,不建议使用ide开发工具,如eclipse、MyEclipse、intellijidea和netbean。但是,您也可以使用这些。原因不推荐,不方便您了解java…

    2022年7月8日
    22
  • Python读写LMDB文件「建议收藏」

    Python读写LMDB文件「建议收藏」LMDB的全称是LightningMemory-MappedDatabase,它的文件结构简单,包含一个数据文件和一个锁文件。LMDB文件可以同时由多个进程打开,具有极高的数据存取速度,访问简单,不需要运行单独的数据库管理进程,只要在访问数据的代码里引用LMDB库,访问时给文件路径即可。让系统访问大量小文件的开销很大,而LMDB使用内存映射的方式访问文件,使得文件内寻址的开销非常小,使…

    2022年9月29日
    0

发表回复

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

关注全栈程序员社区公众号