您的位置:首页 > 运维架构 > Linux

Linux管理用户和组账号相关操作及命令

2018-12-27 14:35 531 查看
管理用户和组账号

知识要点

 用户和组的关系及类型

每个账户有一个唯一的UID,每个组也有一个唯一的GID,多个账户可以属于同一个组

 用户和组的相关文件详解

和账户相关文件
/etc/passwd、/etc/shadow

和组相关文件
/etc/group、/etc/gshadow

账户宿主(家)目录中文件来源
新建用户帐号时,从 /etc/skel 目录中复制而来

默认定义账户的属性文件
/etc/login.defs

 用户、组操作

1,添加与删除用户 2,管理密码 3,修改用户参数 4,修改用户密码相关参数 5,添加、修改和删除组

 用户和组账户查询
id命令,用途:查询用户身份标识,格式:id [用户名]

finger命令(默认情况下没装),用途:查询用户帐号的详细信息,格式:finger [用户名]

chfn命令,用途:修改用户的备注信息,/etc/passwd第5字段

who、w、users命令,用途:查询已登录到主机的用户信息(在线用户)

groups命令,用途:查询用户所属的组

知识重难点

 用户的相关文件

  1. 用于保存用户的账号基本信息, 文件位置:/etc/passwd ,每一行对应一个用户的帐号记录
    字段1:用户帐号的名称
    字段2:密码占位符“x” (有X说明有密码)
    字段3:用户帐号的UID号
    字段4:所属基本组帐号的GID号
    字段5:用户全名
    字段6:宿主目录(家目录)
    字段7:登录Shell信息(/sbin/nologin和/bin/fase无法登陆 默认的是bash)
    补充:管理员的家目录是/root,普通用户的家目录一般是/home
    例如

当前的u1和yang用户尚未激活 tail (查看文件尾部的命令)-2 是查看最后两行的内容

  1. 用户账户:
    超级用户 root 程序用户是非管理员用户 普通用户是非管理员用户
    UID (User Identity,用户标识号)唯一的
    超级用户root的UID为0
    程序用户的UID1-499
    普通用户的UID大于等于500

  2. 用于保存密码字串、密码有效期等信息 ,文件位置:/etc/shadow ,每一行对应一个用户的密码记录
    字段1:用户帐号的名称
    字段2:加密的密码字串信息
    字段3:上次修改密码的时间
    字段4:密码的最短有效天数,默认值为0
    字段5:密码的最长有效天数,默认值为99999
    字段6:提前多少天警告用户口令将过期,默认值为7
    字段7:在密码过期之后多少天禁用此用户
    字段8:帐号失效时间,默认值为空
    字段9:保留字段(未使用)

例如:

加密算法:1 代表MD5 2a代表Blowfish 5代表SHA-256 6代表SHA-512

 组的相关文件

  1. /etc/group文件 记录组账号的信息,组账号分为主要组(私有组)和次要组(附属组)
    主要组:与用户相关的默认组,在/etc/passwd文件的第四个字段定义
    次要组:用户可以同时属于其他的组,在/etc/group文件的第四个字段定义
    GID: (Group Identify,组标识号)用户主要组的名称和GID相关
    例如:

补充:(用户至少属于一个组(主要组))默认情况下:创建用户时,会自动创建一个组,组名和用户名一样,这个组就是这个用户的主要组

  1. /etc/skel/*文件 新建用户帐号时,复制到用户宿主目录中

.bash_logout .bash_profile .bashrc)每个用户的家目录都有此类文件
主要控制用户初始配置文件(脚本文件)
.bash_profile:用户每次登录时执行 .bashrc:每次进入新的Bash环境时执行 .bash_logout:用户每次退出登录时执行 /etc/profile 所有用户每次登录时会执行

  1. /etc/gshadow文件,保存组帐号的密码信息(/etc/gshadow文件的应用极少,知道有这个文件即可)

  2. /etc/login.defs文件,对账户初始的属性设置,设置普通用户的UID和GID范围等

 用户相关命令

  1. useradd命令(添加用户) 格式:useradd [选项]… 用户名
    常用命令选项
    -u:指定 UID 标记号(没有指定时默认最大值加一)
    -d:指定宿主目录,缺省为 /home/用户名
    -e:指定帐号失效时间
    -g:指定用户的基本组名(或GID号)
    -G:指定用户的附加组名(或GID号)
    -M:不为用户建立并初始化宿主目录
    -s:指定用户的登录Shell
    -r: 建立系统账号
    useradd命令在后台到底做了哪些工作

  2. passwd命令(修改密码) 格式:passwd [选项]… 用户名

常用命令选项
-d:清空用户的密码,使之无需密码即可本地登录
-l:锁定用户帐号
-S:查看用户帐号的状态(是否被锁定)
-u:解锁用户帐号
–stdin:接收标准输入作为密码

补充;root用户可以修改所有用户密码,不要求复杂性。普通用户只能改自己的密码,还需输入原来的密码 要求复杂性。

  1. userdel命令(删除用户) 格式:userdel [-r] 用户名 添加 -r 选项时,表示连用户的宿主目录一并删除

  2. usermod命令(修改用户的参数) 格式:usermod [选项]… 用户名

常用命令选项
-l(小写L):更改用户帐号的登录名称
-L:锁定用户账户
-U:解锁用户账户
以下选项与useradd命令中的含义相同
-u、-d、-e、-g、-G、-s

  1. chage命令 格式:chage [选项]… 用户名
    常用命令选项
    -l:列出密码时效的具体信息

 组命令

  1. groupadd命令(创建组) 格式:groupadd [-g GID] 组帐号名 例如:groupadd -g 1000 market 创建组账号为market

  2. groupdel命令(删除组) 格式:groupdel 组账号名

-M重置成员

  1. groupmod命令 用途:设置组名和组id 格式:groupmod [选项]… 组帐号名
    常用命令选项
    -n:修改组名
    -g:修改组id

 查询命令

Id命令查询用户属于哪个组最准确 例如 id my

应该先创建组在创建用户

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: