Linux_用户/用户组

一、用户添加

  1.  账号添加

[root@hadoop09-linux tmp]# useradd eRrsr

  这时/etc/passwd文件中会追加该用户项,并且在/home文件夹下自动生成该属于该用户的文件夹

  默认用户组为该用户名

  2.  密码设置

[eRrsr@hadoop09-linux ~]$ passwd eRrsr
passwd: Only root can specify a user name. #提示修改密码只能由root用户来完成
[eRrsr@hadoop09-linux ~]$ su - root
Password: 
[root@hadoop09-linux ~]# passwd eRrsr
Changing password for user eRrsr.
New password: 
Retype new password: 
passwd: all authentication tokens updated successfully.

  3.   用户组添加

[root@hadoop09-linux ~]# groupadd Learn

  4.   已有的用户,将其用户组改为Learn

[root@hadoop09-linux ~]# usermod -G Learn eRrsr #-g 修改用户所属的群组(/etc/passwd) -G 修改用户所属的附加群组(/etc/group) 
                            #-L 冻结用户,使密码无效 -U 解冻用户 -u 修改用户ID [root@hadoop09-linux ~]# gpasswd -a eRrsr Learn #第二种方式 -a 添加用户到组 -d 从组删除用户 -A 指定管理员 -r 删除密码

  5.  新建用户时同时设置其用户组

[root@hadoop09-linux ~]# useradd -g Learn eRrsr #-g(group) 代表用户组 -d(directory) 代表家目录 -s(shell) 新建用户后所用shell

二、 用户关闭与删除

  1.  关闭用户账号(暂停使用,注意root可直接切换到该用户继续操作)

[root@hadoop09-linux ~]# passwd peter -l #锁定账号
Locking password for user peter.
passwd: Success    
[root@hadoop09-linux ~]# su - eRrsr
[eRrsr@hadoop09-linux ~]$ su - peter
Password: 
su: incorrect password
[eRrsr@hadoop09-linux ~]$ su -
Password:
[root@hadoop09-linux ~]# passwd peter -u
Unlocking password for user peter.
passwd: Success

  另一种方法(修改文件):在/etc/shadow文件中属于该用户的行的第二个字段(密码)前面加上*就可以了

  想恢复该用户,去掉*即可

  2.  删除用户

[root@hadoop09-linux ~]# userdel -r eRrsr #-r 连同eRrsr用户组,家目录下的eRrsr(包括子文件,子文件夹)一并删除

    当然分开写如下

[root@hadoop09-linux ~]# userdel peter 
[root@hadoop09-linux ~]# groupdel peter 
[root@hadoop09-linux ~]# usermod –G peter peter #-G 代表强制删除家目录下的peter(包括文件,子文件夹)

  PS:有时会遇到这样的问题

userdel: user liuwenlong is currently logged in

  解决方法:

    a.  使用 lsof | grep eRrsr 查看eRrsr进程ID

    b. kill -9 进程ID 

  3.  若是仅仅想把该用户从用户组中去掉:编辑/etc/group 找到用户那一行,删除即可,另外

[root@hadoop09-linux ~]# gpasswd -d petter group_name

三、 查看用户详细信息

[root@hadoop09-linux ~]# id root
uid=0(root) gid=0(root) groups=0(root)

  或

[root@hadoop09-linux ~]# cat /etc/passwd | grep ^root
root:x:0:0:root:/root:/bin/bash

四、相关概念知识

a. 用户和用户组的对应关系是:一对一、多对一、一对多或多对多
    一对一:某个用户可以是某个组的唯一成员
    多对一:多个用户可以是某个唯一的组的成员,不归属其它用户组;比如beinan和linuxsir两个用户只归属于beinan用户组
    一对多:某个用户可以是多个用户组的成员;比如beinan可以是root组成员,也可以是linuxsir用户组成员,还可以是adm用户组成员
    多对多:多个用户对应多个用户组,并且几个用户可以是归属相同的组;其实多对多的关系是前面三条的扩展;理解了上面的三条,这条也能理解
b. 与用户(user)相关的配置文件     /etc/passwd 注:用户(user)的配置文件     /etc/shadow 注:用户(user)影子口令文件 c. 与用户组(group)相关的配置文件     /etc/group 注:用户组(group)配置文件     /etc/gshadow 注:用户组(group)的影子文件 d. 管理用户(user)的工具或命令     useradd 注:添加用户     adduser 注:添加用户     passwd 注:为用户设置密码     usermod 注:修改用户命令,可以通过usermod 来修改登录名、用户的家目录等等     pwcov 注:同步用户从/etc/passwd 到/etc/shadow     pwck 注:pwck是校验用户配置文件/etc/passwd 和/etc/shadow 文件内容是否合法或完整     pwunconv 注:是pwcov 的立逆向操作,是从/etc/shadow和 /etc/passwd 创建/etc/passwd ,然后会删除 /etc/shadow 文件     finger 注:查看用户信息工具     id 注:查看用户的UID、GID及所归属的用户组     chfn 注:更改用户信息工具     su 注:用户切换工具     sudo 注:sudo 是通过另一个用户来执行命令(execute a command as another user),su 是用来切换用户,然后通过切换到的用户来完成相应的任务,
             sudo 能后面直接执行命令,比如sudo 不需要root 密码就可以执行root 赋与的执行只有root才能执行相应的命令;得通过visudo 来编辑/etc/sudoers来实现     visudo 注:visodo 是编辑 /etc/sudoers 的命令;也可以不用这个命令,直接用vi 来编辑 /etc/sudoers 的效果是一样的     sudoedit 注:和sudo 功能差不多 e. 管理用户组(group)的工具或命令     groupadd 注:添加用户组     groupdel 注:删除用户组     groupmod 注:修改用户组信息     groups 注:显示用户所属的用户组     grpck     grpconv 注:通过/etc/group和/etc/gshadow 的文件内容来同步或创建/etc/gshadow ,如果/etc/gshadow 不存在则创建     grpunconv 注:通过/etc/group 和/etc/gshadow 文件内容来同步或创建/etc/group ,然后删除gshadow文件
原文地址:https://www.cnblogs.com/eRrsr/p/5848390.html