更改linux用户名的两种方式-推荐方式二-高逼格方式三

方式一:从recovery模式进入更改用户名,解决只有一个用户但我就爱用命令改的问题

前提知识:1.了解/etc/passed文件所描述的用户信息含义,比如:代表分隔信息;/home/ycp代表用户目录

     2.了解usermod命令的使用,比如-c代表更改用户描述信息(登录系统时显示的名称即描述信息) -l 表示用户名(可以和描述信息不一致)-d表示用户目录等等,使用man usermod可详细查询使用方法

第一步:进入recovery模式

    1.重启长按shift进入grub菜单,要提前一点按shift

  2.上下键选中图recovery mode,不要按enter,按e,表示编辑启动参数,出现如下图

   

    3.左右键定位至ro recovery nomodeser改为rw single init=/bin/bash如下所示

        

    4.按F10进入root单用户模式如下,在此模式下方可更改文件和文件夹,即可自由更改用户名了。上图ro表示read-only, rw表示可读可写

           

    5.在上图敲入以下命令

       a进入/home更改用户文件夹名称:mv ycp topeet

       b.更改用户名:usermod -l ycp topeet

       c.更改用户描述信息:usermod -c ycp-pc ycp  #注意,user的名字在上一个命令中已经由topeet改为了ycp,ycp-pc为登录时的名字

       d.更改用户目录:usermod -d /home/ycp ycp

     直接重启即可了

    6.rw single init=/bin/bash不用改回ro recovery nomodeser,系统自己会恢复为ro recovery nomodeser

    7.过程中出现的问题

     7.1直接不在recovery模式,即正常界面su - 进入root使用命令usermod -l ycp topeet更改会提示topeet用户已经logged in,即不能更改正在登陆的用户。

      因为我的系统除了系统本身的一些伪用户(UID为:1~499,也称为系统保留账号)和root用户外只有一个用户topeet,所以登陆时用的是topeet,造成不能更改,如果有两个用户,用另外一个用户登陆然后可以注销topeet再改其用户名。

      只有一个用户情况下,在root下使用pkill -t tty7注销topeet会回到登陆界面,造成改不了,这就是方式一能解决的问题。w命令可查看登陆的有哪些用户

     7.2改rw single init=/bin/bash时写成了rw single init=/bash/bin,会造成按F10进不了bash,重启正确填写就行了

       7.3 改完用户名就重启,导致正确的密码也进不了,是因为登陆名称还没改,进入再改usermod -c ycp-pc ycp就OK

     7.4改完登陆ycp-pc如图一片漆黑,以为改错了哪里,其实是登录选项的问题,如下:虚惊一场

      是因为选择了recovery mode,选回ubuntu就好了。

      这里的recovery mode和前面的是有区别,还是不能更改用户名如下,因为是以当前用户登陆的,仔细看root的显示状态也是不一样的。

方式二:参考 http://www.jianshu.com/p/11cd3564855c 直接修改以下文件 /方法简便 其实方式一的动作结果就是修改了文件/etc/passwd和/etc/shadow,但没有修改/etc/group、/etc/gshadow,但仍然有效;因为用户ycp的所属GID(组ID)还是1000,没改变,还是属于topeet组,组的名字无关大雅,也可以更改组名。区别就是命令usermod会同时修改/etc/passwd和/etc/shadow,而直接修改文件不会。

    /etc/passwd

    /etc/shadow

    /etc/group

    /etc/gshadow

    /etc/sudoers #不更改似乎没有影响,用户模式下依然可以用sudo不提示错误,暂时没有出现文中提到的错误。

其实之前就知道这些文件,但没 改过,以为不可修改,因为密码段显示x是加密的。命令passwd ycp可以修改密码。不过也好,了解了进入recovery的方法,或许以后别有他用。走弯路不一定是坏事,而是又多认了一条路到目的地。

方式三:从设置进入更改,太低端,图形化界面,而且只能修改用户名,密码,不能修改所属组GID,用户目录等等,远远不能显示搞linux敲命令的高逼格。图形化界面的结果也是修改了文件。

    

仅以此记录学习点滴-2017.9.29

    

时间: 2024-11-05 23:41:46

更改linux用户名的两种方式-推荐方式二-高逼格方式三的相关文章

更改Linux时区的两种方法

在Azure上的Linux虚拟机启动后默认是UTC的时区.对很多应用要记录时间戳非常的不方便. 本文将介绍两种更改Linux时间戳的方法,供大家参考. 1.修改/etc/localtime文件 控制系统时区的文件是/etc/localtime.只要把这个文件复制成相应时区的文件,系统时区就改成相应的时间了. 时区信息在:/usr/share/zoneinfo里.比如需要把本机 时区改成Shanghai的时间: cp /usr/share/zoneinfo/Asia/Shanghai /etc/l

