由于某种原因,需要修改用户名,有的小伙伴可能就犯难了。其实,Linux系统也能像windows那样随心所欲地修改用户名的,但有一点不同的是,Linux修改用户名需要root权限。
用root用户登录查看一下修改用户名命令的相关帮助:
[root@Geeklp-Python ~]# usermod --help
用法:usermod [选项] 登录
选项:
-c, --comment 注释 GECOS 字段的新值
-d, --home HOME_DIR 用户的新主目录
-e, --expiredate EXPIRE_DATE 设定帐户过期的日期为 EXPIRE_DATE
-f, --inactive INACTIVE 过期 INACTIVE 天数后,设定密码为失效状态
-g, --gid GROUP 强制使用 GROUP 为新主组
-G, --groups GROUPS 新的附加组列表 GROUPS
-a, --append GROUP 将用户追加至上边 -G 中提到的附加组中,
并不从其它组中删除此用户
-h, --help 显示此帮助信息并推出
-l, --login LOGIN 新的登录名称
-L, --lock 锁定用户帐号
-m, --move-home 将家目录内容移至新位置 (仅于 -d 一起使用)
-o, --non-unique 允许使用重复的(非唯一的) UID
-p, --password PASSWORD 将加密过的密码 (PASSWORD) 设为新密码
-R, --root CHROOT_DIR chroot 到的目录
-s, --shell SHELL 该用户帐号的新登录 shell
-u, --uid UID 用户帐号的新 UID
-U, --unlock 解锁用户帐号
-Z, --selinux-user SEUSER 用户账户的新 SELinux 用户映射
非常简洁明了!比如我要将我系统下的Python账户改名为geeklp,可以按照以下方法操作。
[root@Geeklp-Python ~]# usermod -l geeklp Python
[root@Geeklp-Python ~]# cat /etc/passwd
修改其他内容也是非常之简单,按照帮助文档进行操作就行了。但是要使用此法修改root账户名显然就不行咯!
[root@Geeklp-Python ~]# usermod -l geeklp-root root
usermod: user root is currently used by process 1
不过也还是有其他办法的,那就是将/etc/passwd和/etc/shadow中root相关的部分改为自己想要的用户名。退出再次登录就行了!当然,修改了root用户名会不会产生其他问题就不得而知了,所以还是不要随便改root。希望同行的小伙伴们多多指教!