linux修改密码和宽限天数,Linux用户和组管理

登录Linux时我们都需要输入账号和密码,但Linux只会识别账号所对应用ID号,这个ID号就称为UID。

同理每个用户组也都拥有相对应的组ID号,即GID。

Linux根据/etc/passwd文件的内容来查找当前登录用户是否为合法用户。

1429807923128507.png

上图中标注的即为root用户所对应的UID和GID。

一、用户账号信息

1、/etc/passwd文件

此文件件中每一行为一个用户的信息,以“:”分隔,共七个字段,各字段含义如下:

1)账号名称

就是我们用来登录系统的账号名。

2)密码

由于/etc/passwd文件任何程序都可以读取,出于安全考虑Linux已经把密码存放在/etc/shadow文件中了,此处只用"x"来占位表示。

3)UID

用户ID;Linux将用户划分为以下几类:id用户类型用户特性

0管理员可以对系统做任何操作,没人能阻止

1-499系统账号专门用来运行程序的用户,此类用户不可以登录系统

500以上普通用户可以登录系统的有限权限的用户

4)GID

组ID与用户ID的规定相类似,只不过它是用来定义用户组的,与其相关的文件有/etc/group。

5)信息说明列

用于描述账号的用途,没有实际作用。

6)用户家目录

用于指定用户的家目录的位置。

7)shell

指定用户登录系统后使用的默认shell程序,由于系统用户为不可登录用户,其shell为/sbin/nologin;另外,如果指定的shell在/etc/shells文件中不存在,则此用户将无法登录系统。

2、/etc/shadow文件

前文提到此文件保存了所有登录用户的密码信息,下面来详细了解一下这个文件的内容:

1429809308246047.png

1)账号名称

与/etc/passwd文件中的账号名称相对应。

2)密码

密码以加密的形式存放,sha512加密(centos6),centos5中使用MD5。

3)最近更改密码的日期

此字段中的数字表示,从1970年1月1日开始到最后一次修改密码所经过的天数。

4)密码最少使用天数

此字段定义了用户在最后一次修改密码后,密码必须使用的天数;0表示随时可以修改。

5)密码最多使用天数

此字段定义如果在此时间内没有更改密码的话,密码将会过期,用户登录系统时会被强制要求修改密码。

6)警告天数

密码需要修改前的警告天数,在第5个字段到期前,系统根据此字段的设置提醒用户密码所能使用的天数。

7)密码过期后的宽限时间

这个字段表示密码过期后的多少天内,如果还没有修改密码,密码将会失效,此用户将无法登录系统了。

8)账号失效日期

在指定的日期之后,账号将无法登录系统;日期的指定方法与第3个字段相同。

9)保留字段

二、组账号信息

1、/etc/group文件

1429810734676107.png

此文件每一行代表一个用户组,以“:”作为字段分隔符,共四列,其含义如下:

1)用户组名称

2)用户组密码

不常用,密码信息被保存在/etc/gshadow文件中。

3)GID

与/etc/passwd文件中的第四段对应。

4)组成员

此组中所包含的用户。不过从上图可以看到root组中此字段为空,本来root是属于root组的,可是在这里为什么没有显示呢?因为此字段只显示以此组做为附加组的用户列表。

2、/etc/gshadow

1429811523844382.png此文件内容格式与/etc/group相似,各字段含义如下:

1)用户组名称

2)用户组密码

3)用户组管理列表

4)将此组作为附加组的用户列表

三、账号管理

1、用户管理

1)useradd命令

命令格式:useradd [options] 用户账号名

-u UID:为用户指定UID;

-g GID:所属的基本组;

-G GID:所属的附加组;

-c ‘COMMENT’:注释信息;

-d /path/to/somewhere:为用户创建家目录,如果目录存在会警告;

-s SHELL:指定用户的默认Shell;

-m:强制给用户创建家目录;

-M:不给用户创建家目录;

-r:创建系统用户;

-e:后跟日期,格式为“YYYY-MM-DD”,指对账号失效日期,对应shadow文件的第八个字段。

命令演示:

1429845057232181.png

