Linux下的用户和用户组管理

一、用户及用户组存在的意义

1.用户存在的意义

系统资源有限的,如何合理分配系统资源?
Linux的特性是:多用户,多任务。

不同的用户执行自己的任务时互不干扰,每个用户不能越界去访问其他正在执行的任务,可见linux就是通过权限的划分和管理来实现多用户、多任务的运行机制。而Linux中的用户其实也是一个道理,通过建立不同权限的用户,一来可以合理的控制和运用系统的资源,二来可以帮助用户构建自己的私人空间,更好的组织和管理自己的文件

1)身份 :account
2)授权 :authorization
3)认证 :authentication

3A机制,3A机制组成系统中最底层的安全架构

2.用户组存在的意义

  • 用户组是一个逻辑容器
  • 对用户进行归类和统一授权

二、用户及用户组在系统中的存在方式

  • 用户是 /etc/passwd 文件中的一行字符
  • 用户组 存在方式是/etc/group 文件中的一行字符
    id -------->名称 (必须要记录到文件当中 用户才能存在)

三、用户的查看与切换

1.用户查看

whoami 查看当前用户
id 用户 查看用户信息
id -u 用户 查看用户的用户id
id -g 用户 查看用户主组id
id -G 用户 查看用户所有的组的id
id -nu/g/G 用户 显示名称

Linux下的用户和用户组管理_第1张图片

2.用户切换

su - username 切换到username下
- 切换用户环境
username 如果root(超级用户)—>commuser(普通用户) 不需要输入密码
commuser(普通用户)—>root(超级用户) 需要密码
commuser(普通用户)—>commuser(普通用户) 需要密码
  • root(超级用户)—>commuser(普通用户)
    在这里插入图片描述
  • commuser(普通用户)—>root(超级用户)
    Linux下的用户和用户组管理_第2张图片
  • commuser(普通用户)—>commuser(普通用户)
    在这里插入图片描述
    注意:
  • 在做用户切换时,若用户身份使用完毕后,应及时退出
  • 不要在一个shell中反复执行su命令(会导致环境错乱)
    Linux下的用户和用户组管理_第3张图片

四、用户涉及到的系统配置文件

/etc/passwd :[用户身份信息文件]
Linux下的用户和用户组管理_第4张图片
/etc/group :[组身份信息文件]

Linux下的用户和用户组管理_第5张图片
/etc/skel/.* :[用户环境配置文件模板]

/etc/shadow :[用户认证信息文件]
Linux下的用户和用户组管理_第6张图片

/home/username :[用户家目录]

五、用户和用户组建立及删除

  • watch -n 1 “tail -n 3 /etc/passwd /etc/group ; ls -l /home/”(监控用户建立的命令)

Linux下的用户和用户组管理_第7张图片

  • useradd username 用户建立

useradd -u username 用户id
useradd -g id username 主组id
useradd -G id username 附加组id
useradd -d dir username 指定用户家目录
useradd -c word username 指定用户说明
useradd -s shell username 指定shell

(0:超级用户
1-200:预留id
201-999:系统用户
1000-60000:用户级用户
/etc/login.defs:记录用户建立的默认规则)

Linux下的用户和用户组管理_第8张图片

  • userdel username 用户删除

userdel -r username 删除用户的系统配置文件

Linux下的用户和用户组管理_第9张图片

  • groupadd groupname 组建立

groupadd -g id groupname 指定组名称

Linux下的用户和用户组管理_第10张图片

  • groupdel groupname 组删除

Linux下的用户和用户组管理_第11张图片

六、用户和用户组的信息管理

1.用户信息管理

usermod -l 更改用户名称
usermod -u 更改用户id
usermod -g 更改用户主组id
usermod -G 更改用户附加组身份
usermod -aG 添加用户附加组身份
usermod -c 更改用户说明
usermod -d 更改用户家目录
usermod -md 更改用户家目录指向,同时更改家目录名称
usermod -s 更改默认shell
usermod -L 冻结账号
usermod -U 解锁

