Linux基础命令-useradd创建用户
Linux安装MySQL数据库步骤
Linux基础命令-cp拷贝文件
Linux基础命令-less以分页显示文件内容
文章目录
前言
一、命令的介绍
二、语法及常用参数
2.1 通过help查看命令的语法
2.1 常用参数
三、参考实例
3.1 创建系统用户
3.2 创建普通用户,但不创建家目录,也不让登录
3.3 指定用户为host组,并且附加root组
3.4 指定用户为test的家目录,并给用户使用一个月时间
3.5 指定用户ID,并备注信息
四、解读密码和影子文件
4.1 不用useradd命令创建一个文件
4.2 /etc/passwd内容分析
4.3 /etc/shadow内容分析
总结
前言
Linux系统是多任务多用户的系统,那么对此肯定有专门创建用户的命令,让我们一起来了解看看吧。
一、命令的介绍
useradd命令来自于英文词组“User add”的全拼,其功能是用于创建并设置用户信息。使用useradd命令可以自动创建用户的信息、基本组、家目录等工作,并在创建的过程中对用户初始信息进行定制。
若用户已创建,则需使用usermod命令修改信息,passwd命令修改密码信息 。
二、语法及常用参数
2.1 通过help查看命令的语法
语法:useradd 【选项】用户名
[root@localhost ~]# useradd --help
用法:useradd [选项] 登录
useradd -D
useradd -D [选项]
2.1 常用参数
-D改变新建用户的预设值-c添加备注文字-d新用户每次登陆时所使用的家目录-e用户终止日期,日期的格式为YYYY-MM-DD-f用户过期几日后永久停权。当值为0时用户立即被停权,而值为-1时则关闭此功能,预设值为-1-g指定用户对应的用户组-G定义附加的用户组-m用户目录不存在时则自动创建-M不建立用户家目录,优先于/etc/login.defs文件设定-n取消建立以用户名称为名的群组-r建立系统帐号-s登录的shell-u指定用户id
三、参考实例
3.1 创建mysql系统用户
[root@localhost ~]# groupadd mysql
[root@localhost ~]# useradd -r -g mysql -s /bin/false mysql
3.2 创建普通用户,但不创建家目录,也不让登录
[root@localhost ~]# useradd -M -s /sbin/nologin user3
[root@localhost ~]# tail -n1 /etc/passwd
user3:x:1001:1001::/home/user3:/sbin/nologin
[root@localhost ~]# ll /home/
总用量 0
drwx------. 2 host host 62 2月 7 23:59 host
[root@localhost ~]#
3.3 指定用户为host组,并且附加root组
[root@localhost ~]# useradd -g host -G root user4
[root@localhost ~]# id user4
uid=1002(user4) gid=1000(host) 组=1000(host),0(root)
3.4 指定用户为test的家目录,并给用户使用一个月时间
[root@localhost ~]# useradd -d /home/test/ -e 2023-03-15 user5
3.5 指定用户ID,并备注信息
[root@localhost ~]# useradd -c "this is test" -u 2000 user8
[root@localhost ~]# tail -n1 /etc/passwd
user8:x:2000:2000:this is test:/home/user8:/bin/bash
[root@localhost ~]# id user8
uid=2000(user8) gid=2000(user8) 组=2000(user8)
四、解读密码和影子文件
4.1 不用useradd命令创建一个文件
用户创建好之后会出现在/etc/passwd和/etc/shadow以及/etc/group里面,并且会出现几个用户的文件。
[root@localhost ~]# tail -n 1 /etc/passwd
user9:x:2001:2001::/home/user9:/bin/bash
[root@localhost ~]# tail -n 1 /etc/shadow
user9:!!:19550:0:99999:7:::
[root@localhost ~]# find / -user user9
/var/spool/mail/user9
/home/user9
/home/user9/.bash_logout
/home/user9/.bash_profile
/home/user9/.bashrc
/home/user9/.mozilla
/home/user9/.mozilla/extensions
/home/user9/.mozilla/plugins
那么,我们能不能不通过useradd这个命令来创建一个用户出来呢,还记得有句话吗,linux中的一切皆是文件,我们就从文件入手,创建一个user10出来。
[root@localhost ~]# vim /etc/passwd
[root@localhost ~]# tail -1 /etc/passwd
user50:x:2000:2000::/home/user50:/bin/bash
[root@localhost ~]# touch /var/spool/mail/user50
[root@localhost ~]# vim /etc/shadow
[root@localhost ~]# tail -1 /etc/shadow
user50:!!:19404:0:99999:7:::
[root@localhost ~]# vim /etc/group
[root@localhost ~]# tail -1 /etc/group
user50:x:2000:
[root@localhost ~]# cp -r /etc/skel/ /home/user50
[root@localhost ~]# id user50
uid=2000(user50) gid=2000(user50) 组=2000(user50)
[root@localhost ~]# ll -d /home/user50/
drwxr-xr-x. 3 root root 78 2月 16 11:42 /home/user50/
[root@localhost ~]# chown -R user50:user50 /home/user50
[root@localhost ~]# ll -d /home/user50/
drwxr-xr-x. 3 user50 user50 78 2月 16 11:42 /home/user50/
[root@localhost ~]# su - user50
上一次登录:四 2月 16 11:45:23 CST 2023pts/0 上
[user50@localhost ~]$ touch a.txt
[user50@localhost ~]$ ll
总用量 0
-rw-rw-r--. 1 user50 user50 0 2月 16 11:47 a.txt
[user50@localhost ~]$ pwd
/home/user50
当然是可以的,用户已创建好,并且是可以su - user10进行登录的,创建文件也没有问题。
4.2 /etc/passwd内容分析
以冒号为分隔符的内容解析,上面为打开文件的内容,下面为分析。
root用户名x密码占位符第一个0UID第二个0GIDroot用户描述/root用户主目录(家目录)/bin/bashshell登录器
4.3 /etc/shadow内容分析
以冒号分隔每个内容的含义,上面为打开文件的信息,下面为内容的分析
root用户名$6...... 加密的密码(MD5格式 SHA256格式 SHA512格式) 19403最近更改密码的日期,从19700101开始计算0密码不能更改的天数,最近被改过之后几天后才可以再次更改,0表示随时可以修改。99999密码过期时间,即多少天后必须再次修改。7密码需要更改期限到来前7(设置的数字)天后必须再次修改。宽限天数密码过了几天后还能改密码。账号过期时间账号距离过期还有多少时间,为空既是没设置保留不做解释
总结
创建用户的命令平时还是用的比较频繁的,了解配置文件可以更好的管理用户信息,如果觉得内容还行的,可以点赞支持一下!