linux给组设置密码的命令,16_Linux基础知识及命令———— 为用户、组设定密码...

一、设定密码

管理员在创建新用户时可以不为用户指定密码,新用户可以使用 passwd命令来自行修改密码;而root用户则可以使用以下命令来修改指定用户的密码:

# passwd USERNAME

密码的设定应该遵循密码安全策略,密码的安全策略包括以下内容:

1.足够复杂,不要使用生日、姓名等

2.密码的长度至少5位,越长越好,其中5为是redhat的默认策略。

3.包含大写字母、小写字母、属主和特殊字母中至少三类,建议随机生成密码。

采用这种组合方式,会增加密码破译的难度。如果采用纯数字来设定一个6位的密码,则密码的组合有10*10*10*10*10*10种可能,对计算机而言,进行10^6运算并不复杂。如果采用大写字母、小写字母、特殊字符和数字的组合来设定6位密码,则可能的组合有将近100^6种,对于目前计算机的运算能力而言,相对比较难以破译。

4.定期更换密码,不要重复此前使用过的密码。

需要注意的是,管理员设定的密码,即使违反了安全策略,系统也不会采取任何措施;而对于普通用户,如果违反了安全策略,则密码设定会失败。

例如我们用root用户来创建一个用户tom,并且给tom设定密码123, 这里123明显违反了安全策略,虽然系统给予了警告,但是依然设定成功了。

# useradd tom

# passwd tom

# su - tom              //切换为tom用户

# passwd

用户tom想为自己修改密码,第一次输入456, 创建失败;输入centos,创建失败;输入centOS,创建失败;输入456@centOS,创建失败,输入O*Sentc@456则能够通过安全策略,创建成功。

d6cf4d72b14b374e845806bdd679051d.png

通过查看/etc/shadow文件,root用户可以知道哪些用户被锁定了。被锁定的用户名后面会有两个!!,如我们进行如下操作:

# passwd -l tom

# tail -1 /etc/shadow

# passwd -u tom

# tail -1 /etc/shadow

可以明显观察到tom用户后面!!的变化情况

8ac05ddf931bb0f70e2b381b74945cb5.png

二、密码的属性含义

用户密码相关的信息存放在 /etc/shadow文件中,我们来查看一下该文件,以理解用户密码的各种属性的含义:

# cat /etc/shadow

运行该命令可以得到密码的基本信息,以冒号为分隔符,分开的小段是密码的属性:Accout:$n$ABC...:Last_Time:Min_Period:Max_Period:Warning:Inactive:Expire_Date:Reserve

用户的登录名该密码选用的加密方式加密后的密码串最近一次修改密码的时间密码的最短使用期限密码的最长使用期限密码到期警告时长账户非活动天数账号过期时间预留段

对照上表,我们以用户tom为例来解释密码的属性含义:

在/etc/shadow文件中,tom用户的密码信息为:

tom:$6$V4K4KTHL.............:16168:0:99999:7: : :

tom: 用户名

$6$: tom 用户的密码采用的加密方式为6 | SHA - 512 (single glibc 2.7)

我们可以通过以下命令来查看加密方式:

# man 3 crpt

2f1d7a21117844de0c99bdbd07058286.png

V4K4KTHL...: tom用户的密码经过加密后得到的密码串

16168: 最近一次修改密码的时间。这是一个相对时间,为1970年1月1号到修改密码时所间隔的天数

0: 密码的最短使用期限,0表示不做限制

99999: 密码的最长使用期限

7: 密码到期前的警告时长。这里表示密码到期前7天警告。

: 非活动期限。此处缺省,表示tom用户没有账户非活动期限。实际上密码到期后用户不会立刻被锁定,缓冲期即为账户非活动期限,在此期限内,用户登陆系统后做的第一件事就是修改密码

: 账号过期的期限,此处缺省

: 预留段,此处缺省

三、密码管理

管理密码的命令主要有 passwd,chage和usermod:

1. passwd

命令passwd除了基本的设定密码功能,还可以使用选项进行密码管理。passwd命令可以使用的基本选项如下表:

选项名用法

-l锁定用户

-u为锁定用户解锁

-n设定密码的最短使用天数

-x设定密码的最长使用天数

-w密码过期前的警告天数

-i账号非活动天数

-e让用户的密码过期

下面我们来一一解释以上选项的用法:

root用户可以在使用passwd命令时加上-l选项,用来锁定用户。这样用户就不能登录了。使用-u选项,则可以为被锁定的用户解锁。例如锁定tom用户,可以进行以下操作:

# passwd -l tom

# login

# tom

