Linux 下修改或者重命名用户名称或者UID/GID

简介: 摘要 在Linux操作系统下怎么样用命令行去修改用户的名称(也就是重命名),或者UID/GID 切记不要手动用vi之类的文本编辑器去修改 /etc/passwd 文件修改用户名称Usage:usermod -l login-name old-name修改用户的名称 old-name 改成 login-name,别的都没有改变。其实我们也应

摘要

在Linux操作系统下怎么样用命令行去修改用户的名称(也就是重命名),或者UID/GID
切记不要手动用vi之类的文本编辑器去修改 /etc/passwd 文件

修改用户名称

Usage:

usermod -l login-name old-name

修改用户的名称 old-name 改成 login-name,别的都没有改变。其实我们也应该考虑是否把用户的HOME目录也改成新的用户。

另外这里有个问题需要注意

如果出现如下报错

root@pts/0 $ usermod -l newjames james
usermod: user James is currently used by process 12345

说明有用james用户运行的程序,需要把相关的程序停掉之后再执行上面的命令

Examples:

## add user 'james' for test
root@pts/0 $ useradd james

## check original id
root@pts/0 $ id james
uid=1007(james) gid=1008(james) 组=1008(james)

## check HOME directory
root@pts/0 $ ls -ld /home/james/
drwx------ 2 james james 4096 1223 11:46 /home/james/

## try to change or rename and verify
root@pts/0 $ usermod -l newjames james

root@pts/0 $ id james
id: james: no such user

root@pts/0 $ id newjames
uid=1007(newjames) gid=1008(james) 组=1008(james)


## check HOME folder
root@pts/0 $ ls -ld /home/james/
drwx------ 2 newjames james 4096 1223 11:46 /home/james/

root@pts/0 $ ls -ld /home/newjames
ls: 无法访问/home/newjames: 没有那个文件或目录
Dev-web-solr [~] 2016-12-23 11:47:22
root@pts/0 $

从上面可以看出,变化只仅仅是username,UID/GUID/HOME目录都没有改变


修改UID/GID相对很简单,结合上面的例子。继续如下:

修改UID

Usage:

usermod -u NEW-UID username

Examples:

## original UID is 1007
root@pts/0 $ id newjames
uid=1007(newjames) gid=1008(james) 组=1008(james)

## change 1007 to 2007
root@pts/0 $ usermod -u 2007 newjames

## modified to 2007
root@pts/0 $ id newjames
uid=2007(newjames) gid=1008(james) 组=1008(james)

修改GID/group-name

Usage:

groupmod -g NEW-GID groupname

Examples:

## james to newjames, but james's group is still 'james'
root@pts/0 $ groupmod -g 2007 newjames
groupmod:“newjames”组不存在

root@pts/0 $ id newjames
uid=2007(newjames) gid=1008(james) 组=1008(james)

root@pts/0 $ groupmod -g 2007 james

## try to rename group
root@pts/0 $ groupmod --help
用法:groupmod [选项] 组

选项:
  -g, --gid GID                 将组 ID 改为 GID
  -h, --help                    显示此帮助信息并推出
  -n, --new-name NEW_GROUP      改名为 NEW_GROUP
  -o, --non-unique              允许使用重复的 GID
  -p, --password PASSWORD   将密码更改为(加密过的) PASSWORD
  -R, --root CHROOT_DIR         chroot 到的目录


root@pts/0 $ groupmod -n newjamesgroup james


## find that group was renamed
root@pts/0 $ id newjames
uid=2007(newjames) gid=1008(newjamesgroup) 组=1008(newjamesgroup)


## try to change GID
root@pts/0 $ groupmod -g 2007 james

root@pts/0 $ id newjames
uid=2007(newjames) gid= 2007(newjamesgroup) 组= 2007(newjamesgroup)

修改用户HOME显示

最后我们来考虑下前面说过的rename用户名称之后,HOME家目录的显示没有改变。

Usage:

usermod -d /home/new-user -m new-user

Examples:

root@pts/0 $ ls -ld /home/james
drwx------ 2 newjames 1008 4096 1223 11:46 /home/james

root@pts/0 $ ls -ld /home/newjames
ls: 无法访问/home/newjames: 没有那个文件或目录

## change HOME folder
root@pts/0 $ usermod -d /home/newjames -m newjames

root@pts/0 $ ls -ld /home/newjames
drwx------ 2 newjames 1008 4096 1223 11:46 /home/newjames

root@pts/0 $ ls -ld /home/james
ls: 无法访问/home/james: 没有那个文件或目录
root@pts/0 $

简书地址:Linux 下修改或者重命名用户名称或者UID/GID



公众号: DailyJobOps

    公众号: DailyJobOps    

目录
相关文章
|
15天前
|
网络协议 安全 Linux
Linux网络名称空间之独立网络资源管理
Linux网络名称空间是一种强大的虚拟化技术🛠️,它允许用户创建隔离的网络环境🌐,每个环境拥有独立的网络资源和配置。这项技术对于云计算☁️、容器化应用📦和网络安全🔒等领域至关重要。本文将详细介绍在Linux网络名称空间中可以拥有的独立网络资源,并指出应用开发人员在使用时应注意的重点。
|
15天前
|
安全 网络协议 Linux
Linux网络名称空间概述
Linux网络名称空间是操作系统级别的一种虚拟化技术🔄,它允许创建隔离的网络环境🌐,使得每个环境拥有自己独立的网络资源,如IP地址📍、路由表🗺️、防火墙规则🔥等。这种技术是Linux内核功能的一部分,为不同的用户空间进程提供了一种创建和使用独立网络协议栈的方式。本文旨在全方面、多维度解释Linux网络名称空间的概念、必要性和作用。
Linux网络名称空间概述
|
3月前
|
Shell Linux Perl
将 Linux 系统中 UID 大于等于 1000 的普通用户都删除shell脚本
将 Linux 系统中 UID 大于等于 1000 的普通用户都删除shell脚本
42 1
|
7月前
|
Unix Linux
完全指南:mv命令用法、示例和注意事项 | Linux文件移动与重命名
完全指南:mv命令用法、示例和注意事项 | Linux文件移动与重命名
851 0
|
1月前
|
存储 Linux Shell
【Shell 命令集合 网络通讯 】Linux 显示当前终端的名称 tty命令 使用指南
【Shell 命令集合 网络通讯 】Linux 显示当前终端的名称 tty命令 使用指南
24 0
|
4月前
|
Linux Perl
Linux下重命名文件或文件夹
Linux下重命名文件或文件夹
32 0
|
4月前
|
存储 Linux 开发工具
Linux UID和GID(用户ID和组ID)
Linux UID和GID(用户ID和组ID)
90 0
|
8月前
|
Linux
在 Linux 中重命名文件夹中的所有文件
在 Linux 中重命名文件夹中的所有文件
127 0
在 Linux 中重命名文件夹中的所有文件
|
8月前
|
Linux
如何在 Linux 中复制和重命名文件?
如何在 Linux 中复制和重命名文件?
212 1
如何在 Linux 中复制和重命名文件?
|
11月前
|
Linux
Linux 常用命令-移动文件、目录、重命名文件
Linux、移动文件、目录、重命名文件
73 0