linux的passwd和shadow重要文件说明

l /etc/passwd

# vim /etc/passwd

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

....省略

说明:

每一行都代表一个账号。有很多账号是系统中必须要的,简称系统账号,例如bin,nobody 等。每一行使用:分隔开,共有七段,分别是:

1, 账号名称。对应 UID 用的!

2, 密码:早期的Unix 系统的密码是放在这个文件中,但因为这个文件的特性是所有的程序都能够读取,所以考虑到安全问题,后来就将这个字段的密码数据给改放到 /etc/shadow中。这里的 x,表示密码已经被移动到 shadow 这个加密过后的文件了。

3,  UID:这个就是使用者识别码 (ID) !通常 Linux 对于 UID 有几个范围:其中0是代表超级管理员,1-499系统账号,500-65535给一般使用者使用的。

4, GID:与 /etc/group 有关!用来规范group

5, 使用者信息说明栏。

6, 家目录:使用者的家目录,如果有个账号的使用空间特别的大,想要将该账号的家目录移动到其它的硬盘去,可以在这里进行修改!默认使用者家目录在 /home/yourIDname

7, Shell:使用者使用的shell,注意:有个shell可以用来替代成让账号无法登入!那就是/sbin/nologin!可以用来制作纯pop邮件账号者的数据!


l /etc/shadow
用户的相关密码存放文件。

#vim /etc/shadow

root:$1$crpkUkzg$hLl/dYWm1wY4J6FqSG2jS0:14296:0:99999:7:::

bin:*:14296:0:99999:7:::

...省略。。。

共有九段:

1,账号名称:必须与passwd文件帐号相对应。

2,密码:被编译过!只会看到一些特殊符号的字母!如果是在密码栏的第一个字符为*或者是!,表示此账号并不会被用来登入。这样就可以限制某些帐号的登陆

3,最近更动密码的日期:这个字段记录了更动密码的那一天的日期,注意,Linux 日期的时间是以1970/01/01作为 1 ,而1971/01/01则为366! 所以这个日期是累加的天数!

4,密码不可被更动的天数:如果是0,表示密码随时可以更动。如果在此期间修改系统会提示:You must wait longer to change your password

passwd: Authentication token manipulation error

5,密码必须在限制的天数内修改的天数:必须要在这个时间之内重新设定的密码,否则这个账号将会暂时失效。而99999,表示密码不需要重新输入!

6,密码需要修改期限前的警告期限:当账号的密码失效期限快要到的时候,系统会依据这个字段的设定,发出警告(Warning: your password will expire in 5 days)给这个账号,提醒再过n天密码就要失效了。。。

7,密码过期的宽限时间:当密码失效后,还可以用这个密码在n天内进行登入。 而在这个天数后还没有修改密码,账号就绝对失效了!

8,账号失效日期:也是用1970 年以来的总天数设定。账号在此规定的日期之后,将无法再使用。 通常应用在收费服务的系统中,可以规定一个日期让该账号不能再使用!

9,保留:最后一个字段是保留的,看以后有没有新功能加入。

 

l /etc/group

这个文件就记录GID与群组名称的对应

#vim /etc/group

root:x:0:root

bin:x:1:root,bin,daemon

每段意思是:

1,群组名称

2,群组密码:通常不需要设定,因为我们很少使用到群组登入!不过密码也是被纪录在 /etc/gshadow

3,GID:群组的ID 

4,此组成员名称。注意,一个使用者是可以加入多个群组的。

 

l /etc/gshadow  该文件记录了组的密码

#vim /etc/gshadow

root:::root

bin:::root,bin,daemon

分别是:
1,群组名称 

2,密码栏,开头为 ! 表示无法登入;

3,群组管理员的账号 

4,该群组的所属账号 (与 /etc/group 内容相同)

