美文网首页linux
linux用户管理(二)

linux用户管理(二)

作者: new_liziang | 来源:发表于2019-01-04 10:36 被阅读0次

用户信息的更改

方式:

usermod 参数 用户

-l 新用户名 原用户名 更改用户名

-u 更改用户uid

-g 更改用户gid

-G 更改用户附加组

-aG 添加多个用户附加组(系统默认只能有一个附加组)

-c 更改用户说明

-d 更改用户家目录

-s 更改用户shell

-L 冻结帐号(冻结后其他用户不能切换到被冻结的帐号)

-U 解锁帐号

实践:

新建用户userli

将用户名userli修改为studnet

[root@foundation74 kiosk]# usermod -l student userli

//在/etc/passwd下查看用户信息

student:x:1001:1001::/home/userli:/bin/bash    ##用户名被修改

将用户id改为1002

[root@foundation74 kiosk]# usermod -u 1002 student

//在/etc/passwd下查看用户信息

student:x:1002:1001::/home/userli:/bin/bash    ##用户id被修改

将用户组id修改为1000

[root@foundation74 kiosk]# usermod -g 1000 student

//在/etc/passwd下查看用户信息

student:x:1002:1000::/home/userli:/bin/bash    ##用户组id被修改

修改附加组id为1234

[root@foundation74 kiosk]# usermod -G 1234 student

//在/etc/group下查看用户组信息

groupli:x:1234:student    ##在1234的附加组下看到了student

为用户体添加多个附加组

[root@foundation74 kiosk]# usermod -G 1001 student    ##直接使用-g命令,会覆盖前面的附加组

[root@foundation74 kiosk]# id student

uid=1002(student) gid=1000(kiosk) groups=1000(kiosk),1001(userli)   ##1234被覆盖

使用 -aG 命令

[root@foundation74 kiosk]# usermod -aG 1234 student

[root@foundation74 kiosk]# id student

uid=1002(student) gid=1000(kiosk) groups=1000(kiosk),1234(groupli),1001(userli)  ##添加多个附加组成功

更改用户说明

[root@foundation74 kiosk]# usermod -c "hello world" student

//在/etc/passwd下查看用户信息

student:x:1002:1000:hello world:/home/userli:/bin/bash

修改用户家目录

[root@foundation74 kiosk]# usermod -d /home/userlee student

//在/etc/passwd下查看用户信息

student:x:1002:1000:hello world:/home/userlee:/bin/bash

修改用户shell

[root@foundation74 kiosk]# cat /etc/shells     ##首先查看用户shell

/bin/sh

/bin/bash

/sbin/nologin

/usr/bin/sh

/usr/bin/bash

/usr/sbin/nologin

/bin/tcsh

/bin/csh

修改shell

[root@foundation74 kiosk]# usermod -s /bin/sh student

student:x:1002:1000:hello world:/home/userlee:/bin/sh


2.给用户授权

意义:管理员作为特权用户,很容易误操作造成不必要的损失。所以健康的管理方法是在Linux服务架构好后,可授权普通用户协助完成日常管理。

过程:

1.以useradd命令为例,首先找到which useradd 命令在系统中的位置

2.在系统中超级用户可以下放给普通用户不能执行的操作给普通用户

下放权力的配置文件:/etc/sudoers

3.超级用户执行visudo进入编辑/etc/sudoers模式

## Allow root to run any commands anywhere

root    ALL=(ALL)      ALL                            ##找到root这一行

## Allows members of the 'sys' group to run networking, software,

## service management apps and more.

# %sys ALL = NETWORKING, SOFTWARE, SERVICES, STORAGE, DELEGATING, PROCESSES, LOCATE, DRIVERS

//在root    ALL=(ALL)      ALL  后添加

kiosk foundation74.ilt.example.com = (root) NOPASSWD: /usr/sbin/useradd

1                                  2                                       3                                   4

字段1:获得权限的用户

字段2: 主机名= (获得到的用户身份)命名

字段3:NOPASSWD表示用户调用sudo命令是不需要自己的密码

字段4:赋予给用户的命令(命令的绝对路径)

配置完毕后,如果想知道哪些命令是你当前用户能够执行或禁止的,可以切换至该用户身份,然后通过sudo -l查看,切换到kiosk用户

[kiosk@foundation74 ~]$ sudo -l

Matching Defaults entries for kiosk on this host:

...

User kiosk may run the following commands on this host:

    (root) NOPASSWD: /usr/sbin/useradd    ##可以使用useradd命令

...

    /usr/local/bin/rht-vmctl, /usr/local/bin/rht-vmsetkeyboard

下面以kiosk身份执行useradd

[kiosk@foundation74 ~]$ sudo useradd newli           ##以kiosk的身份执行useradd

[kiosk@foundation74 ~]$ tail -n 1 /etc/passwd

newli:x:1006:1006::/home/newli:/bin/bash         ##成功Amazing!


3.用户认证信息的控制

1.查看用户认证信息:

cat /etc/shadow

2./etc/shadow 的内容分析:

以我的一个kiosk用户为例:

kiosk:$6$muzBVJVz$F8SHsxbuBAtgywfyrxyLogLzl9xeEc7v4GQvc6.WtjWv0/tuRpiHUBd6s9axR/FdZiWvC5oW0PwI2cR8KHwym.:17888:0:99999:7:::

/etc/shadow 文件的内容包括9个段位,每个段位之间用:号分割;我们以如下的例子说明:

第一字段:用户名(也被称为登录名),在/etc/shadow中,用户名和/etc/passwd 是相同的,这样就把passwd 和shadow中用的用户记录联系在一起;这个字段是非空的;

