---
# System prepended metadata

title: Linux用户和用户组管理
tags: [Linux]

---

# Linux用户和用户组管理
---

1. 添加新的用户账号使用 useradd 命令

    语法： useradd  选项  用户名

    | 选项 | 参数说明 |
    | -------- | -------- | 
    | -c     | comment 指定一段注释性描述     | 
    | -d     | 目录 指定用户主目录，如果此目录不存在，则同时使用-m选项，可以创建主目录。     | 
    | -g     | 用户组 指定用户所属的用户组。     | 
    | -G     | 用户组，用户组 指定用户所属的附加组。     | 
    | -s     | Shell文件 指定用户的登录Shell。     | 
    | -u     | 用户号 指定用户的用户号，如果同时有-o选项，则可以重复使用其他用户的标识号。     | 

2. 查看所有的用户和组信息 

    | 命令 | 结果说明 | 
    | -------- | -------- |
    | cat /etc/passwd    | 可以查看所有用户的列表(很多)     | 
    | cat /etc/passwd|grep 用户名    | （精确查找某个用户）     | 
    | w    | 可以查看当前活跃的用户列表     | 
    | cat /etc/group    | 查看用户组     | 
    | cat /etc/group|grep 组名    | 查找某个用户组     | 

    亮眼推荐 cat /etc/passwd|grep -v nologin|grep -v halt|grep -v shutdown|awk -F":" '{ print $1"|"$3"|"$4 }'|more （输出结果比较美观）   

3. 总结一下用户和用户组常用命令

    | 命令 | 结果说明 | 
    | -------- | -------- |
    | groups    | 查看当前登录用户的组内成员     |
    | groups test    | 查看当前登录用户的组内成员     |
    | whoami    | 查看当前登录用户名     |

4. 删除账号

    userdel 选项 用户名 (常用的选项是 -r ，它的作用是把用户的主目录一起删除。)

5. 修改账号

    修改用户账号就是根据实际情况更改用户的有关属性，如用户号、主目录、用户组、登录Shell等。

    修改已有用户的信息使用usermod命令，其格式如下：usermod 选项 用户名

6. 用户口令管理

    用户管理的一项重要内容是用户口令的管理。用户账号刚创建时没有口令，但是被系统锁定，无法使用，必须为其指定口令后才可以使用，即使是指定空口令。

    指定和修改用户口令的Shell命令是passwd。超级用户可以为自己和其他用户指定口令，普通用户只能用它修改自己的口令。命令的格式为：passwd 选项 用户名

    可使用的选项：

    -l 锁定口令，即禁用账号。
    -u 口令解锁。
    -d 使账号无口令。
    -f 强迫用户下次登录时修改口令。
    
    如果默认用户名，则修改当前用户的口令。
    如果是超级用户，可以用下列形式指定任何用户的口令：
    passwd username
    passwd -d username 将用户口令删除
    passwd -l username passwd命令还可以用-l选项锁定某一用户，使其不能登录
    
7. chown 使用chown命令更改文件拥有者 /etc/passwd

    chown [-R] 账号名称(拥有者) 文件或目录
    chown [-R] 账号名称:用户组名称 文件或目录
    
8. 使用chgrp命令更改文件所属用户组 /etc/group

    chgrp [-R] 用户组名称 dirname/filename ...

9. ls -l

    第一个是拥有者，第二个是用户组
    
    ###### tags: `Linux`