首页 > 代码库 > 我和linux的第二十五天

我和linux的第二十五天

linux账号管理与ACL权限设置

linux系统中,每一个文件都具有“所有者与所属用户”即UserID(UID)GroupID(GID)

输入账号密码后,系统所做的处理:

1.找寻/etc/passwd里面是否有你所输入的账号,如果没有则跳出,若有则将该账号对应的UIDGID读出来,另外,该账号的主文件夹与shell设置也一并读出。

2.其次核对密码表,这是系统会进入/etc/shadow里面找出对应的账号和UID,然后核对你输入的密码与文件里的密码是否一致。

3.一切OK,则进入shell控管的阶段。

/etc/passwd文件结构:每一行都代表一个账号,有几行就有几个账号在系统中!里面很多账号是系统正常运行所必要的,我们简称为系统账号,例如有bindeamonadmnobady等,这些账号不可以随意删除。

root账号在/etc/passwd中的信息:

root:x:0:0:root:/root:/bin/bash(以‘:’为分隔符,共七列)

账号名称:密码:UIDGID:用户信息说明列:主文件夹:shell

1.账号名称:就是账号,用来对应UID

2.密码:密码数据放在/etc/shadow中,这里之用‘x’代替,这样可以提高账号安全性;

3.UID:用户标识符,0为系统管理员、1~499为系统账号、500~2^32-1为一般账号;

4.GID:规定组名与GID的对应,与/etc/group有关;

5.用户信息说明:用来解释这个账号的意义;

6.主文件夹:用户的主文件夹;

7.shell:用户登录后取得一个shell与系统内核通信,进行用户操作任务。

/etc/shadow文件结构:密码以及密码限制的参数都在/etc/shadow中,提高账号安全性。

root账号在/etc/shadow中的信息:

root:$6$ofCfdaFflafdjs:16415:0:99999:7::: (以‘:’为分隔符,共九个字段)

账号名称:密码:最近更动密码的日期:密码不可被更动的天数:密码需要重新更改的天数:密码需要更改期限的警告天数:密码过期后账号宽限时间:账号失效日期:保留字段

1.账号

2.密码:这段数据是真正的密码,是经过加密后的密码(现多用MD5加密)。

3.最近更动密码日期:1970/01/01UNIX元年,16415/365=44年,1970+44=2014年。更能精细到天数;

4.密码不可被更改的天数:(与第3字段相比)设置为20的话,则设置了新密码后,20天后才可以再次修改;

5.密码需要重新更改的天数:(与第3字段相比)必须要在这个天数内重新设置密码,否则账号将会变为过期特性。99999/365=273年,表示无强制意思。

6.密码需要更改期限前的警告天数(与第5字段相比)密码有效期快到的时候,系统会发出警告给这个账号,提醒过n天后密码过期。上面例子则是密码到期前的7天内,系统会警告该用户;

7.密码过期后账号宽限时间(密码失效日):(与第5字段相比)密码过期后,用户还没有登录更改密码,那么账号再也无法使用该密码登录,系统会强制要求你必须重新设置密码才能登录继续使用;

8.账号失效日期:这个账号在此字段规定的日期之后,将无法再使用,通常设置在“收费服务”的系统中。

9.保留字段:用于以后新功能的加入。

/etc/group文件结构:该文件是记录GID与组名的对应。

root账号在/etc/group中的信息:

root:x:0:

用户组名称:用户组密码:GID:此用户组支持的账号名称

1.用户组名称;

2.用户组密码:一般不需设置,通常是给用户组管理员使用,密码已经移动到/etc/shadow中,这里只有一个‘x’;

3.GID:用户组的ID,与/etc/passwd第四个字段使用的GID对应;

4.此用户组支持的账号名称:一个账号可以加入多个用户组,某个账号想要加入此用户组时,将该账号填入这个字段即可。

/etc/gshadow文件结构:

root上好在/etc/gshadow中的信息:

root: : :

用户组名:密码列:用户组管理员的账号:该用户组的所属账号

1.用户组名;

2.密码列:为“!”时,表示该用户组无用户组管理员;

3.用户组管理员的账号;

4.该用户组的所属账号(与/etc/group内容相同)。

有效用户组(effective group)与初始用户组(initial group

/etc/passwd中的GID就是所谓的“初识用户组”,即当用户登录系统,立刻就拥有这个用户组的相关权限的意思。

新建一个新的文件则要检查当时的有效用户组。

groups,在输出的信息中,第一个用户组即为有效用户组。

newgrp,有效用户组的切换。newgrp xeyes 则有效用户组切换成xeyes

账号管理

新增用户:useradd [参数] username-u UID制定一个特定UID给这个账号、-g 初始用户组、-c说明栏(/etc/passwd中的第5列)、-r创建一个系统账号、-s shell指定shell,系统默认/bin/bashuseradd -D查看新增用户默认设置。

默认创建一个账号,系统处理的几个项目:

/etc/passwd里面创建一行与账号相关的数据,包括创建UID/GID/主文件夹等;

/etc/shadow里面将此账号密码相关参数填入,但尚未有密码;

/etc/group里面加入一个账号名称一模一样的组名;

/home下面创建一个与账号同名的目录作为用户主文件夹,且权限为700

修改账号密码:passwd [参数]-S列出密码相关参数,即/etc/shadow文件内的大部分信息、-n接天数,/etc/shadow中的第4字段,多久不可修改密码天数、-x接天数,/etc/shadow中第5字段,多久内必须改动密码、-w接天数,/etc/shadow中第6字段,密码过期前的警告天数、-i接日期,/etc/shadow中第7字段,密码失效日期。

chage:更详细的密码参数显示功能。

usermod:进行账号相关数据的微调

删除用户:userdel username-r连同用户的主文件夹也一起删除。

用户功能

查阅用户信息:finger username-s仅列出用户的账号、全名、终端机代号与登录时间等。

修改用户的finger数据:chfnchange finger),用法:chfn [参数] username

修改shellchsh [参数]-l列出当前可用的shell,即/etc/shells的内容、-s设置修改自己的shell

查看用户相关的UID/GID等信息:id username

用户组管理

新增用户组:groupadd [参数] groupname-g接某个特定GID,用来直接给予某个GID-r新建系统用户组。

修改group的相关参数:groupmod [参数] groupname-g修改已有的GID数字、-n修改已有组名。

删除用户组:groupdel groupname

用户组管理员:gpasswd []参数username groupname。

本文出自 “开忈的主题” 博客,谢绝转载!

我和linux的第二十五天