第二字段:密码(已被加密),如果是有些用户在这段是x,表示这个用户不能登录到系统;这个字段是非空的;

第三字段:上次修改口令的时间;这个时间是从1970年01月01日算起到最近一次修改口令的时间间隔(天数),您可以通过passwd 来修改用户的密码,然后查看/etc/shadow中此字段的变化;

第四字段:两次修改口令间隔最少的天数;如果设置为0,则禁用此功能;也就是说用户必须经过多少天才能修改其口令;此项功能用处不是太大;默认值是通过/etc/login.defs文件定义中获取,PASS_MIN_DAYS 中有定义;

第五字段:两次修改口令间隔最多的天数;这个能增强管理员管理用户口令的时效性,应该说在增强了系统的安全性;如果是系统默认值,是在添加用户时由/etc/login.defs文件定义中获取,在PASS_MAX_DAYS 中定义;

第六字段:提前多少天警告用户口令将过期;当用户登录系统后,系统登录程序提醒用户口令将要作废;如果是系统默认值,是在添加用户时由/etc/login.defs文件定义中获取,在PASS_WARN_AGE 中定义;

第七字段:在口令过期之后多少天禁用此用户;此字段表示用户口令作废多少天后,系统会禁用此用户,也就是说系统会不能再让此用户登录,也不会提示用户过期,是完全禁用;

第八字段:用户过期日期;此字段指定了用户作废的天数(从1970年的1月1日开始的天数),如果这个字段的值为空,帐号永久可用;

第九字段:保留字段,目前为空,以备将来Linux发展之用;

3.修改/etc/shadow的信息

方式:通过 chage 命令可以查看和修改 /etc/shadow 文件的第三个字段到第八个字段的密码状态

chage -m 6 username 最短有效期

chage -M 10 username 最长有效期

chage -W 2 username 警告期

chage -I 3 username 非活跃天数

chage -E '2018-1-1' username 帐号到期日期

chage -d 0 username 最后一次密码修改的时间

实践:

分别执行以下命令,并查看/etc/shadow文件

175 cat /etc/shadow

  176  chage -m 6 studnet              ## 修改最短有效期为6

  177  chage -m 6 student           

  178  chage -M 10000 student   ##修改最长有效期为10000

  179  chage -W 10 student          ##修改警告期为10天

  180  chage -I 3 student                ##修改非活跃天数为3天

  181  chage -E '2019-12-30' student       ##修改帐号到期日期为2019-12-30

  182  chage -d 0 student                ##修改最后一次密码修改的时间

//查看/etc/shadow文件

student:$6$N.Z7zZ10$BtzsxNmtPcw4mGf3keoybZYToqE/x3BGH9g1Gn5zqJGgR780OPbI/a.dSsF/

TAjFo.J0oGsx86x0l8Ww1z3MC1:17900:6:10000:10:3:18260:       ##对应信息都被改变

                                                              1       2     3         4  5    6

标注字段说明:

标注字段1(17900):从1970年01月01日算起至修改的天数间隔

标注字段2(6):修改最短有效期为6

标注字段3(10000):改最长有效期为10000

标注字段4(10):修改警告期为10天

标注字段5(3):修改非活跃天数为3天

标注字段6(18260):从1970年的1月1日开始至2019-12-30的天数


重点注意:chage -d 0 student 命令

##这个命令主要用于强制用户在第一次登录时必须修改密码。

从普通用户登陆该用户时,先输入之前的密码,系统在提示要修改密码,修改8为位密码,再次输入

[kiosk@foundation74 ~]$ su - student

Password:

You are required to change your password immediately (root enforced)   ##强制修改密码

Changing password for student.

(current) UNIX password:                          ##输入之前的密码

New password:                             ##输入新密码

Retype new password:

Last login: Fri Jan  4 11:13:36 CST 2019 on pts/3          

[student@foundation74 ~]$   ##切换成功

相关文章

  • Linux第二天

    Linux第二天 用户和用户组管理 在Linux中通过配置文件来存储用户和用户组信息 用户管理 用户添加 : us...

  • linux用户管理(二)

    用户信息的更改 方式: usermod 参数 用户 -l 新用户名 原用户名 更改用户名 -u 更改用户uid...

  • Linux用户管理(二)-用户管理命令

    1. 添加用户 1.1 手动删除用户 手工删除用户试验:手工删除,如果可以正常建立用户,证明用户删除干净。 /et...

  • 第三节 用户及文件权限管理

    一、linux用户管理 linux中管理员帐户:root 超级用户 提示符号: # ...

  • 用户、用户组常用操作

    Linux用户账号的管理 原文:Linux的用户和用户组管理 一、添加用户 1、命令 useradd [com...

  • 用户和组

    用户和组 一:安全3A 二:用户user Linux用户:Username/UID 管理员:root,UID=0 ...

  • linux修改权限的相关命令

    Linux命令-用户、权限管理 用户是Unix/Linux系统工作中重要的一环,用户管理包括用户与组账号的管理。 ...

  • linux回顾(2)

    1.Linux命令-用户、权限管理 用户是Unix/Linux系统工作中重要的一环,用户管理包括用户与组账号的管理...

  • Linux 基础知识

    本文包括: 1、Linux 系统概述 2、Linux 用户和用户组管理 3、Linux 文件和目录管理 4、Lin...

  • Linux将新建用户加入到管理员

    Linux将新建用户加入到管理员 @(linux)[用户管理] [TOC] Ps: 下面操作,都是在root用户下...

网友评论

    本文标题:linux用户管理(二)

    本文链接:https://www.haomeiwen.com/subject/ikefrqtx.html