欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入 在安装系统的时候填写的用户名可能没怎么考虑,如果后来觉得这个用户名不怎么好,想在不影响任何操作的情况仅仅修改这个用户名,可以吗?答案当然是肯定的。 在这里我就不细说原理了,直接给出具体的
欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入
在安装系统的时候填写的用户名可能没怎么考虑,如果后来觉得这个用户名不怎么好,想在不影响任何操作的情况仅仅修改这个用户名,可以吗?答案当然是肯定的。
在这里我就不细说原理了,直接给出具体的操作方法如下:1、建议使用single模式(如ubuntu中的RecoveryMode以root用户登录系统。
当然这个也不是必须的,如果你有两个或者两个以上的用户,并且其中不需要的更改的那个具有获得root权限的资格即可。是不是说的有点乱了?呵 呵因为我当时的情况是要修改两个用户名,两者都可获得root权限,可交替操作。但怎么说,也不如直接以root身份等来的方便。
2、修改/etc/passwd这个文件中的用户名部分、用户组部分、主目录部分;3、修改/etc/group这个文件中的用户名部分、用户组部分;同时也将/etc/gshadow改写一下;4、修改/etc/shadow文件中的用户名部分,这个不改将无法登录系统;5、修改/home/olduser为/home/newuser,同时注意一定要修改其所属的用户和用户组,chown时加上个-R,这个很关键;这5个步骤缺一不可,操作失误很可能导致无法登入系统,认真完成上面的5个步骤即可修改成功。
备注:上面所述的都是通过手动修改的方法,如果想一下子修改掉可以试试usermod-l命令,呵呵!~~ usermod用法修改使用者帐号名称usermod-修改使用者帐号语法usermod[-ccomment][-dhome_dir[-m]][-eexpire_date][-finactive_time][-ginitial_group][-Ggroup[,……]][-llogin_name][-sshell][-uuid[-o]]login描述usermod命令会参照你命令列上指定的部份修改系统帐号档。下列为usermod可选用的参数。
-ccomment更新使用者帐号password档中的注解栏,一般是使用chfn(1)来修改。
-dhome_dir更新使用者新的登入目录。如果给定-m选项,使用者旧目录会搬到新的目录去,如旧目录不存在则建个新的。
-eexpire_date加上使用者帐号停止日期。日期格式为MM/DD/YY. -finactive_days帐号过期几日后永久停权。当值为0时帐号则立刻被停权。而当值为-1时则关闭此功能。预设值为-1. -ginitial_group更新使用者新的起始登入群组。群组名须已存在。群组ID必须参照既有的的群组。群组ID预设值为1. -Ggroup,[……]定义使用者为一堆groups的成员。每个群组使用??区格开来,不可以夹杂空白字元。群组名同-g选项的限制。如果使用者现在的群组不再此列,则将使用者由该群组中移除。
-llogin_name变更使用者login时的名称为login_name.其于不变。特别是,使用者目录名应该也会跟着更动成新的登入名。
-sshell指定新登入shell.如此栏留白,系统将选用系统预设shell. -uuid使用者ID值。必须为唯一的ID值,除非用-o选项。数字不可为负值。预设为最小不得小于99而逐次增加。0~99传统上是保留给系统帐号使用。使用者目录树下所有的档案目录其userID会自动改变。放在使用者目录外的档案则要自行手动更动。
警告usermod不允许你改变正在线上的使用者帐号名称。当usermod用来改变userID,必须确认这名user没在电脑上执行任何程序。 你需手动更改使用者的crontab档。也需手动更改使用者的at工作档。采用NISserver须在server上更动相关的NIS设定。
档案/etc/passwd-使用者帐号资讯/etc/shadow-使用者帐号资讯加密/etc/group-群组资讯