linux账号与身份管理系统,linux账号与身份管理

Linux账号与身份管理

1.      linux账号与用户组

用户标识符:UID与GID

虽然我们平时在登录linux主机的时候,会输入账号,但是linux并不会直接认识我们的账号,它认识的仅仅是ID。ID是一串数字,存储在/etc/passwd中。而账号仅仅是为了方便我们记忆而已。

Linux一共有两种ID,即UID和GID,UID是用户身份的标识,GID是群组的标识,它存在/etc/shadow中。

2.      用户账号

当我们登录主机时,会出现一个login界面提示我们登录,这时输入我们的账号和密码后,linux会做什么呢?

1)     先查找/etc/passwd看是否有这个账号,如果没有则退出,反之读出该用户的UID,GID,shell以及家目录等信息。

2)     Linux进入/etc/shadow中查找对应的账号与UID,判断用户输入的密码与里面的密码是否一致。

3)     如果一切相符,则进入shell的掌控阶段。

由上面的流程可以得知,与账号有关的最重要的两个文件就是/etc/passwd以及/etc/shadow,一个管账号,一个管密码。

/etc/passwd文件结构

root:x:0:0:root:/root:/bin/bash

huli:x:500:500:huli:/home/huli:/bin/bash

其中每一行代表一个字段,有一些账号是系统正常运行所必须得,我们称它们为系统账号,每一行共有7个字段,使用’:’分隔开

1)用户名称

2)密码,一般是一个’x’,由于安全起见,现在的版本中密码都移到了/etc/shadow中。

3)UID

4)GID

5)账户描述信息

6)用户家目录

7)该用户默认的shell

注意:当UID是0时,表示这个账户是系统管理员,因此,要使一个账号变成系统管理员,可以将它的UID设成0。

/etc/shadow文件结构

root:$1$3FuRYPZx$CxcC2ghSgPjp7MzbWAal:15251:0:99999:7:::

同样,shadow的每一行也代表一个账户,也是以’:’分隔,但是它有9个字段。

1)用户名称,与passwd对应

2)密码:这是真正的密码,经过加密,如果密码栏的第一个字符是’*’或者是’!’,表示这个账号并不会用来登录。

3)最近更改密码的日期,这是距离1970年1月1日的天数。

4)密码不可更改的天数:这个字段表示这个账号的密码需要经过几天后才能更改,如果是0的话,表示密码随时可以更改。

5)密码需要重新更改的天数:如果为99999的话,表示密码不需要更改

6)密码更改期限前的警告期限

7)密码过期的宽限时间:如果密码失效了,还可以用这个密码在这个字段设置的天数内进行登录,如果在这个天数后还没有更改密码,那么账号将无法再进行登录。

8)账号失效日期,这个字段是自1970年以来的总日数。

9)保留

有效用户组与初始用户组

初始用户组:新增加一个账户时的默认用户组

有效用户组:新建立一个文件时,文件所属的用户组

可以使用groups来查看当前用户所属的用户组,在输出地消息中,第一个输出的用户组就为有效用户组。我们可以使用newgrp来改变我们的有效用户组。

账号管理:useradd、相关设置文件、passwd、usermod、userdel

Useradd username

参数:

-u : 后面接UID,是一组数字。直接给这个账号制定一个特定的UID

-g : 后面接的用户组名称就是上面提到的初始用户组。

-G: 后面接的用户组名称是这个账号还可以支持的用户组

-M: 强制,不要建立用户家目录。

-m : 强制,要建立用户家目录。

-c : 这个是/etc/passwd第5栏的说明内容。

-d : 指定某个目录称为家目录,而不要使用默认值。

-r : 建立一个系统账号,这个账号的UID会有限制(/etc/login.defs)

-s : 使用的默认shell

这个命令可能会更改的文件有:

/etc/passwd

/etc/shadow

/etc/group

/etc/gshadow

/home/username

