手动创建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账户的主要内容,如果未能解决你的问题,请参考以下文章