7.2-5 usermod

7.2 usermod:修改用户信息

usermod 命令用于修改系统已经存在的用户的账号信息。
 
-c comment         修改用户password文件中用户的说明栏,同useradd的-c功能
-d home_dir        修改用户每次登入时所使用的家目录,同useradd的-d功能
-e expire_date     修改用户终止日期,同useradd的-e功能
-f inactive_days   修改用户过期几日后永久停权,同useradd的-f功能
-g initial_group   修改用户对应的用户组,同useradd的-g功能
-G group,[...]     修改此用户为多个不同组的成员,同useradd的-G功能
-m                 用户目录如果不存在则自动建立
-M                 不建立用户家目录,优先于/etc/login.defs文件设定。一般创建虚拟用户时不建立家目录,部署应用服务时需要创建虚拟用户
-n                 默认情况下,用户的用户组与用户的名称会相同。如果命令添加了-n参数,则不会生成与用户同名的用户组了
-r                 此参数是用来建立系统用户的。系统用户的UID会比定义在系统档上/etc/login.defs的UID_MIN要小。注意此用法中useradd所建立的用户不会建立用户家目录,也不会在乎记录在/etc/login.defs.的定义值。如果想要有用户家目录,则必须额外指定-m参数来建立系统用户。这是Red Hat额外增设的选项
 
-s shell           修改用户登入后使用的Shell名称,同useradd的-s功能
-u uid             修改用户的ID值,同useradd的-u功能
-a                 追加用户到用户组,仅与-G参数连用
-l                 修改用户的账号名称
-L                 锁定用户密码,不让用户改密码
-U                 解除密码锁定
 
 
    usermod的作用是修改用户,而useradd的作用是添加用户,本质上都是对用户进行操作,因此,参数作用大部分都是类似的,只不过命令不同,就是添加和修改的区别。
 

usermod的-C、-u、-G、-s、-d、-m、-e、-f等多个参数组合的例子

需求如下:将范例7-3添加的用户inca的用户注释信息修改为“TmpUser”,UID修改为999,归属修改为用户组root、sa、tech成员,其Shell类型为/sbin/nologin,设置家目录为/home/inca,用户过期时间为2018/07/12,过期后30天停权。
 
[root@cs6 ~]# usermod -u 999 -c "TmpUser" -G root,sa,tech -s /sbin/nologin -d /home/inca -e "2019/07/12" -f 30 inca
[root@cs6 ~]# grep -w inca /etc/passwd
inca:x:999:806:TmpUser:/home/inca:/sbin/nologin
[root@cs6 ~]# id inca
uid=999(inca) gid=806(inca) groups=806(inca),0(root),801(sa),904(tech)
[root@cs6 ~]# grep -w inca /etc/shadow
inca:!!:18027:0:99999:7:30:18089:
[root@cs6 ~]# chage -l inca
Last password change                    : May 11, 2019
Password expires                    : never
Password inactive                    : never
Account expires                        : Jul 12, 2019
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

7.3 userdel:删除用户

 
userdel命令用于删除指定的用户及与该用户相关的文件。
 
-f    强制删除用,即使用户当前已登录
-r    删除用户的同时,删除与用户相关的所有文件
 
 
不加参数删除用户zuma
[root@cs6 ~]# userdel zuma
[root@cs6 ~]# ll /home/zuma/ -ld
drwx------. 2 903 903 4096 May 12 02:31 /home/zuma/
[root@cs6 ~]# grep -w zuma /etc/shadow

    在实际工作中尽量不要使用userdel删除用户,而是采用在/etc/passwd里注释用户的方法,防止用户误删带来的系统及服务不正常。读者需要谨慎使用-r参数,因为-r参数会将用户家目录下的所有目录和文件都删除,导致数据不可逆地丢失。 

7.4 groupadd:创建新的用户组

    groupadd命令用于创建新的用户组。但groupadd命令的用途一般不大,因为useradd命令在创建用户的同时还会创建与用户同名的用户组。
 
-g gid     指定用户组的gid,除非接-o参数,否则ID值唯一且不为负,如果不指定参数,则gid从500开始
-f         新增一个账户,强制覆盖一个已存在的组账号
 
[root@cs6 ~]# groupadd -g 123 test1
[root@cs6 ~]# tail -1 /etc/group
test1:x:123:
[root@cs6 ~]# tail -1 /etc/gshadow
test1:!::

7.5 groupdel:删除用户组

    groupdel命令用于删除指定的用户组,此命令的使用频率极低,了解即可。
 
groupdel不能删除还有用户归属的主用户组。
 
[root@cs6 ~]# groupdel root
groupdel: cannot remove the primary group of user 'root'
[root@cs6 ~]# groupdel test1 

 

posted @ 2019-05-13 20:37  Fadewalk  阅读(468)  评论(0编辑  收藏  举报