往期内容

Linux常用指令合集

Linux文本编辑器

Linux软件包管理

Linux用户管理

Linux权限管理

文章目录

  • 用户配置文件
    • 用户信息文件
      • 路径: /etc/passwd
    • 影子文件
      • 路径:/etc/shadow
    • 组信息文件和组密码文件
      • 组信息文件/etc/group
      • 组密码文件/etc/gshadow
  • 用户管理相关文件
    • 用户的家目录
    • 用户的邮箱
    • 用户模板目录
  • 用户管理命令
    • 用户添加命令
      • 命令格式
      • 用户默认值文件
    • 修改用户密码
      • 命令格式
    • 修改用户信息
    • 修改用户密码状态
    • 删除用户
    • 用户ID
    • 切换用户身份
  • 用户组管理命令
    • 添加用户组
    • 修改用户组
    • 删除用户组
    • 将用户添加进组或从组中删除
  • 笔记领取

用户配置文件

用户信息文件

路径: /etc/passwd

首先获得该配置文件的帮助信息:

[root@localhost ~]# man 5 passwd

进入配置文件:

[root@localhost ~]# vim /etc/passwd

第一字段:
用户名称

第二字段:
密码标志,但密码存在 /etc/shadow 中,这是因为passwdshadow的权限不同,只有root用户才能查看shadow文件。

第三字段:
UID(用户ID)

  • 0: 超级用户
  • 1-999: 系统用户
  • 1000-65535 普通用户

第四字段:
GID(用户初始组ID)

  • 初始组:每个用户只有一个初始组,一般就是和这个用户名相同的组名作为这个用户的初始组。
  • 附加组:指用户可以加入多个其他的用户组,并拥有这些组的权限,附加组可以有多个。

第五字段:
用户说明(备注)

第六字段:
家目录

  • 普通用户:/home/用户名/
  • 超级用户:/root/

第七字段:
登陆之后的Shell

  • ShellLinux的命令解释器。
  • /etc/passwd 当中,除了标准Shell/bin/bash 之外,还可以写如 /sbin/nologin

影子文件

路径:/etc/shadow

进入配置文件:

[root@localhost /]# vim /etc/shadow

第一字段:
用户名

第二字段:
加密密码

  • SHA512散列加密算法。
  • 如果密码位是 “!!”“*” 代表没有密码,不能登陆。

第三字段:
密码最后修改日期。

  • 1970年1月1日到修改密码日期的总天数。

第四字段:
两次密码的修改间隔时间。

第五字段:
密码有效期(以第三字段为起点)。

第六字段:
密码修改到期前的警告天数(以第五字段为起点)。

第七字段:
密码过期后的宽限天数。

  • 0代表密码过期后立即失效。
  • -1表示密码永远不会失效。

第八字段:
账号失效时间。

  • 用时间戳表示。

第9字段:
保留

组信息文件和组密码文件

组信息文件/etc/group

第一字段:
组名

第二字段:
组密码标志

第三字段:
GID

第四字段:
组中附加用户

组密码文件/etc/gshadow

不太重要,这里就不说了。

用户管理相关文件

用户的家目录

普通用户:/home/用户名/,所有者和所属组都是此用户,权限是700。

超级用户: /root/,所有者和所属组都是root用户,权限是550。

用户的邮箱

路径:/var/spool/mail/

用户模板目录

路径:/etc/skel/

