usermod 是一个命令行实用程序,允许您修改用户的登录信息。本文介绍了如何使用usermod命令添加用户到组,更改用户shell、登录名、主目录等。

1、usermod 命令

该usermod命令的语法采用以下形式:

usermod [options] USER

只有root或具有sudo访问权限的用户才能调用usermod和修改用户帐户。成功后,该命令将不显示任何输出。

2、将用户添加到组

usermod最典型的用例是将一个用户添加到一个组。

要将现有用户添加到辅助组,请使用-a -G选项,然后是组名和用户名:

usermod -a -G GROUP USER

如果要一次将用户添加到多个组中,请在-G选项后指定组,并用,(逗号)隔开,中间不要有空格。

例如,要将用户a5idc添加到games组,您将运行以下命令:

sudo usermod -a -G games a5idc

将用户添加到新组时,请始终使用-a(追加)选项。如果你省略了-a选项,用户将从-G选项后未列出的组中删除。

如果该用户或组不存在,该命令将警告您。

3、更改用户主要组

要改变用户的主组,调用usermod命令,在组名和用户名后面加上-g选项:

sudo usermod -g GROUP USER

在以下示例中,我们将用户a5idc主要组更改为developers:

usermod -g developers a5idc

每个用户可以完全属于一个主要组和零个或多个次要组。

4、更改用户信息

要更改GECOS(用户的全名)信息,请运行带有-c选项的命令,后跟新的注释和用户名:

usermod -c "GECOS Comment" USER

下面是一个例子,说明如何为用户a5idc添加附加信息:

usermod -c "Test User" a5idc

此信息存储在/etc/passwd文件中。

5、更改用户主目录

在大多数Linux系统中,用户的主目录是以用户的名字命名的,并创建在/home目录下。

如果出于某种原因,你想改变用户的主目录,可以使用usermod命令,在-d选项后面加上新主目录的绝对路径和用户的名字:

usermod -d HOME_DIR USER

默认情况下,该命令不会将用户主目录的内容移动到新目录。要移动内容,使用-m选项。如果新目录还不存在,就会被创建:

usermod -d HOME_DIR -m USER

下面是一个例子,说明如何将用户www-data的主目录改为/var/www:

usermod -d /var/www www-data

6、更改用户默认的Shell

默认的Shell程序是登录系统后运行的Shell程序。默认情况下,在大多数Linux系统上,默认Shell程序设置为Bash Shell。

要更改用户的默认Shell程序,请运行命令,并-s在Shell程序的绝对路径和用户名后加上以下选项:

usermod -s SHELL USER

在下面的示例中,我们将用户外壳更改为Zsh:

sudo usermod -s /usr/bin/zsh a5iddc

您可以通过显示/etc/shells文件内容来找出系统上可用的Shell 。

7、更改用户UID

UID(用户标识符)是分配给每个用户的号码。操作系统使用它来引用用户。

要更改用户UID,请-u在新的UID和用户名后使用以下选项调用命令:

usermod -u UID USER

下面的示例显示如何将“UID”数字更改为“1050”:

sudo usermod -u 1050 a5idc

用户拥有的文件的UID位于用户的主目录中,并且用户的邮箱文件将自动更改。所有其他文件的所有权必须手动更改。

8、变更使用者名称

虽然并不常见,但有时你可能会想改变一个现有用户的名字。选项-l是用来改变用户名的:

usermod -l NEW_USER USER

在下面的例子中,我们将用户a5idc改名为lisa,为 "1050":

sudo usermod -l a5idc lisa

更改用户名时,您可能还希望更改用户的主目录以反映新的用户名。

8、设置用户到期日期

到期日期是将禁用用户帐户的日期。要设置用户的到期日期,请使用以下-e选项:

sudo usermod -e DATE USER

到期日期必须使用格式设置YYYY-MM-DD。

例如,要在a5idc上禁用用户2022-02-21,您可以运行以下命令:

sudo usermod -e "2022-02-21" a5idc

要禁用帐户的到期时间,请设置一个空的到期日期:

sudo usermod -e "" a5idc

使用以下chage -l命令查看用户的到期日期。

到期日期存储在/etc/shadow文件中。

9、锁定和解锁用户帐户

该-L选项使您可以锁定用户帐户:

usermod -L USER

这些命令会在加密后的密码前面插入一个感叹号(!) 。当/etc/shadow文件中的密码字段包含感叹号时,用户将无法使用密码认证登录系统。其他登录方式,如基于密钥的认证或切换到用户,仍然是允许的。如果你想锁定账户并禁用所有登录方式,还需要将有效期设置为1。

以下示例显示了如何锁定用户a5idc:

sudo usermod -L a5idc

sudo usermod -L -e 1 a5idc

要解锁用户,请运行usermod以下-U选项:

usermod -U USER