1429845567537833.png

从上面的两个例子可以看出,创建用户后其家目录都保存在了/home目录下,我们可以在创建用户时修改家目录的位置。

1429846475599734.png

我们来可以指定用户登录时使用的默认shell。

1429847131135273.png

下面我们再来看一下useradd的默认值:

GROUP=100             默认的用户组;

HOME=/home            默认的家目录;

INACTIVE=-1           密码失效时间,对应shadow文件中的第7列;

EXPIRE=               密码过期时间,对应shadow文件中的第8列;

SHELL=/bin/bash       默认登录shell;

SKEL=/etc/skel        默认家目录中的数据源目录;

CREATE_MAIL_SPOOL=yes 是否为用户创建邮箱。

GROUP=100:

此设置表示新建的用户其默认的用户组ID为100,但实际情况并不是这样的,我们创建用户时默认的用户组ID与用户ID是相同的。而且GID对应的用户组是users,我们也从来没有见到过此且户组。其实在Linux中用户组有两种机制:私有用户组和公有用户组。

公有用户组是以GID=100做为新建用户的默认用户组,新建用户都处于同一组中,也就是users组,组中用户可以共享家目录中的数据。

而CentOS采用的是私有用户组的机制,所以GROUP=100不生效。

SKEL=/etc/skel:

我们在创建好用户后,可以在其家目录中发现已经存在一些默认的隐藏目录与文件,如下图所示:

1429849194454970.png

这些文件用于定义用户的环境变量,而这些文件就是从/etc/skel目录中复制过来的。

CREATE_MAIL_SPOOL=yes:

用户创建后都会自动生成一个与用户对应的邮箱,就是靠此设置控制的。

1429849472103259.png

那么如何修改这些默认设置呢?可以通过修改/etc/default/useradd来修改默认值。

1429854718384053.png

1429854843790916.png

上图中将默认的用户家目录改到了/tmp目录中,下面再来创建个新用户:

1429854850140446.png

2)passwd命令

命令格式:passwd  [-k]  [-l] [-u] [-d] [-e] [-n mindays] [-x maxdays] [-w warn-days] [-i inactivedays] [-S] [–stdin] [username]

不带任何选项:修改当前用户的密码;

-k:修改密码时要求输入账号现在使用的密码;

-l:锁定用户;

-u:解锁用户;

-d:删除用户密码;

-e:设置用户密码为过期密码,用户登录时必须修改密码;

-n:密码最小使用天数,与shadow第4个字段对应;

-x:密码最大使用天数,与shadow第5个字段对应;

-w:密码过期前的警告天数,与shadow第6个字段对应;

-i:密码失效日期,与shadow的第7个字段对应;

-S:列出与密码有关的相关参数;

–stdin:可以通过管道进行密码设置。

命令演示:

(1)使用默认选项修改用户密码

1429856559231208.png

1429856562114655.png

上面两个实例中,root用户修改密码时要求直接输入新的密码即可,如果我们想在修改密码前先输入用户的当前密码,再输入新密码,可以使用-k选项。

(2)要求root用户修改密码时提供被修改用户的当前密码

1429856770709418.png

上图中要求先输入当前的密码,认证不通过的话是修改不了密码的,在普通用户中-k是默认选项。

(3)查看密码的相关信息:

1429857141602574.png

上图中的命令结果是以空格分隔的7个字段,各字段含义如下:

第一个字段:用户账号名;

第二个字段:账号的状态;

第三个字段:密码新建的时间;

第四个字段:密码最小使用天数;

第五个字段:密码最长使用天数;

第六个字段:警告天数;

第七个字段:密码是否有效;

(4)锁定账号密码

如果我们想让某个用户暂时无法使用账号来登录系统,可以将密码锁定,如下所示:

1429857744989717.png与之对应的在/etc/shadow文件中test1的密码也发生变化,如下所示:

1429857853126672.png(5)解锁账号密码

使用-u选项即可为用户解锁:

1429858107461459.png

(6)清空账号密码

1429858393709748.png

(7)设置密码过期

1429858603715890.png

1429858610499793.png

