感谢支持
我们一直在努力

Linux帐号管理的passwd和shadow文件

关于某个用户的帐号的管理,最重要的就是/etc/passswd和/etc/shadow;而关于用户群组的管理,最重要的就是/etc/group和/etc/gshadow两个文件。下面来介绍一下关于用户管理的/etc/passwd和/etc/shadow这两个个文件。


/etc/passwd的构造


它是一个纯文本文件,每行采用了相同的格式:


name:password:uid:gid:comment:home:shell ,如下面这段:


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


bin:x:1:1:bin:/bin:/bin/sh


daemon:x:2:2:daemon:/sbin:/bin/sh


………….


说明:


— 在这个文件中,每一行代表一个帐号,有几行就代表在系统中有几个帐号


— 每一行使用“:”符合分割各项,共有7项,分别是:


1、 帐号名称


2、 帐号密码:此域中的口令(密码)是加密的,当用户登录系统时,系统对输入的口令采取相同的算法,与此域中的内容进行比较,如果正确则登录成功。如果此域内容为空,表明该用户登录时不需要口令;如果它的内容为x,表示有密码,且此域其实是密码存储的一个映射,密码真正存储在文件/etc/shadow中(几乎所有linux都用shadow文件来管理密码);如果内容是“*”,表示该用户有效但不能登录;如果是一串乱码,则这些乱码其实经过加密的用户密码(几乎现在所有的linux都不用这种方式保存密码了,而用shadow文件来保存)。


3、 UID:用户的ID,0表示是系统管理员,所以哪个帐号的UID是0表示她就是系统管理员;1~500是系统预留的ID;500~65535供一般用户使用,你可以为某个用户指定某个ID;linux系统的UID在1~65535之间的用户其实都是一样的,只是1~500是系统不建议你使用,作为预留而用做系统保留帐号。用户登录进系统后,系统通过该值,而不是用户名来识别用户。


4、 GID:用户群众的ID。


5、 用来保存用户的真实姓名和个人细节等对帐号的注释信息。


6、 用户根目录:默认新建用户的根目录是/home/yourIDname。


7、 用户登录默认使用的SHELL。


/etc/shadow的构造


为了系统的安全,linux对密码采用了“影子机制”,用户的密码被转存到/etc/shadow文件中,次文件只要root能读,而同时/etc/passwd的密码只保留x,这样最大限度保证密码的安全。


/etc/shadow文件的每行是8个冒号分割的9个域,格式如下:


username: passwd: lastchg: min: max: warn: inactive: expire: flag ,如下面这段:


root:$1$xkigrtllfgw4rhrm5nwQn:11979:7:::


bin:*:11979:0:99999:7:::


………………

说明:


和/etc/passwd一样,每行代表一个用户,使用符号“:”分割。


1、 username:用户名


2、 passwd:密码,如果为空,表示用户密码为空,如果是“*”,表示该用户有效但不能登录。


3、 lastchg:表示从1970年1月1日起到上次修改口令所经过的天数。


4、 min:表示两次修改口令之间至少经过的天数。


5、 max:表示口令还会有效的最大天数,如果是99999则表示永不过期。


6、 warn:表示口令失效前多少天内系统向用户发出警告。


7、 inactive:表示禁止登陆前用户名还有效的天数。


8、 expire:表示用户被禁止登陆的时间,其算法而3相同。


9、 flag:无意义,未使用,留做扩展。


用户管理的几个命令


useradd :添加用户


adduser :添加用户


passwd  :为用户设置密码


usermod :修改用户命令,可以通过usermod 来修改登录名、用户的家目录等等;


pwcov   :同步用户从/etc/passwd 到/etc/shadow


pwck    :pwck是校验用户配置文件/etc/passwd 和/etc/shadow 文件内容是否合法或完整;


pwunconv:是pwcov的立逆向操作,是从/etc/shadow和 /etc/passwd 创建/etc/passwd ,然后会删除 /etc/shadow 文件;


finger  :查看用户注释信息的工具


id      :查看用户的UID、GID及所归属的用户组


chfn    :更改用户信息工具


su      :用户切换工具


sudo    :sudo 是通过另一个用户来执行命令(execute a command as another user),su 是用来切换用户,然后通过切换到的用户来完成相应的任务,但sudo 能后面直接执行命令,比如sudo不需要root密码就可以执行root 赋与的执行只有root才能执行相应的命令;但得通过visudo 来编辑/etc/sudoers来实现;


visudo  :visodo是编辑/etc/sudoers的命令;也可以不用这个命令,直接用vi来编辑/etc/sudoers 的效果是一样的。


sudoedit:和sudo功能差不多。

赞(0) 打赏
转载请注明出处:服务器评测 » Linux帐号管理的passwd和shadow文件
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