至此,我们已经向您展示了如何使用该usermod命令来设置用户帐户信息,希望对您有所帮助。

linux usermod用法,Linux中Usermod命令的一些使用技巧相关推荐

  1. Linux中sysstat服务,Linux如何使用sysstat中的命令

    sysstat是一个软件包,拥有各种实用的系统工具,比如系统性能检测工具,要想使用sysstat,就要对sysstat中的命令有所了解,下面小编就教大家Linux如何使用sysstat中的命令. 一. ...

  2. linux usermod用法,Linux中的usermod命令的详细解释

    在Linux系统中,usermod命令的主要功能是修改用户账户,下面由学习啦小编为大家整理了linux下的usermod命令的详细解释,希望对大家有帮助! Linux中的usermod命令的详细解释 ...

  3. Linux 系统中kill命令杀死进程常用技巧

    前言 在Linux的系统中,kill是我们最常见的命令之一. kill,英语中为杀死的意思,顾名思义,就是用来杀死一些东西的命令,在linux中就是用来杀死系统中的进程. 在Windows系统中,如果 ...

  4. linux命令中强杀进程,Linux 系统中kill命令杀死进程常用技巧

    目录 前言 基础 进阶 1 查找进程号的方式进行改进 2 将常规的两步杀死进程合并为一步 3 强制踢掉登陆用户 kill的注意事项 前言 在Linux的系统中,kill是我们最常见的命令之一. kil ...

  5. Linux内核源码中使用宏定义的若干技巧

    在C中,宏定义的概念虽然简单,但是真要用好却并不那么容易,下面从Linux源码中抽取一些宏定义的使用方法,希望能从中得到点启发: 1. 类型检查 比如module_init的宏定义: 点击(此处)折叠 ...

  6. Python3中print的高级用法——print中执行命令和函数:print(*meta)

    最近在学<PythonLinux系统管理和自动化运维>这本书,看到第48页,书里面一个代码引起了我的兴趣: ... meta = [fileinput.filename(), filein ...

  7. linux history 用法,Linux之History的使用

    History: 1.命令行历史:保存你输入的命令历史,可以用它来重复执行命令:当登陆shell时,系统会读取命令行历史文件中记录下来的命令,保存命令历史记录的文档存放于 ~/.bash_histot ...

  8. linux rsh用法,Linux中rsh远程shell命令的使用技巧解析

    rsh有两种使用模式: rsh $host : 远程登录,启动交互式进程. rsh $host $command :远程执行命令,并显示输出. rsh hosthostcommand rsh $hos ...

  9. Linux中shell命令的用法和技巧

    使用Linux shell是我每天的基本工作,但我经常会忘记一些有用的shell命令和l技巧.当然,命令我能记住,但我不敢说能记得如何用它执行某个特定任务.于是,我开始在一个文本文件里记录这些用法,并 ...

最新文章

  1. 基于Vue开发的购物车案例
  2. python中赋值不正确的_python中的“赋值与深浅拷贝”
  3. php5.4版本不爆错误,PHP5.4以上版本出现的错误:Fatal error: Call-time pass-by-reference has been removed | 严佳冬...
  4. 手机版html页面左右滑动切换页面,移动端手指左右滑动切换内容demo
  5. datatable移动一列的位置
  6. 怎么将matlab滤波器系数导出_matlab与FPGA数字信号处理系列(1)——通过matlab工具箱设计FIR数字滤波器...
  7. jquery/js 点击空白区域隐藏某一个层/元素
  8. mysql for macOS安装
  9. spring整合大全
  10. ssh Permission denied (publickey,password).
  11. 修改Unity中Lua文件的默认打开程序
  12. 让你的 commit 更有价值
  13. 建筑工地使用的人脸识别门禁实名制管理系统是什么
  14. 传说中的PHPWORD的安装
  15. 常用App URL Scheme
  16. 控制面板Plesk, cPanel, DirectAdmin, whmcs,WDCP, AMH比较
  17. x265使用方法与命令行解析
  18. 主角把异能开发计算机,不容错过的超能力游戏,最厉害的甚至能操控时间!
  19. mavlink协议从入门到放弃(二)
  20. matlab判断系统因果性,信号与系统如何判定一离散系统的因果稳定性

热门文章

  1. VS2019调试Qt5时QString显示为内存地址而非字符串
  2. 联想拯救者电脑触摸板用不了了
  3. Html5中的<section>标签的介绍
  4. C/C++语言练习题
  5. 转发 Mac 键盘上的按键操作
  6. 修改samba服务器密码,samba服务器配置密码
  7. Windows下在GoldenDict中添加谷歌翻译
  8. Putty使用教程(抓取串口log)
  9. 2021年中国服装行业发展现状及未来十大发展趋势分析[图]
  10. 机器学习——径向基函数(RBF)神经网络