设置密码过期后,用户再次登录系统时会要求修改密码。

(8)设置密码的使用时限

1429858964608238.png

1429862681374709.png

(9)不使用交互方式为账号设置密码

1429864066581318.png

3)chage命令

命令格式:chage [options] 用户账号名

-l:显示账号密码的详细信息;

-d:后接日期,最近更改密码的日期,格式YYYY-MM-DD,对应shadow文件第三字段;

-m:后接天数,密码最少使用天数,对应shadow文件第四字段;

-M:后接天数,密码最多使用天数,对应shadow文件第五字段;

-w:后接天数,密码过期前的警告日期,对应shadow文件第六字段;

-I:后接天数,密码失效前的宽限期限,对应shadow文件第七字段;

-E:后接日期,账号失效日期,格式YYYY-MM-DD,对应shadow文件第八字段。

1429863656656599.png

4)usermod命令

用于修改用户的的属性。

命令格式:usermod [options] 用户账号名

-a:以追加的方式将用户添加到附加组,与-G连用;

-c:添加账号说明;

-d:修改家目录,与-m连用可以保证家目录一定会被创建;

-e:后接日期,账号过期日期,格式:YYYY-MM-DD,shadow文件第八字段;

-f:密码失效前的宽限期限,shadow文件第七字段;

-g:修改用户所在的用户基本组;

-G:修改用户所在的用户附加组;

-l:修改账号名称;

-L:锁定账号;

-U:解锁账号;

-m:移动家目录中的内容到新的位置,与-d一起使用;

-s shell:修改用户的默认shell;

-u UID:修改用户的UID;

命令演示:

(1)将用户加入一个附加组中;

1429869024129545.png

(2)修改用户家目录的位置

1430036720138273.png

1430036726432080.png

1430036730134596.png

5)userdel命令

命令作用:删除用户

命令格式:userdel [options] 用户账号名

-f:强制删除用户,即使用户处于登录状态;

-r:同时删除用户家目    二

录;

1430037320630456.png

2、组管理

1)groupadd命令:

命令格式:groupadd [options] 组名

-g GID:指定GID;

-r:创建系统组;

1430037801318854.png2)groupmod命令:

命令格式:groupmod [options] 组名

-g:修改GID;

-n:修改组名;

(1)修改GID

1430038029131447.png

1430038033272177.png

(2)修改组名

1430038133120040.png

3)groupdel命令

命令格式:groupdel group

1430038359399481.png

三、账号查询与控制

1、查看用户信息

1)id命令

命令格式:id [OPTION]… [USERNAME]

-g:显示基本组ID;

-G:显示所有组ID;

-u:显示用户ID;

-n:以名称代替ID显示;

1430039033125100.png

2)whoami命令

1430039578185296.png2、查看当前登录系统的用户

1)w命令

1430039344980637.png

2)who命令

1430039422181287.png

2、用户信息控制

1)chfn命令

命令格式:chfn [option] 用户名

1430040370267381.png

2)chsh命令

命令作用:更改用户默认登录shell。

命令格式:chsh [-s shell][username]

1430040570125135.png

四、用户切换

通常出于安全的考虑,建议使用普通用户来登录系统,在有需要时再切换为管理员进行操作,用户之间的切换有以下几种方法:

1、使用Ctrl+Alt+F[2-6]键,打开新的终端登录;

2、使用ssh远程登录时,可以使用不同的用户登录系统;

3、如果想在同一窗口中进行用户切换,可以使用su命令来实现;

命令格式:su [OPTION] [USERNAME]

-,-l:使用登录shell的方式切换用户;

-c ‘COMMAND‘:使用指定的用户来执行命令;

-m:使用非登录shell的方式来切换用户;

-s SHELL:切换用户时指定shell,此shell必须是中/etc/shells中存在的;

1)使用非登录shell的方式来切换用户。

1430061140937999.png

2)使用登录shell来切换用户

1430061277132742.png3)使用普通用户查看/etc/shadow文件内容

1430061477118073.png

原文:http://petmaster.blog.51cto.com/5408825/1653716

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值