Linux系列十一 - 账户管理

一、用户账号
ssh登录系统处理过程

1、查找账户在/etc/passwd 中是否存在,不存在跳出,存在则读出UID与GID(从/etc/group)
2、读取/etc/shadow找出对应的账户与UID,核对密码
3、校验通过,登录成功

/etc/passwd文件结构

root:x:0:0:root:/root:/bin/bash:分隔,共有7个字段,含义分别是:
1、账户,用于对应UID
2、密码,早期使用,为了安全统一使用x了,密码存储在/etc/shadow
3UID,用户标识符
    0:系统管理员
    1~499:系统账户
    500-65535:用户
4GID,/etc/group关联
5、用户信息说明,
6、主文件夹,默认的用户主文件夹
7、shell,用户可取得的shell环境

/etc/shadow文件结构

root:$1$/30QpE5e$y9N/D0bh6rAACBEz.hqo00:14126:0:99999:7:::
1、账户名称
2、密码
3、最近更改密码的日期,从1970-1-1到更改密码时的天数
4、密码不可被改动的天数,与字段3对比。比如设置为5,用户于2018-07-10修改了密码,那么在2018-07-15之前不能再修改密码
5、密码需要重新修改的天数,与字段3对比。即密码多久过期。比如设置为5,即表示5天后密码失效
6、密码需要修改期限前的警告天数,与字段5对比。当密码临近过期时,根据该字段的设置在过期前多久给用户提示
7、密码过期后的账户宽限时间(密码失效日),与字段5对比。密码失效后多久内仍可登录
8、账户失效日期,即过了该日期,此账户将无法使用
9、保留字段

/etc/group文件结构

root:x:0:root
1、用户组名称
2、用户组密码,密码已使用/etc/gshadow文件
3GID,用户组id
4、用户组支持的账户名称

/etc/gshadow文件结构

root:::root
1、组名
2、密码
3、用户组管理员的账户
4、该用户组下的账户

有效与初始用户组

初始用户组:
当用户登录,即会拥有/etc/passwd下该账户对应的GID即用户组相关权限(第四个字段),该GID即是用户的初始用户组。
有效用户组:
当用户创建一个文件或目录时,有效用户组决定了新文件所属用户组
groups 查看用户组,输出的第一个为有效用户组
newgrp 切换有效用户组,命令:newgrp 用户组名

二、账号管理
用户新增与删除

命令:
useradd [-u UID] [-g 初始用户组] [-G 次要用户组] [-c 说明列] [-d 主文件夹绝对路径] [-s shell] 用户账户名
    -s 后面接shell,未指定时默认使用/bin/bash
当使用命令:useradd 用户名 ,创建用户时,系统会根据默认值创建用户信息。默认值可通过:useradd -D 命令查看
用户创建后使用命令:passwd 账户名 为新建用户设置密码,若想修改当前用户密码使用命令:passwd即可
命令:passwd [--stdin] :可使用前一个管道的数据作为密码输入
命令:usermod username 修改用户信息
命令:userdel username 删除用户相关数据
    userdel [-r] username 
        -r :删除用户主目录

用户功能

finger [-sm] username 查看用户信息
    -s 列出用户的账户、全名、终端代号与登录时间等
    -m 列出与username相同者
chsh [-ls] 
    -l 列出可用的shell 
    -s 设置修改自己的shell
id [username] 
    未输入username,表示查看当前用户id信息

新增与删除用户组

groupadd [-g GID] [-r] 用户组名
    -g 接系统已有GID,表示直接赋予该GID
    -r 新建系统用户组
groupmod [-g GID] [-n groupname] 用户组名
    -g 修改gid为指定数据
    -n 修改用户组名为指定数据
groupdel [groupname]
    删除指定用户组,当某个用户组为用户的初始用户组时无法删除

四、用户身份切换
su

su - 可将身份切换为root,但需要密码
su [-lm] [-c 命令] [username]
    - : 代表使用login-shell的配置文件读取方式登录系统,未指定用户表示切换为root
    -l :login-shell方式,后面加目标用户名
    -m :使用当前的环境配置
    -c :执行一次命令,后接命令
exit 退出su

sudo

sudo切换不需要目标用户密码,只有在/etc/sudoers 中的用户才能执行sudo
sudo [-b] [-u 新用户账户]
    -b : 将后续的命令让系统自动执行,而不与目前的shell产生影响
    -u : 后接欲切换的用户账户,不加此参数表示切换root

visudo : 修改/etc/sudoers的命令

用户账户   登录者的来源主机    可切换的身份     可执行的命令
root           ALL       =   (ALL)            ALL
该用户组的用户
%admin         ALL       =   (ALL)            ALL
%代表后面接的是用户组,那么在该用户组下的用户就能使用sudo命令
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值