这个命令参考的文件有:

/etc/default/useradd

/etc/login.defs

/etc/skel/*

passwd(更改密码)

passwd [-lunxwS] username

参数:

-l : 将username账号的密码锁住(lock),在/etc/shadow内的密码栏修改。

-u: 将-l的lock解开

-n: 后面接天数,/etc/shadow内的第四栏

-x: 后面接天数,/etc/shadow内的第五栏

-w: 后面接天数,/etc/shadow内的第六栏

-S: 显示当前这个username的相关信息

注意:所有的用户均可使用passwd来修改自己的密码,但只有root可以使用该命令修改别人的密码。

usermod(用于修改账号相关的信息)

usermod [-cdegGlsuLU] username

参数:

-c  : 后面接账号的说明,/etc/passwd的第5栏

-d  : 后面接账号的家目录,/etc/passwd的第6栏

-e  : 后面接日期,格式是YYYY-MM-DD,/etc/shadow的第8栏

-g  : 后面接group name,/etc/passwd的第4栏

-G  : 修改该用户所支持的用户组,修改的是/etc/group

-l   :后面接账号名称,/etc/passwd的第一栏

-s   :后面接shell的实际文件,如果/bin/bash

-u   :后面接UID,/etc/passwd第3栏

-L   :暂时冻结用户,即修改/etc/shadow的密码栏

-U   :将/etc/shadow密码栏的!去掉,解冻。

Userdel(删除账户)

Userdel [-r] username

参数:

-r : 连同用户的家目录一起删除

切换用户身份(su,sudo)

su可以切换到root身份,不过需要root密码。如果直接使用su,那么MAIL/PATH/USER等环境变量还是原来登陆者的(注意HOME变量会切换),如果希望在切换身份时环境变量也跟着变,那么建议使用su -。

su [-lmc] [username]

参数:

-          : 如果执行su –时,表示该用户想要变换身份成为root,且使用root的环境参数文件,如/root/.bash_profile等

-l   : 后面可以接用户,例如su –l huli,这个-l的好处是,可使用变换身份者

的所有相关环境设置文件。

-m  :-m与-p是一样的,表示“使用当前环境设置,而不重新读取新用户的设置文件”

-c   :仅进行一次命令,-c后面接命令。

sudo的一个弊端是普通用户必须知道管理员的密码,当系统中有许多用户时,

如果每个用户都知道管理员密码,便存着者安全隐患。这个时候,可以使用

sudo,sudo是如何工作呢?

当用户执行sudo时,系统会先查找/etc/sudoers文件,判断用户是否有sudo。

如果有权限,便提示用户输入自己的密码来确认。

若密码输入成功,便可执行命令。

sudo [-u [username|#uid]] command

参数:

-u : 后面接用户账号名称,或者是UID。

手动增加用户

如果要手动增加用户,必须清楚得了解到所有相关的设置文件。

一般,手动增加用户会涉及到以下几个文件的修改:

/etc/passwd

/etc/shadow

/etc/group

/etc/gshadow

/home/username

系统提供了一些工具来保证手动添加用户的安全性

peck

它能够检查/etc/passwd账号设置文件内的信息,以及实际的家目录是否存在

等信息,还可以比较/etc/passwd、/etc/shadow的信息是否一致,另外,如果

/etc/passwd内德数据字段错误,也会提示修改。

pwconv

这个命令的目的是将/etc/passwd内的账号与密码移到/etc/shadow中。

pwunconv

这个命令的目的是将/etc/shadow内的密码栏数据写回到/etc/passwd中。

grpconv

这个命令的目的是将/etc/group内的账号与密码移动到/etc/gshadow中

chpasswd

这个命令可以读入未加密前的密码,并且经过加密后,将加密后的密码写入

/etc/shadow中。它可以由标准输入读入数据,每个数据的格式是:

“username:password”

例:echo “skind:user!@#” | chpasswd

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值