新建一个用户,会将**/etc/skel/**中的文件拷贝在该用户的的目录下,可以理解为新建用户时默认产生的文件,例如帮助文档,操作指南等。

用户管理命令

用户添加命令

命令格式

useradd [选项] 用户名
选项:-u UID:           #人为指定用户UID号-d 家目录:        #手工指定用户的家目录-c 用户说明:    #手工指定用户的说明-g 组名:          #手工指定用户的初始组-G 组名:           #指定用户的附加组-s Shell:       #手工指定用户的登陆shell。默认是/bin/bash

例如建立一个名叫ceshi的用户:

useradd -u 250 -G root,bin -c "test" -d /zhou -s /bin/bash ceshi

用户默认值文件

  • 路径 /etc/default/useradd
GROUP=100       #用户默认组
HOME=/home     #用户家目录
INACTIVE=-1        #密码过期宽限天数(shadow的第7个字段)
EXPIRE=            #密码失效时间(shadow的第8个字段)
SHELL=/bin/bash    #默认shell
SKEL=/etc/skel #模板目录
CREATE_MAIL_SPOOL=yes  #是否建立邮箱

但这个文件中只定义了shadow文件的第七和第八个字段,其余字段的定义在下面这个文件中。

  • 路径 /etc/login.defs
PASS_MAX_DAYS            #密码有效期(shadow的第5个字段)
PASS_MIN_DAYS           #密码修改间隔(shadow的第4个字段)
PASS_MIN_LEN            #密码的最小位数(现在是PAM生效)
PASS_WARN_AGE           #密码到期警告(shadow的第6个字段)
UID_MIN                 #最小和最大UID范围
UID_MAX
ENCRYPT_METHOD SHA512   #密码加密算法是SHA512

修改用户密码

命令格式

passwd [选项] 用户名
选项:-S        #查询用户密码的密码状态,仅root可用-l       #暂时锁定用户(仅root可用)-u      #解锁用户(仅root可用)--stdin   #可以通过管道符输出的数据作为用户的密码

这里重点说一下最后一个选项的使用:

echo"456"|passwd --stdin 用户名

这句命令的意思是默认将456这个字符串作为该用户的密码,这种方法在创建多个用户时比较有效。

修改用户信息

usermod [选项] 用户名
选项:-u UID           #修改用户的UID号-c "用户说明"     #修改用户的说明信息-G 组名           #修改用户的附加组-L                 #临时锁定用户(Lock)-U                   #解锁用户锁定(Unlock)

修改用户密码状态

其实用vim直接修改shadow文件更好。

chage [选项] 用户名
选项:-l            #列出用户的详细密码状态-d 日期:     #修改密码最后一次更改日期(shadow第3字段),天数设为0就可以使用户登陆就要修改密码-m 天数:     #两次密码修改间隔(第4字段)-M 天数:      #密码有效期(第5字段)-W 天数:     #密码过期前警告天数(第6字段)-I 天数:     #密码过后宽限天数(第7字段)-E 日期:      #账号失效时间(第8字段)

删除用户

userdel -r 用户名
选项:-r    #连同用户的家目录一起删除

用户ID

id 用户名

切换用户身份

su [选项] 用户名
选项:-:            #连带用户的环境变量一起切换-c "命令":   #仅执行一次命令,而不切换用户身份

示例:

su - root
su - root -c "useradd zhou"

用户组管理命令

添加用户组

groupadd [选项] 组名
选项:-g GID:           #指定组ID

修改用户组

groupmod [选项] 组名
选项:-g GID:           #修改组ID-n 新组名:         #修改组名

例如将user1改为user2(但不建议修改组名):

groupmod -n user1 user2

删除用户组

groupdel 组名

如果该组没有初始用户才可进行删除,要想删除,要优先删除初始用户。

将用户添加进组或从组中删除

gpasswd [选项] 组名
选项:-a 用户名:        #把用户加入组-d 用户名:       #把用户从组中删除

笔记领取

Linux系列文章均已打包成PDF版本的笔记,关注公众号“大拨鼠Code”回复“Linux”领取,持续更新。

【Linux】用户管理命令相关推荐

  1. Linux用户管理命令

    1.用户管理命令 Linux是一个多用户的系统 (1)系统存储用户信息的位置 /etc/passwd:存储用户的基本信息 UID GID UID:用户 GID:用户所属的组 (2)/etc/group ...

  2. linux用户管理命令 2

    一.用户添加命令:useradd useradd 命令的用法是:useradd 用户名,比如,useradd user1,这样就添加了一个用户名是 user1 的用户. 添加用户时,还有一些常用的选项 ...

  3. Linux用户管理命令(第二版)

    添加用户 1.useradd -设置选项 用户名 [-D 查看缺省参数 ] 选项: u: UID [必须是系统中没有的] g:缺省所属用户组GID[最好有] G: 指定用户所属多个组[可以指定这个用户 ...

  4. Linux 用户管理命令笔记

    1.新增用户 useradd user1 用户创建流程 1.系统先将用户信息记录在/etc/passwd中,一般会在/etc/passwd和/etc/shadow末尾,同时分配该用户UID. 2.创建 ...

  5. Linux 用户管理命令id、su

    id命令 功能:查看一个用户的UID和GID用法:id [选项]... [用户名] 直接使用id 直接使用id 用户名 su命令 功能:切换用户.用法:su [选项]... [-] [用户 [参数]. ...

  6. Linux用户管理命令详解,useradd、passwd

    添加用户命令,useradd 语法:useradd [选项] 用户名 选项:-u UID:指定用户的UID号 -d 家目录:指定用户的家目录 -c 用户说明:指定用户说明,类似注释 -g 组名: 指定 ...

  7. linux初级学习笔记七:linux用户管理,密码和组命令详解!(视频序号:04_1)

    本节学习的命令: 用户管理命令:useradd,userdel,id,finger,usermod,chsh,chfn,passwd,pwck, 组管理命令:groupadd,groupmod,gro ...

  8. Linux 文件与目录管理+用户管理命令(详解+练习)

    1. 创建目录 mkdir NO1. 在当前路径创建一级目录 [root@rehat root]# mkdir test NO2. 在当前路径创建多级目录 [root@rehat root]# mkd ...

  9. linux用户组管理命令_Linux用户和组命令能力问题和解答

    linux用户组管理命令 This section contains Aptitude Questions and Answers on Linux User and Group Commands. ...

  10. Linux查看所有用户及用户管理命令

    1.Linux里查看所有用户 (1)在终端里.其实只需要查看 /etc/passwd文件就行了. (2)看第三个参数:500以上的,就是后面建的用户了.其它则为系统的用户. 或者用cat /etc/p ...

最新文章

  1. java的构造函数格式_java – 自定义MapReduce输入格式 – 找不到构造函数
  2. OpenCASCADE:建立Body
  3. .net 和 java 技术对应关系
  4. 飞畅科技-工业级以太网交换机常见问题解析!
  5. [zz]Linux操作系统下三种配置环境变量的方法
  6. java 安卓下载文件_GitHub - Charay/downloadfile: 使用Retrofit2+Rxjava+Rxandroid+okhttp的方式下载文件并存储到sd卡指定目录...
  7. 静态资源存储 vs 对象资源存储
  8. stm32单片机屏幕一直闪_用STM32做一个微型掌上示波器项目——终于鼓起在大牛前献丑的无比勇气...
  9. Java 函数引用 替代方案
  10. Unity教程之-Unity Attribute的使用总结
  11. c# 获取excel单元格公式结果_EXCEL公式解析:单元格中数字去重排序思路及公式详解...
  12. 为什么不使用Go语言呢?
  13. [我的成长:1004期]春节快乐
  14. iOS开发之HTTP与HTTPS网络请求
  15. android模拟器 gpu,Android模拟器新版升级,新增GPU支持、多点触摸等功能【视频】...
  16. 查看手机db数据库文件
  17. 高通 MSM8K bootloader 之四: ramdump
  18. DSP芯片的基本结构
  19. android 自定义快捷键,Android Studio中常用设置与快捷键
  20. 《这!就是街舞》,好综艺还是好生意?

热门文章

  1. Unity基础补漏(1)_GameObject类_Time类_Transform类_Camera_光面板_物理面板/物理材质_碰撞检测函数_刚体加力
  2. 图像匹配 | 论文与方法整理
  3. 韩语在线翻译图片识别_3个OCR文字识别工具,最后一个许多人都不知道!
  4. KMSpico 无后门下载
  5. 两角和正切的展开式+正切公式+一元微积分
  6. 同一个项目中让R和Python无缝工作的五种方法
  7. 如何学习IOS APP开发?开发iOS手机软件一般用什么编程语言?
  8. 【OS】Linux下 /dev 常见特殊设备介绍与应用[loop]
  9. 计算机视觉教程1-1:透视空间与透视变换
  10. visio中画细箭头