手动创建Linux账户

Posted cookiewu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了手动创建Linux账户相关的知识,希望对你有一定的参考价值。

分为以下步骤:

  1.添加用户账户基本组;

  2.添加账户信息;

  3.添加账户密码;

  4.复制家目录;

  5.修改家目录权限;

  6.创建账户完成,登录测试。

 

以创建test账户为例,账户名:test,基本组:testgrp,密码:testpwd。

1.添加用户账户基本组:

①在/etc/group文件下追加用户基本组:

/etc/group文件存放的是用户组的信息,其中每行含义为 组名:密码:组id:用户列表;

②使用命令 nano /etc/group 编辑group文件,在文件尾部追加内容testgrp:x:2018保存退出,此处的组id为2018只是示例,具体的参照自己实际情况。

2.添加账户信息:

①在/etc/passwd文件下追加帐户信息:

/etc/passwd文件存放的是用户信息,每行含义为 账户名:密码:账户id:组id:注解:家目录:用户shell;

②使用命令 nano /etc/passwd 编辑passwd文件,在文件尾部追加内容 test:x:2226:2018:testname:/home/test:/bin/bash保存退出,其中的x只是密码占位

符而已,真正的密码在/etc/shadow文件中保存。

3.添加账户密码:

①在/etc/shadow文件中追加帐户密码信息:

/etc/shadow文件是存放密码信息的文件。每行含义为账户名:加盐的密码:修改日期:密码不可改的天数:密码过期天数:密码警告天数:密码过期的宽限:帐号失效日期:保留位;

这个加盐密码存储的结构如下:

账户名:这个不用做过多解释,账户名与/etc/passwd里面的账户名是一一对应的关系。

密码:这里可以看到3类,分别是奇奇怪怪的字符串、*和!!其中,奇奇怪怪的字符串就是加密过的密码文件。星号代表帐号被锁定,双叹号表示这个密码已经过期了。奇

怪怪的字符串是以$6$开头的,表明是用SHA-512加密的,$1$ 表明是用MD5加密的、$2$ 是用Blowfish加密的、$5$“是用SHA-256加密的。

密码的获取方法:

使用openssl命令 生成加盐的md5密码

openssl -passwd -1 -salt ‘12345678‘,然后输入密码会得到加盐后的密码,将密码复制即可。注意:参数为-1(数字)而不是-l(字母),“12345678”为盐,后续输入的

才是密码。

修改日期:这个是表明上一次修改密码的日期与1970-1-1相距的天数。

修改日期的计算方法为:

获取系统从1970-1-1日到当前的秒数,除以每天的秒数(86400)就可以得到修改日期了。

获取秒数:date +%s

打开计算器:bc

    例如:1503354270/86400

密码不可改的天数:假如这个数字是8,则8天内不可改密码,如果是0,则随时可以改。

密码需要修改的期限:如果是99999则永远不用改。如果是其其他数字比如12345,那么必须在距离1970-1-1的12345天内修改密码,否则密码失效。

修改期限前N天发出警告:比如你在第五条规定今年6月20号规定密码必须被修改,系统会从距离6-20号的N天前向对应的用户发出警告。

密码过期的宽限:假设这个数字被设定为M,那么帐号过期的M天内修改密码是可以修改的,改了之后账户可以继续使用。

帐号失效日期:假设这个日期为X,与第三条一样,X表示的日期依然是1970-1-1相距的天数,过了X之后,帐号失效。

保留:被保留项,暂时还没有被用上。

②使用nano /etc/shadow编辑shadow文件,追加内容行:

test:$1$12345678$Sx03Gy86On0pOXXdarGbj.:17399:0:99999:7:::保存退出。

4.复制家目录:

复制骨架目录(/etc/skel)到家目录(/home/账户名)下:cp -r /etc/skel /home/test

5.修改家目录权限:

修改家目录属主、属组、其它用户的权限并且修改家目录文件权限:

①修改家目录及文件的属主和属组:chown -R test.testgrp /home/test/

参数-R为递归 第一个test是属主, 第二testgrp是属组,中间可以用“.”或":"隔开;

②将家目录文件权限全都修改为除属主外不可访问:chmod -R go= /home/test

参数-R为递归,go的g代表group组,o代表other其他用户,另外还有u代表user用户和a代表all所有(ugo)。go= ,就代表用户属组和其他用户对文件没有任何权限。

6.创建账户完成,登录测试:

使用su test命令切换到test帐号,

id test、finger test查看账户信息,

ls -l /home/test查看家目录权限这些信息是否都正确。

 

 

 


以上是关于手动创建Linux账户的主要内容,如果未能解决你的问题,请参考以下文章

怎么创建linux账户90天后过期

为linux添加账户

为linux添加账户

Linux创建安全的SSH登录账户

centOS7账户安全控制

linux 成功安装oracle后,为其创建一个登录账户