此处即使tom用户输入的密码是正确的,也无法登录。

# exit

# passwd -u tom

# login

# tom

此时tom可以正常登录了。

c2de141f4a5aa5f965563d8b5082ac04.png

使用-n 选项可以设定密码的最短使用天数,例如我们将tom用户的密码最短使用天数改为1天,可以使用如下命令:

# passwd -n 1 tom

# tail /etc/shadow

a48e0572b4fc3fac61cb46bbe7ab8967.png

使用-x 选项可以设定密码的最长使用期限,例如我们将tom用户的密码最长使用天数改为2天,可以使用如下命令:

# passwd -x 2 tom

# tail /etc/shadow

fb8ddf8e6faefd7dcdd860036e9734af.png

使用-w选项可以设定密码过期前的警告天数,例如为tom用户设定密码过期前的警告天数为2天,若tom的密码过期时间为2天,那么当tom此时登陆,就会提示他密码将在2天后过期,而建议他修改密码:

# passwd -w 2 tom

# tail /etc/shadow

983c8d3e59eeaa6d3f99023267b8aa8e.png

使用 -i选项,可以设定用户密码过期后的非活动时间。在这个时间内,用户的密码已经过期了,但还是可以登陆,登陆后第一个操作即是修改密码:

# passwd -i tom

# tail /etc/shadow

18e5dd868b5ac3b5b81959307cfaa54c.png

使用-e 选项可以使用户的密码过期,例如我们若让tom用户的密码立刻过期,可以使用如下命令:

# passwd -e tom

# tail /etc/shadow

5f8412647cc7d0fb7024a33b1ba98e67.png

2.chage

使用chage命令也可以管理用户的密码,它的用法和passwd命令非常相似,其基本选项如下表:选项名用法

-d修改密码的最近一次修改时间

-m设定密码的最短使用天数

-M设定密码的最长使用天数

-I账号非活动天数

-W密码过期前的警告天数

-E设定密码的过期时间

使用-d选项,可以修改密码最近一次被修改的时间,此命令和选项常被***用来掩盖***行踪,如修改tom用户的密码最近修改时间,可以使用:

# chage -d YYYY-MM-DD tom

1cbfd0e1ddcdbcca489b2b75ed222e8f.png

chage命令的其他选项如-m,-M,-I,-W的用法和passwd基本一致,故此处不加赘述,-E选项可以为用户指定具体的过期日期,如为tom用户指定具体的过期时间,可以使用:

# chage -E YYYY-MM-DD tom

f87968a488b0f5660bb7037179f456a2.png

3.usermod

此命令的主要作用并非用来管理用户的密码,但它也具备最基本的密码管理功能。它用来管理密码的基本选项有 -e和-f,其中-e可以用来设定密码的过期时间。

例如设定tom的密码具体过期日期,可以用如下命令:

# usermod -e YYYY-MM-DD tom

而 -f选项后面的参数为密码的非活动天数,其中-1表示没有密码的非活动天数,密码到期就失效,例如设定tom没有密码的非活动天数,可以使用如下命令:

# usermod -f -1 tom

4cb9b09343a253ab35cf1a734517c023.png

四、给组设密码

除了可以为用户设定密码外,组也可以设定密码,使用的基本命令是:gpasswd。给组加密码的作用在于,当某用户临时想切换到一个本来不属于的组时,只有该组有密码,且此用户知道密码,才可以进行此项操作。若要进行此项操作,还需要引入令一个命令:newgrp,此命令的作用在于临时设定指定的组为自己的基本组。

例如root创建了组hellogrp,并为该组设定了密码,redis用户原本不属于该组 ,但想临时将hellogrp组作为自己的基本组,那么只要redis用户知道密码,就可以使用newgrp命令将自己的基本组临时切换为hellogrp,其基本操作如下:

# su - redis   // 切换为redis用户

# id        // 查看当前的用户属性,可知基本组为redis

# exit       // redis 用户退出

# groupadd hellogrp  // root用户创建hellogrp组

# gpasswd hellogrp   //root用户为hellogrp组设定密码123

# su - redis        // 切换为redis用户

# newgrp hellogrp  // redis用户将自己的基本组切换为hellogrp组,需要输入密码

# id              // redis 用户查看自己当前的属性,可以看到hellogrp变成了基本组

# exit            // redis 用户退出后即回到原来的基本组redis

# id

# newgrp testgrp    // redis用户原来就属于testgrp,因此不需要密码,就可以直接将基

# id              // 本组切换为testgrp组

c5fc5783b1be7112646c8ddc13b2f47c.png

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值