Linux驱动的两种加载方式过程分析

一.概念简述 在Linux下可以通过两种方式加载驱动程序:静态加载和动态加载. 静态加载就是把驱动程序直接编译进内核,系统启动后可以直接调用.静态加载的缺点是调试起来比较麻烦,每次修改一个地方都要重新编译和下载内核,效率较低.若采用静态加载的驱动较多,会导致内核容量很大,浪费存储空间. 动态加载利用了Linux的module特性,可以在系统启动后用insmod命令添加模块(.ko),在不需要的时候用rmmod命令卸载模块,采用这种动态加载的方式便于驱动程序的调试,同时可以针对产品的功能需求,进行

Linux下面的两种文件锁

文件锁是一种文件读写机制,在任何特定的时间只允许一个进程访问一个文件.利用这种机制能够使读写单个文件的过程变得更安全. 在这篇文章中,我们将探讨Linux中不同类型的文件锁,并通过示例程序来理解它们之间的不同之处. 我们将采取以下的例子来解释为什么需要使用文件锁. 1.  进程"A"打开和读取一个文件,此文件包含账户相关的一些信息. 2.  进程"B"也打开了这个文件,并读取了文件中的信息. 3.  现在,进程"A"更改了其副本中的一条余额记录,

Linux下的两种服务:RPM包默认安装的服务和源码包安装的服务

有些软件安装到电脑上后就会有一个或多个服务出现在系统服务管理里面,比如Apache,VMware软件等就会出现在计算机服务里面,可以随系统的启动而启动,当然也可以设置不启动,等要用了的时候再去启动,(可以在运行里面输入services.msc直接打开服务列表),但是有些软件安装到电脑后不会有什么服务生成,比如我们的聊天工具QQ. Linux下有两种服务,一种是RPM包默认安装的服务,一种是源码包安装的服务. RPM默认安装的服务在/etc/rc.d/init.d/文件下,执行service sm

Android两种为ViewPager+Fragment添加Tab的方式

在Android开发中ViewPager的使用是非常广泛的,而它不仅仅能够实现简单的开始引导页,还可以结合Fragment并添加Tab作为选项卡或为显示大批量页面实现强大的顺畅滑动 下面介绍两种为ViewPager+Fragment添加Tab的方式: 第一种: 在MainActivity布局中定义一个ViewPager 在MainActivity中声明ViewPager并实现它的Adapter继承自FragmentPagerAdapter 首先需要通过重写有参的构造方法来获取FragmentMa

Linux中的两种link方式

Linux系统中包括两种链接方式:硬链接(hard link)和符号链接(symbolic link),其中符合链接就是所谓的软链接(soft link),那么两者之间到底有什么区别呢? inode 在Linux系统中,内核为每一个新创建的文件分配一个inode,每个文件都有一个惟一的inode,这里将inode简单理解成一个指针,它永远指向本文件的具体存储位置同时,文件属性保存在inode里,比如owner等.在访问文件时,inode被复制到内存,从而实现文件的快速访问.系统是通过inode来

Linux共享库两种加载方式简述

动态库技术通常能减少程序的大小,节省空间,提高效率,具有很高的灵活性,对于升级软件版本也更加容易.与静态库不同,动态库里面的函数不是执行程序本身 的一部分,而是在程序执行时按需载入,其执行代码可以同时在多个程序中共享.由于在编译过程中无法知道动态库函数的地址,所以需要在运行期间查找,这对程 序的性能会有影响. 共享库 对于共享库来讲,它只包括2个段:只读的代码段 和可修改的数据段.堆和栈段,只有进程才有.如果你在共享库的函数里,分配了一块内存,这段内存将被算在调用该函数的进程的堆中.代码段由于其

Linux安装jdk(两种方式)

最近在研究大数据方面的东西,业务场景是从设备采集数据经过处理然后存放DB. 建设上面的环境第一步肯定是安装jdk,所以和大家一起学一下基本知识centos7.5安装jdk1.8. 安装jdk有两种方法:手动安装 yum安装. yum安装如下: 1.查询要安装jdk的版本: 命令:yum -y list java* 2.安装jdk1.8 命令:yum install -y java-1.8.0-openjdk.x86_64 3.查询jdk版本 命令:java -version 这样就安装成功了.默

Linux中的两种守护进程stand alone和xinetd

--http://www.cnblogs.com/itech/archive/2010/12/27/1914846.html#top 一般使用stand alone /etc/init.d/ 非常少用xinetd /etc/xinetd.d/ Linux守护进程的运行方式 1.独立运行(stand-alone)的守护进程 独立运行的守护进程由init脚本负责管理,所有独立运行的守护进程的脚本在/etc/rc.d/init.d/目录下.系统服务都是独立运行的守护进程,包括syslogd和cron等