Linux账号权限

UID与GID

UID:使用者ID(User ID)
GID:用户组(Group ID)
在Linux系统中,每一位用户都有自己唯一的UID,我们输入的用户名与组名只是方便记忆,实际上无论UID还是GID都是以数值的形式存在的,而UID与GID的关系在/etc/passwd文件中维护。(此文件中还包含用户名,默认的shell等等信息)

用户登录过程

1.先寻找/etc/passwd中是否有所输入的账号,如果没有则跳出,如果有的话则将该账号对应的UID与GID(在/etc/group中)读出来,另外,该账号的家目录与shell的设定也一并读出。
2.核对密码,这时Linux回进入/etc/shadow里面找出对应账号的UID,然后核对一下你刚刚输入的密码与文件中的密码是否相符。
3.如果一切都ok,那就进入shell掌控阶段。

/etc/passwd文件结构

此文件中,每一行都代表一个账号,有几行,就代表有几个用户在你的系统中。
不过其中有一些系统账号,如bin,daemon,adm,nobody等等都是系统正常运作所必须的,所以不要轻易修改或删除他们。
此文件中,一共有7个字段,每个字段之间用冒号:分割,具体信息如下:
1.账号名称
是用来提供给使用者的,因为如果让我们用数字当用户名会相当难以记忆,而账号名称要对应UID,比如root的UID是0.
2.密码
UNIX早期的密码就放在这个字段,但由于此文件所有用户都可以读取,容易造成密码泄露,所以后来密码就被放到/etc/shadow文件中,因此一般在该字段你会发现一个x字母。
3.UID
UID就是使用者标识符(UserID)
Linux中UID的限制如下:

id范围 该ID使用者特性
0
(系统管理员)
当UID是0时,代表,该用户是系统管理员,所以要让其他的账号名称也具有root的权限时,
将该账号的UID改成0即可。也就是说,一个Linux系统上面的系统管理员可以不只有root一个,
不过一般不建议这么做,容易让系统管理员混乱。
1~999
(系统账号)
保留给系统使用的者的ID,除了0之外,其他的UID权限与特性都相同。
由于系统上面启动的网络服务与后台服务等,都希望以较小的权限去运行,不希望用root权限,
所以这些账号就由此范围的UID来提供,而这些系统账号通常是不可登陆的,
所以才会有/sbin/nologin这个特殊的shell存在。
这些账号有大致可以分为2类:
1~200:由distributions自行建立的账号
201~999:
1000~60000 一般使用者用户。

4.GID
GID与/etc/group有关,它是用来记录组名与GID的对应关系。
5.用户信息说明栏
用来解释该账号的意义
6.家目录
这个就是用户的家目录,root的家目录在/root,所以当root用户登录之后,就会自动转到/root目录下。
如果你有一个用户下的空间使用量特别大,你想将家目录移动到其他的硬盘上,则可以修改此字段。
默认的家目录为/home/YOUR_USER_NAME
7.Shell
当用户登陆系统之后,就会取得一个Shell来与系统内核进行沟通,以进行用户的操作任务,就如linux大多是以bash作为默认shell一样,这个字段可以指定shell种类。/sbin/nologin无法获取shell环境,无法登陆,但是并不意味着这些用户无法获取系统资源,所以一般而言这些账号是用来启动服务用的,而不是用来登陆操作shell的。

/etc/shadow文件结构

1.账号名称
文件的第一栏就是账号名称,必须要有/etc/passwd相同的名称。
2.密码
经过编码加密的密码,因此你会看到一堆特殊符号和字母,虽然加密后很难破解,但很难不代表不能,所以此文件的权限是-rw-------的,即,只有root用户才能读/写。

# 使用下面的命令可以查看密码是用什么机制加密的
authconfig --test | grep hashing

在这里插入图片描述
3.最近一次修改密码的日期
这个字段记录了最近一次,修改密码的日期,不过它用一个整数记录,如16599,这是因为,它是以1970年1月1日作为起始值,即1,开始逐年累加的,那么1971年1月1日即为366。上面的16599其实指的就是2015年5月4日,可以用下面的命令来查看。(天数24小时60分钟*60秒)
在这里插入图片描述
4.密码不可以被修改的天数(以第3个字段为基准)
记录了密码修改后,多少天内不允许再次修改密码,如果设置为0,则没有限制,可随时再修改密码,如果设置为10,那么则 意味着,10天之内无法再修改密码。
5.密码需重新修改的天数
一般而言,系统会强制要求大家每隔一段时间修改一次密码,单位是天,如果设置为99999的话(273年)基本上也就不用修改了。。。书归正传,如果设置为30,那么意味着30天内你需要修改密码,否则,密码将会变为过期状态。
6.密码需要变更的期限前的警告数(以第5个字段为基准)
当第5字段设置的期限快要到时,提前N天来提醒用户修改密码【您的密码再过N天即将过期,请尽快修改密码】之类的。
7.密码过期后的宽限天数
当超过第5字段的期限后,密码处于过期状态,这里可以设置宽限时限,比如设置为7则意味着密码过期后一周内该账号还可以用来做其他工作,包括登陆,取得bash,不过如果密码过期,登陆时会强制要求用户先修改密码,才能继续使用。如果该字段值为0则表示密码过期后立即失效&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值