手动创建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查看家目录权限这些信息是否都正确。

原文地址:https://www.cnblogs.com/cookiewu/p/9917006.html

时间: 2024-10-17 16:03:50

手动创建Linux账户的相关文章

手动创建Linux账号

账号与群组和/etc/passwd./etc/shadow./etc/group./etc/gshadow有关 方法1步骤: (1)建立所需要的群组:vi /etc/group (2)将/etc/group与/etc/gshadow同步:grpconv (3)建立账号的各个属性:vi /etc/passwd (4)将/etc/passwd与/etc/shadow同步:pwconv (5)建立该账号的密码:passwd accountname (6)建立家目录:cp -a /etc/skel /h

ahjesus linux连接阿里云ubuntu服务器并更改默认账号和密码,以及创建子账户

先确保本地Linux服务器SSH服务开启,如果没有开启直接执行指令:service sshd start 然后我们使用ssh指令进行远程登陆 ssh [email protected] 输入passwd指令修改旧密码 修改默认账号root vi /etc/passwd 按i键进入编辑状态 修改第1行第1个root为新的用户名 按esc键退出编辑状态,并输入:x保存并退出 vi /etc/shadow 按i键进入编辑状态 修改第1行第1个root为新的用户名 按esc键退出编辑状态,并输入:x!强

为Linux集群创建新账户,并配置hadoop集群

转自:http://blog.csdn.net/bluesky8640/article/details/6945776 之前装python.jdk.hadoop都是用的root账户,这是一个绝对的失策,linux对用户访问权限很严格,新创的hod账户根本无法启动hadoop,而root在hod模式下使用torque是不被建议的,所以只能用hod账户再重新装一遍. 创建用户.设置密码.修改用户.删除用户: useradd testuser   创建用户testuserpasswd testuser

Linux手动创建Swap

Swap是Linux下的交换分区,类似Windows的虚拟内存,当物理内存不足时,系统可把一些内存中不常用到的程序放入Swap,解决物理内存不足的情况. 若系统安装时开辟的Swap空间太小,可通过手动创建Swap文件. 一.创建文件 dd if=/dev/zero of=/root/swapfile bs=1024 count=1024000 SSH执行以上命令,创建一个名为kwxgd的1G 空文件(写0占用磁盘). 二.制作为Swap文件 mkswap kwxgd SSH执行以上命令,将生成的

linux下手动创建用户详解

一.手动创建文件: 1.改/etc/passwd 文件 2.改/etc/shadow 3.改/etc/group 文件 4.mkdir /xiaoming 5.cp /etc/skel/.bash* /xiaoming/ 6.chown -R xiao (1). /etc/passwd 文件详解 root     x          0                    0                   root                /root   /bin/bash 用户

手动创建oracle数据库_oracle11g

通过手动创建oracle数据库,可以了解oracle数据库的结构和数据库运行机制,对理解oracle数据库有帮助. 一.打开命令行工具,创建必要有相关目录 mkdir E:\app\Administrator\admin\sky mkdir E:\app\Administrator\admin\sky\adump mkdir E:\app\Administrator\admin\sky\dpdump mkdir E:\app\Administrator\admin\sky\pfile mkdir

Android Jni层 创建 linux socket 出错问题解决

问题: 想在Jni层创建 udp socket 与服务端通信,但是没有成功,最后发现竟然是创建socket失败(代码如下) // create socket g_sd = socket(AF_INET, SOCK_DGRAM, 0); if (-1 == g_sd) { perror("socket()"); goto err_socket; } 解决办法: 在 AndroidManifest.xml 文件中,添加访问网络的权限: <uses-permission android

如何手动创建oracle数据库

下面的实验室是如何不要通过DBCA创建ORACLE 数据库,而是通过ORACLE ONLINE HELP DOCUMENT进行手动的创建数据库的详细步骤: 1,编辑Oracle profile [[email protected] ~]# su - oracle [[email protected] ~]$ vi ./.bash_profile PATH=$PATH:$HOME/bin export PATH export ORACLE_BASE=/u01/app/oracle export O

怎样手动创建oracle数据库

以下的实验室是怎样不要通过DBCA创建ORACLE 数据库,而是通过ORACLE ONLINE HELP DOCUMENT进行手动的创建数据库的具体步骤: 1,编辑Oracle profile [[email protected] ~]# su - oracle [[email protected] ~]$ vi ./.bash_profile PATH=$PATH:$HOME/bin export PATH export ORACLE_BASE=/u01/app/oracle export O