Linux之用户和用户组总结
Linux是多用户、多任务操作系统
UID即为用户身份号码,具有唯一性,
可通过UID来判断用户身份,有以下几种:
UID为0,系统管理员,即root,万能;
UID为1-999,系统账号,用于独立执行某些服务程序,控制被攻击范围,通常不可登录;
UID为1000+,普通用户,由管理员创建;
说明:系统识别和相关存储都是UID,账号只是方便记忆;
UID可以对应多个账号,但是容易引起权限混乱,所以UID和用户账号最好一一对应;
UID范围只是用于规范,并不强制;
系统创建系统账号默认1-999未使用最小号码;
系统创建普通用户张阿红啊默认1000+依次增加,也可指定1-999未被使用号码;
账号是否可登录系统跟shell有关,如/bin/bash和/bin/nologin;
root家目录为/root,普通用户家目录为/home/username,系统账号没有家目录;
GID即为用户组号码,可以把多个用户账号加入到同一个用户组中,方便管理,
创建用户时,会自动创建一个同名的基本用户组,只有该用户一个人,
如果该用户被加入到其他用户组,则称之为扩展用户组,
一个用户只有一个基本用户组,但是可以有多个扩展用户组;
说明:GID与用户组名最好一一对应;
当用户账号支持多个用户组时,则同时拥有多个用户组的权限;
对于新建文件或目录,其用户组是该账号当时有效用户组;
groups-查看支持用户组,第一个即为有效用户组;
newgrp-切换有效用户组,为新的shell环境,用exit退出;
若作为某个账号的初始用户组则不可删除;
用户组管理员可将某个账号加入该用户组或从组中删除;
相关命令:
useradd-创建新的用户
usermod-修改用户属性
userdel-删除用户
passwd-修改用户密码
chage-用户密码实效管理
groupadd-创建用户组
groupmod-修改用户组属性
groupdel-删除用户组
gpasswd-用户组密码和管理员管理
说明:以上除passwd和chage外,其他命令只能以管理员身份执行;
相关文件:
/etc/passwd-用户账号信息
每一行代表一个账号,原有root和许多系统账号,新建账号在最后;
账号:密码x:UID:GID:账号说明:家目录:shell
/etc/shadow-用户密码信息
账号:密码:最近修改日期:不可被修改天数:需要重新修改天数:警告天数:宽限天数:账号失效日期:保留字段
密码为!或空时无法登陆
/etc/group-用户组信息
每一行代表一个用户组,原有许多用户组,新建用户组在最后;
组名:密码x:GID:所含账号
/etc/gshadow-用户组密码信息
组名:密码:管理员账号:所含账号
密码为!或空时无管理员
/etc/default/useradd和/etc/login.defs-创建用户时默认属性值
若在创建时指定了属性值,则以指定的为准
/etc/skel/*-用户家目录默认参考内容