linux用户与用户组相关指令与文件个人笔记

指令

# 将用户的密码设置为过期,下一次登陆时将直接创建新的密码
chage -d 0 ${user}

# 设置用户全名
chfn ${user}
usermod -c "${full_name}" ${user}

# 修改用户shell
chsh ${user}
usermod -s ${new_shell} ${user}

# 将用户加入用户组
gpasswd -a ${user} ${group}
usermod -aG ${group} ${user} 

# 从用户组里删除用户
gpasswd -d ${user} ${group}

# 创建组
groupadd ${group}

# 删除组
groupdel ${group}

# 修改组名
groupmod -n ${new_name} ${old_name}

# 显示用户所属的组
groups ${user}
id ${user}

# 删除用户及其家目录
userdel -r ${user}

# 创建用户并且创建用户的家目录,同时设置默认的shell
useradd -m -s ${shell} ${user}

# 修改用户的家目录并且移动用户家目录下的文件
usermod -d ${home} -m ${user}

# 修改用户的登录名
usermod -l ${new_name} ${old_name}

# 设置用户密码
passwd ${user}

文件

/etc/passwd

字段 备注
用户名
密码 参数为x*
用户ID 0为root用户,系统预留一部分,之后为普通用户
用户组ID 用户所属的用户组的ID
用户名全称 可以不设置,但是某些发行版需要设置,而且不允许全称与用户名相同
家目录 通常为/home/${USER}/
root用户家目录为/root/
可以用~代指
可以通过cd切换至该目录下
shell程序 比如/bin/bash/bin/zsh,大多时候可以通过chsh修改

例如

test:x:1000:1000::/home/test:/bin/bash

/etc/shadow

字段 备注
用户名
密码 通常为DES加密后的密文,盐为/^\$[^$]*\$[^$]*\$/
*表示该用户不能登录
(空格)或者!表示空密码
!!表示密码过期
上次修改时间 为1970-1-1起到最近一次修改的天数
最小修改间隔 天数,为0表示禁用此功能,表示用户至少间隔一定时间才能修改密码
最大修改间隔 天数,超过天数密码过期
过期提前警告 在最大修改间隔前一定的天数,会在用户登录时显示提示
禁用延迟 密码过期后一定的天数,会彻底禁用用户
禁用时间 为1970-1-1起到用户被禁用的天数
保留字段 暂时没什么用

例如

test:$1$tTqQgGnx$cgmFAQdVMHOrtQlU5u5fFYy7whzua7ngU5Xxwkg4aA4/Xx30HKkIF3pP3Kk3yUuWwxsq3MmfFsSKBGtTdhHN33:17833:0:99999:7:::

/etc/group

字段 备注
组名
组密码 参数为x(空格)表示没有设置组密码
用户组ID 实际包含的用户是在/etc/passwd中用户组ID为本用户组ID的用户与在本文件最后一个字段列表中的用户
用户列表 ,分隔

例如

root:x:0:root,admin

/etc/gshadow

/etc/group的加密文件

字段 备注
组名
组密码 组密码为!(空格)表示没有设置组密码,设置了之后,此处将会显示一段密码加密后的密文
管理员 ,分隔
成员 ,分隔
  • 组密码并不常用,但需要临时令一个用户切换至它并不从属的用户组时,该用户组必须已经设置了组密码,然后使用newgrp命令切换
  • 如果用户从属要切换的用户组,使用newgrp并不需要组密码

例如

admin:!:root,admin:user1,user2

/etc/login.defs

用户登录相关的默认值,下面记录一些CentOS上该文件里一些参数

参数 含义
PASS_MAX_DAYS 最大修改间隔 99999
PASS_MIN_DAYS 最小修改间隔 0
PASS_MIN_LEN 最小密码长度 5
PASS_WARN_AGE 过期提前警告 7
UID_MIN 普通用户ID的最小值 1000
UID_MAX 普通用户ID的最大值 60000
UMASK 用户权限 077

参考

  1. Users and groups - ArchWiki
  2. linux用户和组管理,/etc/passwd 、/etc/shadow和/etc/group 文件内容解释

你可能感兴趣的:(linux用户与用户组相关指令与文件个人笔记)