以系统的操作来说,/etc/gshadow 的密码提供,最大的功能是在于让那些不在组中的成员,临时加入该组用。实际上使用的情况是很少的,而如果真的要操作这样的环境,那就得要熟悉newgrp 的用法!而且还要提供某个组的密码出来,不好管理。所以,若真想要让某个使用者利用该群组的功能时,还是直接将对方加入群组的支持就好了!


取消root的密码登入系统
这时必须要使用到 /etc/shadow 这个数据!所以只要能够以各种可行的方法开机进入Linux,例如单人维护模式,或者是以live CD (KNOPPIX)。然后将硬盘顺利挂载,然后进入/etc/shadow这个文件中,将root的密码栏全部清空!然后再登入Linux一次,这个时候root将不需要密码(有的时候需要输入空格符) 就可以登入了!再以passwd重设root密码

 

相关命令:

usradd

-u  :接UID 。直接指定一个特定的UID给这个账号;

-g  :后接组名( initial group) ,该 group ID (GID) 会被放置到 /etc/passwd。

-G  :后接组名称,这个账号还可以支持的组。会修改 /etc/group 内的相关资料!

-M  :强制!不要建立使用者家目录

-c  :这个就是 /etc/passwd 的第五栏的说明内容,可以随便设定

-d  :指定某个目录成为家目录,而不使用默认值;

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

-s  :后面接一个shell ,默认为/bin/bash 

该命令的配置文件为 /etc/default/useradd

 

usermod 

参数:

-c  :后面接账号的说明,即 /etc/passwd 第五栏的说明栏,可以加入一些账号的说明。

-d  :后面接账号的家目录,即修改 /etc/passwd的第六栏;

-e  :后面接日期,格式是 YYYY-MM-DD 也就是在 /etc/shadow 内的第八段!

-g  :后面接 group name,修改 /etc/passwd 的第四段,即GID !

-G  :后面接 group name,修改这个使用者能够支持的组,修改的是 /etc/group

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

-s  :后面接Shell 的实际文件,例如 /bin/bash 或 /bin/csh 等等。

-u  :后面接 UID!即 /etc/passwd 第三栏的;

-L  :暂时将使用者的密码冻结,让他无法登入。就是改/etc/shadow 的密码栏。

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

 

Ø passwd:密码管
root 可以帮助user 设定密码!user 仅能修改自己的密码!

# passwd [-lunxwS] username

参数:

-l  :将 username 这个账号的密码锁住 (lock),就是修改/etc/shadow内的密码栏

-u  :将 -l 的 lock 解开!

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

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

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

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

 

userdel:删除使用者,

参数:

-r  :连同使用者的家目录也一起删除

 

chsh:一般使用者修改shell

参数:

-l  :列出目前系统上面可用的 shell ,就是 /etc/shells 的内容!

-s  :设定修改自己的 Shell 

Ø groupadd

# groupadd [-g gid] [-r]

参数:

-g  :后接GID ,用来直接给予某个GID给新建的组

-r  :建立系统组!与 /etc/login.defs 内的 GID_MIN 有关。

Ø groupmod:进行group 相关参数的修改。

# groupmod [-g gid] [-n group_name]

参数:

-g  :修改 GID ;

-n  :修改组名称

 

gpasswd:

给组设定密码。 设定后,该组就能够让某些人登入成为有效群组!

v (root)做的动作

# gpasswd groupname

# gpasswd [-A user1,...] [-M user3,user4...] groupname

# gpasswd [-rR] groupname

参数:

    :若没有任何参数时,表示给予groupname 一个密码(/etc/gshadow)

-A  :指定该组的组管理员

-M  :将某些账号加入这个组当中!

-r  :将 groupname 的密码移除

-R  :让 groupname 的密码栏失效,所以newgrp就不能使用了!

v 关于组管理员(Group administrator)的动作

$ gpasswd [-ad] user groupname

参数:

-a  :将某位使用者加入到 groupname组当中!

-d  :将某位使用者移除出 groupname组

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值