Linux下的用户和用户组管理_第12张图片

2.用户组信息管理

  • groupmod -g 更改用户组id

Linux下的用户和用户组管理_第13张图片

七、用户认证信息管理

cat /etc/shadow
在这里插入图片描述

1.用户名称
2.加密密码
3.最近一次修改密码日期:从1970年1月1日起到最后一次被修改那天的时间天数
4.密码最小使用权限:密码使用多少天后才能够换密码
5.密码最大使用权限:密码使用多少天后必须换密码
6.密码警告期:密码到期前几天提醒用户
7.密码非活跃期:密码到期后用户仍可使用几天
8.账户过期日期:从1970年1月1日算起,多少天后账号失效
9.预留

1) Passwd 用法

passwd -S username 查看密码状态
passwd -username 修改密码
passwd –l 冻结密码
passwd –u 解锁冻结
passwd –d 删除密码
passwd –e 清零上次修改密码时间 使得用户在下次登录时必须改密码
passwd –n 修改密码最小使用权限
passwd -x 修改密码最大使用权限
passwd –w 修改警告时间
passwd –i 修改非活跃期限
  • 查看密码状态

在这里插入图片描述

  • 修改密码

超级用户下改普通用户username的密码
4170.png)

echo 123 | passwd --stdin username [只有root下才可以执行]
Linux下的用户和用户组管理_第14张图片
【以上两种方法在root下都可以修改普通用户密码】

普通用户改密码

Changing passwd for username
Current passwd :输入原始密码
New passwd:输入新密码(8位以上无序数字+无序字母的组合)
Retype new passwd:重复输入新密码
passwd:all authentication tokens updated successfully.

Linux下的用户和用户组管理_第15张图片

  • 冻结及解锁密码

Linux下的用户和用户组管理_第16张图片
Linux下的用户和用户组管理_第17张图片

  • 删除密码

括号内为linux密码在这里插入图片描述
输入passwd -d linux 命令后,括号内密码被删除
Linux下的用户和用户组管理_第18张图片

2)Chage 用法

chage –d 更改上次修改密码时间
chage –m 更改最小密码使用权限
chage –M 更改最大密码使用权限
chage –W 更改警告时间
chage –I 更改非活跃期限
chage –E 更改账号到期时间
  • 修改账号到期时间
    Linux下的用户和用户组管理_第19张图片

【以下修改均可用passwd或chage命令操作】

Linux下的用户和用户组管理_第20张图片

  • 设置密码立即过期(更改上次修改密码日期)
    强制用户在下次登录时修改密码:
    Linux下的用户和用户组管理_第21张图片
    设置上次修改密码时间距离1970-1-1日23天
    Linux下的用户和用户组管理_第22张图片
  • 修改最小密码使用权限
    Linux下的用户和用户组管理_第23张图片
    Linux下的用户和用户组管理_第24张图片
  • 修改密码最大使用权限
    Linux下的用户和用户组管理_第25张图片
    Linux下的用户和用户组管理_第26张图片
  • 修改密码过期前警告时间
    Linux下的用户和用户组管理_第27张图片
    Linux下的用户和用户组管理_第28张图片
  • 修改密码到期后非活跃期限
    Linux下的用户和用户组管理_第29张图片
    Linux下的用户和用户组管理_第30张图片

八、用户权力下放

在系统中普通用户无法执行系统管理命令时, 如果需要普通用户执行系统管理动作,那么需要root用户来进行授权(权力下放)。

授权方式:

sudo 可使普通用户使用指定的用户身份来运行命令

授权方法:

输入命令 visudo ,:100 定位到需要修改的那一行
Linux下的用户和用户组管理_第31张图片
插入模式下,输入要加入的命令
Linux下的用户和用户组管理_第32张图片
切换到普通用户,这时就可以添加和删除用户了
Linux下的用户和用户组管理_第33张图片

你可能感兴趣的:(笔记,linux,运维)