(译)"usermod"命令使用完全指导---15个练习例程截图
"usermod"命令使用完全指导---15个练习例程截图
By Babin Lonston Under: Linux Commands On: November 11, 2014
翻译:By SmallLiu
在Unix/Linux各个发行版,‘usermod’通过命令行常常用来修订和改变一个现存用户的任何属性.‘usermod’命令类似于‘useradd’与‘adduser’,但是‘usermod’只能用于现存用户。
15 usermod Command Examples
‘useradd’与‘adduser’被用于在linux操作系统中创建用户.若要了解更多关于如何创建系统用户,请阅读如下指南:
- “useradd”命令完全指南:
在创建用户账号后,有的情况下我们需要改变现存用户账号的属性.比如,改变用户的主目录,登录名,登录shell,密码过期时间,等待,这种情况下‘usermod’就派上用场了。
当我们在终端使用‘usermod’命令时,如下相关文件将会被该命令执行后影响。
- /etc/passwd –用户账号信息文件.
- /etc/shadow – 用户账号安全文件.
- /etc/group – 群组信息文件.
- /etc/gshadow – 群组安全文件.
- /etc/login.defs – 设置用户账号限制文件..
命令的基本语法:
usermod [options] username
要求
- 此命令只能针对现存的用户账号
- 只有超级用户才能执行此命令
- 此命令适用于任何Linux发行版本
- 你必须了解该命令各个选项的作用
‘Usermod’ 命令的选项
The ‘usermod‘ command is simple to use with lots of options to make changes to an existing user. Let us see how to use usermod command by modifying some existing users in Linux box with the help of following options.
‘usermod’命令的丰富选项很容易改变现存用户的属性.在如下命令选项的帮助下我们将见证如何使用usermod命令修改现存的用户属性。
- -c = 修改用户账号的备注信息.
- -d = 修改用户登录的目录.
- -e = 修改账号的有效期限.
- -g = 修改用户所属的群组.
- -G = 修改用户所属的附加群组.
- -l = 修改用户账号名.
- -L = 锁定用户密码使密码无效.
- -m = 将现存主目录的内容移动到新的目录中
- -p = 修改用户账号密码(不安全).
- -s = 指定用户shell.
- -u = 修改用户ID.
- -U = 解锁.
In this article we will see ‘15 usermod commands‘ with their practical examples and usage in Linux, which will help you to learn and enhance your command-line skills using these options.
在这篇文章中将看到关于15个usermod命令的实际例子以及在linux中的使用,这会帮助你学习和提高使用该命令选项的技巧
1. 增加用户账号的备注
The ‘-c‘ option is used to set a brief comment (information) about the user account. For example, let’s add information on ‘tecmint‘ user, using the following command.
‘-c’选项通常用来对用户账户作一个简洁的备注.例如,例如我们用如下的命令为‘tecmint’用户添加备注。
# usermod -c "This is Tecmint" tecmint
在为用户账号添加备注后,相应的在/ect/passwd会添加相应的信息.
# grep -E --color 'tecmint' /etc/passwd tecmint:x:500:500:This is Tecmint:/home/tecmint:/bin/sh
Add Information to User
2. 改变用户的主目录
在如上的步骤中我们可以看出我们的主目录在/home/tecmint/之下,如果我们需要将该目录改变为其他目录我们需要用到命令行选项'-d'
例如,我们想将用户主目录改变为/var/www/,在那之前,我们需要使用如下命令检查用户的当前主目录
# grep -E --color '/home/tecmint' /etc/passwd tecmint:x:500:500:This is Tecmint:/home/tecmint:/bin/sh
现在,如下命令将用户主目录从/home/tecmint改变为/var/www/.改变之后我们仍然需要确认用户主目录是否已经改变
# usermod -d /var/www/ tecmint
# grep -E --color '/var/www/' /etc/passwd tecmint:x:500:500:This is Tecmint:/var/www:/bin/sh
Change User Home Directory
3. 设置用户账号过期日期
'-e'选项被用来设置用户账号的过期日期(日期格式为YYYY-MM-DD).在此之前,让我们先使用'chage'命令找出账户当前的账号过期时间。
# chage -l tecmint Last password change : Nov 02, 2014
Password expires : never
Password inactive : never
Account expires : Dec 01, 2014
Minimum number of days between password change : 0
Maximum number of days between password change : 99999
Number of days of warning before password expires : 7
The expiry status of a ‘tecmint‘ user is Dec 1 2014, let’s change it to Nov 1 2014 using ‘usermod -e‘ option and confirm the expiry date with ‘chage‘ command.
用户'tecmint'账号过期时间为Dec 1 2014,现在使用'usermod -e'将其改为Nov 1 2014并且使用'chage'命令确认是否得以改变。
# usermod -e 2014-11-01 tecmint
# chage -l tecmint Last password change : Nov 02, 2014
Password expires : never
Password inactive : never
Account expires : Nov 01, 2014
Minimum number of days between password change : 0
Maximum number of days between password change : 99999
Number of days of warning before password expires : 7
Set User Account Expiry Date
4. 改变用户主群组
为了设置或改变用户的主群组,我们使用usermod命令的'-g'选项,在此之前,我们应该先确认用户的当前群组为tecmint_test
# id tecmint_test uid=501(tecmint_test) gid=502(tecmint_test) groups=502(tecmint_test)
如家,将主群组改变为babin并确认依据改变了
# usermod -g babin tecmint_test
# id tecmint_test uid=501(tecmint_test) gid=502(babin) groups=502(tecmint_test)
Change User Primary Group
5. 对现存用户附加群组
如果你想为tecmint用户添加一个新的名为tecmint_test()群组,你可以使用usermod命令的'-G'选项。
# usermod -G tecmint_test0 tecmint
# id tecmint
Add Group to User
注意:当心,当仅仅使用'-G'选项添加新群组到现存的用户中将会移除用户所属的现存的群组。所以,通过将'-a'与'-G'选项一起使用来为用户增加新的群组。
6. Adding Supplementary and Primary Group to User
如果你需要增加一个附加群组,你可以使用'-a'与'-G'选项.比如,现在要为tecmint_test()添加一个附加群组wheeluser
# usermod -a -G wheel tecmint_test0
# id tecmint_test0
因此,用户tecmint_test0保持其主要组以及在中学)。这将使我的普通用户帐户执行在Linux系统中任何root权限的命令。
eg : sudo service httpd restart
Add Multiple Groups to User
7. 改变用户账号登陆名
为了改变任何现存的用户登陆名,我们可以使用'-l'选项.在如下的例子中,我们将登陆名tecmint改为tecmint_admin。因此用户名tecmint已经被tecming_admin重新命名了。
# usermod -l tecmint_admin tecmint
现在我们如何检查tecmint用户,该用户将不会存在因为我们已经将用户名改为tecmint_admin
# id tecmint
检查用户名tecmint_admin的账户,你将发现该用户名的UID与群组与之前tecmint是一样的
# id tecmint_admin
Change User Login Name
8. 锁定用户账号
To Lock any system user account, we can use ‘-L‘ (lock) option, After the account is locked we can’t login by using the password and you will see a ! added before the encrypted password in /etc/shadow file, means password disabled.
为了锁定任何系统用户账号,我们可以使用'-L'选项,当账号被锁定后我们不能使用密码登陆,并且你在/etc/shadow文件该用户的行中的加密密码项之前会发现一个感叹号“!”,其意思是密码不可用
# usermod -L babin
现在检查这个锁定的账号
# grep -E --color 'babin' cat /etc/shadow
Lock User Account
9. 解除账号密码锁定
‘-U’选项被用于解锁任何被锁定的用户账号,该操作也会移除之前出现的感叹号‘!’
# grep -E --color 'babin' /etc/shadow
# usermod -U babin
让我们证实下之前的感叹号是否已经被移除了。
# grep -E --color 'babin' /etc/shadow
Unlock User Account
10. 将用户目录移到新的目录
你的账号已经有了‘/home/pinky’的主目录,你想要将主目录改为‘/var/pinky’.你可以使用'-d'与'-m’选项将现存主目录的的用户文件移动到新的目录中.
检查用户账号及其主目录
# grep -E --color 'pinky' /etc/passwd
然后列出主目录的用户文件
# ls -l /home/pinky/
现在我们将把主目录从/home/pinky移动到/var/pinky
# usermod -d /var/pinky/ -m pinky
接下来,确认其已经做出改变
# grep -E --color 'pinky' /etc/passwd
检查目录/home/pinky下的文件。这里因为我们使用了'-m'选项移动文件因此该目录不再存在文件.用户的文件将会存在于/var/pinky目录下
# ls -l /home/pinky/
# ls -l /var/pinky/
Move User Home Directory
11. 为用户创建未加密的密码
为了创建未加密的密码,我们使用'-p'选项.为了证实我们的目的,我将为Pinky用户设置一个名为'redhat'的新密码
# usermod -p redhat pinky
在设置密码之后,现在来检测/etc/shadow文件以确认其密码是加密还是没加密
# grep -E --color 'pinky' /etc/shadow
Create Unencrypted User Password
Note:你看到上图了吗,密码清晰的对每个人可见,因此,该选项不推荐大家使用.
12. 改变用户的shell
用户的登录shell可以使用命令'useradd'在用户创建的时候被改变和定义,也可以使用'usermod'的'-s'选项改变.例如,’babin‘用户的默认shell为
/bin/bash,现在我想要将其改为/bin/sh
# grep -E --color 'babin' /etc/passwd
# usermod -s /bin/sh babin
在改变了用户的登录shell之后,使用如下命令确认用户的当前shell
# grep -E --color 'babin' /etc/passwd
Change User Login Shell
13. 改变用户ID
在下面的例子中,你可以看出'babin'用户的uid为502,现在我想将其改为888,UID可用的范围为(0-999)
# grep -E --color 'babin' /etc/passwd
OR
# id babin
现在,让我们使用'-u'选项改变babin用户的UID并证实这一改变
# usermod -u 888 babin
# id babin
Change User UID
14. 使用多个选项修改用户账号属性
我想将现存的用户jack的主目录,shell,账号有效日期,标签,UID以及群组马上做出改变,但是我将使用一条命令做出所有改变
用户jack的默认主目录为/home/jack,现在我想将其改为/var/www/html 并且将其shell定位bash shell,设置账号有效日期至Deceber 10th 2014,增加新的备注This is jack,UID该位555,群组改为apple
现在让我们看看到底如何一次性修改
# usermod -d /var/www/html/ -s /bin/bash -e 2014-12-10 -c "This is Jack" -u 555 -aG apple jack
确认其主目录,登录shell
# grep -E --color 'jack' /etc/passwd
确认其账号有效日期
# chage -l jack
确认其所属群组
# grep -E --color 'jack' /etc/group
Using Multiple Options with usermod
15. 改变账号的UID与GID
我们可以改变当前用户的UID与GID。因为改变新的GID我们需要一个已经存在的群组,现在已经有一个GID为777名为orange的群组了
现在用户jack想要将UID改为666 GID改为777
确认当前的UID与GID已经被修改
# id jack
修改UID于GID
# usermod -u 666 -g 777 jack
确认其已经改变
# id jack
Change User UID and GID
结论
这里我们已经详细的呈现了如何使用usermod命令及其选项,在学习usermod命令之前,读者应该首先了解useradd命令及其选项。如果在本文中有任何疏漏请通过评论让我知晓,请各位同学千万不要吝啬你们的意见。
转载请注明:小刘
译文不容易,不作伸手党
(译)"usermod"命令使用完全指导---15个练习例程截图的更多相关文章
- Linux – Usermod命令参数解析和实例说明
usermod 命令修改系统帐户文件来反映通过命令行指定的变化 1. 首先看看usermod都是有哪些参数 [root@hxweb101 ~]$ usermod --help Usage: userm ...
- Usermod 命令详解 ------工作中修改shell时用 usermod -s /bin/csh home
Usermod 命令详解 2012-09-11 11:01:36 标签:usermod 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.htt ...
- useradd/du/df/passwd/usermod命令
一.useradd命令 useradd命令-M -u -s -g 常用 -c:加上备注文字,备注文字保存在passwd的备注栏中. -d:指定用户登入时的启始目录. -D:变更预设值.(修改默认配置 ...
- Usermod 命令详解
参考资料:usermod manpage usermod - 修改用户帐户信息 modify a user account usermod [options] user_name usermod 命令 ...
- usermod命令详解
转载自:http://blog.51cto.com/urchin/987186 usermod - 修改用户帐户信息 modify a user account usermod [options] u ...
- usermod命令/用户密码管理/mkpasswd命令
3.4 usermod命令 3.5 用户密码管理 3.6 mkpasswd命令 usermod命令 设置用户uid: usermod -u 111 username 设置用户gid usermod ...
- usermod命令、用户密码管理、mkpasswd命令
3.4 usermod命令--更改用户帐户属性 -a|--append ##把用户追加到某些组中,仅与-G选项一起使用 -G|--groups ##把用户追加到某些组中,仅与-a选项一起使用:把该用户 ...
- usermod命令、用户密码管理、mkpasswd命令 使用介绍
第3周第2次课(4月3日) 课程内容:3.4 usermod命令3.5 用户密码管理3.6 mkpasswd命令 3.4 usermod命令 usermod可以修改用户的UID和GID 命令使用格式: ...
- Linux CentOS7 VMware usermod命令、用户密码管理、mkpasswd命令
一. usermod命令 usermod可用来修改用户帐号的各项设定 -c, --comment 注释 GECOS 字段的新值 -d, --home HOME_DIR 用户的新主目录 -e, --ex ...
随机推荐
- ZOJ3516 (图的遍历)
Tree of Three Time Limit: 2 Seconds Memory Limit: 65536 KB Now we have a tree and some queries ...
- 【转】通过 ulimit 改善系统性能
概述 系统性能一直是一个受关注的话题,如何通过最简单的设置来实现最有效的性能调优,如何在有限资源的条件下保证程序的运作,ulimit 是我们在处理这些问题时,经常使用的一种简单手段.ulimit 是一 ...
- JQuery中阻止事件冒泡方式及其区别
JQuery 提供了两种方式来阻止事件冒泡. 方式一:event.stopPropagation(); $("#div1").mousedown(function( ...
- 谷歌Cartographer学习(1)-快速安装测试(转载)
转载自谷歌Cartographer学习(1)-快速安装测试 代码放到个人github上,https://github.com/hitcm/ 如下,需要安装3个软件包,ceres solver.cart ...
- java面试题集3
一.选择题 1.下面程序的运行结果是 int i=0; while(true){ if(i++>10) break; System.out.println(i); }1-11 2.下面程序的运 ...
- LED音乐频谱之输出数据处理
转载请注明出处:http://blog.csdn.net/ruoyunliufeng/article/details/38023539 一.PWM调节 1.初始化 void DACInit() { C ...
- Android 内部存储相关的函数(getCacheDir,getDir, getFileStreamPath,getFilesDir,openFileInput, ...)
为了保证应用程序存储数据的安全性,开发人员在开发应用程序的过程中须要注意使用Android 应用程序的内部存储空间. 依据不同的要求.将相应的数据文件.缓存文件.暂时文件等分别存储在相应的位置. 注意 ...
- unity3d 捕获系统日志,来处理一些问题
注册系统日志回调,根据日志内容和类型处理一些特殊问题 using UnityEngine; using System.Collections; public class SetupVerificati ...
- MFC多线程内存泄漏问题&解决方法
在用visual studio进行界面编程时(如MFC),前台UI我们能够通过MFC的消息循环机制实现.而对于后台的数据处理.我们可能会用到多线程来处理. 那么对于大多数人(尤其是我这样的菜鸟),一个 ...
- UBUNTU系统root帐号解锁
UBUNTU系统启动时默认以安装系统时输入的用户名进行登录.如:以非root帐号rusky登录系统,当我们做某些操作时系统提示需要输入root密码.但我们并没有设置过root密码.此时,可按如下操作为 ...