linux用户管理

用户管理

概述

Linux是一个多用户管理的操作系统,但是很少有非常多的用户(不同用户名)同时操作一个系统的情况。对于一个标准的Linux系统来说,就是一个普通用户和一个root用户。
通常除了root用户外,建议专户专用:比如应用部署用户,查询用户,数据库用户,文件传输用户等,用户管理和权限管理息息相关,专户专用方便权限分离。
用户的操作需要使用root用户权限

相关配置文件

用户信息都是存放在/etc/passwd,用户密码信息存放在/etc/shadow。

创建用户时参照/etc/lgoin.defs文件中的配置,对用户的创建添加了一些默认的行为

主要操作

  • 增加用户:useradd
  • 删除用户:userdel
  • 修改用户:usermod
  • 查看用户:

1)通过命令: id

2)通过配置文件 /etc/passwd

  • 用户密码管理

命令详解

useradd命令

使用useradd命令添加用户,会在/etc/passwd 产生一条用户信息。/etc/passwd里面的信息分为7列,被6个:隔开。

  • 第一列表示username(login name)
  • 第二列表示密码列,但是已经移除,用x表示,密码信息存放再/etc/shadow文件
  • 第三列表示用户的UID(user ID),和身份证号差不多,绝对不会重复
  • 第四列表示用户所属组的ID,用户的primary group ID。任何用户都是要属于一个用户组的。
  • 第五列表示描述信息,邮箱,电话等(默认为空)
  • 第六列表示用户的家目录
  • 第七列表示用户的登录的shell信息

用法

useradd abc -u 5000 -d /abc -s /bin/sh

  • 创建用户时,默认创建家目录,因为默认参照了/etc/lgoin.defs文件中的配置,对用户的创建添加了一些默认的行为。
  • 创建用户成功之后的默认行为是创建用户的家目录和邮箱。

常用参数:

  • g:添加primary group
  • G:添加attached group

添加用户的时候指定附加组:
useradd username -G attached-group

userdel命令

使用userdel命令删除用户。

常用参数

  • f:强制删除用户,即使用户当前已登录;
  • r:删除用户的同时,删除与用户相关的所有文件。
  • 删除用户时,默认不会删除家目录和邮箱。
  • 创建一个用户后,删除了该用户,如果没用-r参数将用户路径删除,再用useradd添加的时候会报错,家目录已存在。

示例

userdel abc

id命令

使用id命令查看用户。id 用户名,与下面命令差不多,也是通过查看/etc/passwd来实现的。
grep name /etc/passwd

usermod命令

使用usermod命令修改用户的信息。

常用参数

  • L:锁定用户
  • U:解锁用户

示例

usermod wjx -u 5001 -d /wjx -s /bin/bash
usermod -G group user 将一个现有的用户添加到附加组

usermod -G group user只能指定一个附加组

usermod -aG group1,group2 user 继续添加附加组,不覆盖原有的,且参数顺序不可变。

用户密码管理

密码信息存放在/etc/shadow,每一列密码信息以“:”分割:

  • 第一列表示存放是的那个用户的密码信息(username)
  • 第二列存放的是密码,该密码不是明文的,而是使用加密算法加密的,具体算法是在/etc/login.defs配置文件中指定
  • 第三列存放的是上次修改密码的时间,从1970.1.1 到现在的天数
  • 第四列存放的是密码的最小有效期,0表示随时可以修改,1表示间隔1天才能修改密码
  • 第五列存放的是密码的最大有效期,默认是99999,如果是3,则表示3天后失效
  • 第六列存放的是密码到期前,提前多少天警告的时间信息。如果是7,表示密码失效前7天发警告,告诉你密码即将到期。
  • 第七列用户密码到期后宽限日期。如果数字是2,则表示密码过期后两天内还能正常使用,两天后就失效了。
  • 第八列表示账号失效日期。如果到了这个日期,该账户密码直接失效,不能用了。
  • 第九列保留

使用passwd命令来修改密码信息。passwd不能修改上次修改密码的时间信息。

  • d:删除用户的密码
  • n:密码最小有效期
  • x:密码最大有效期。默认是99999,如果是3,则表示3天后失效。
  • e:加用户名,将该用户直接设置为过期,常用于新用户设置,设置初始密码后,登录后必须修改密码才可正常使用。再Windows中默认就是0。
  • l:账号锁定,锁定后只有root用户可以切换到该账号,切只有root用户可以解锁
  • u:解锁账号

root用户可以用passwd命令修改任何用户的密码。其他用户只能用passwd命令修改自己的密码。

示例

在脚本中使用以下命令将tgb的密码直接设置成123

echo 123 | passwd --stdin tgb(只能root用户使用)。

chage命令

chage命令是相比于passwd更灵活的修改密码信息。

  • m:密码可更改的最小天数。为零时代表任何时候都可以更改密码。
  • M:密码保持有效的最大天数。
  • w:用户密码到期前,提前收到警告信息的天数。
  • E:帐号到期的日期。过了这天,此帐号将不可用。
  • d:上一次更改的日期。
  • i:停滞时期。如果一个密码已过期这些天,那么此帐号将不可用。
  • l:列出当前的设置。由非特权用户来确定他们的密码或帐号何时过期。
  • d:上次修改日期

示例

chage -d 1300 -m 2 -M 4 -W 7 -I 2 -E 2021-12-31 tgb

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值