问题:使用 useradd 创建用户,发现 /home 目录下没有自动创建关于用户的目录。所以做了一番调查研究

useradd是一个linux命令,但是它提供了很多参数在用户使用的时候根据自己的需要进行设置;
adduser是一个perl 脚本,在使用的时候会出现类似人机交互的界面,提供选项让用户填写和选择,这个命令比起useradd来说比较简单,也比较傻瓜。

一. adduser的使用详解

在使用adduser命令的时候,系统会添加这个用户名,并且还会自动地创建与这个用户名名字一样的用户组作为这个用户的初始用户组。此外,还会自动地在/home目录下面创建一个与用户同名的目录,接着执行"cp /etc/skel /home/用户名"的操作,实现新增用户的主目录的初始化。
用adduser这个命令创建的账号是系统账号,可以用来登录到我们的ubuntu系统。

# adduser git
Adding user `git' ...
Adding new group `git' (1004) ...
Adding new user `git' (1004) with group `git' ...
Creating home directory `/home/git' ...
Copying files from `/etc/skel' ...
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Changing the user information for git
Enter the new value, or press ENTER for the default
Full Name []:
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [Y/n] y # ls /home
git # grep git /etc/passwd
git:x:1004:1004:,,,:/home/git:/bin/bash

二.useradd的使用详解
useradd有大量的参数供我们进行个性化设置。useradd的参数如下:
-c 备注 加上备注。并会将此备注文字加在/etc/passwd中的第5项字段中
-d 用户主文件夹。指定用户登录所进入的目录,并赋予用户对该目录的的完全控制权
-e 有效期限。指定帐号的有效期限。格式为YYYY-MM-DD,将存储在/etc/shadow
-f 缓冲天数。限定密码过期后多少天,将该用户帐号停用
-g 主要组。设置用户所属的主要组
-G 次要组。设置用户所属的次要组,可设置多组
-M 强制不创建用户主文件夹
-m 强制建立用户主文件夹,并将/etc/skel/当中的文件复制到用户的根目录下
-p 密码。输入该帐号的密码
-s shell。用户登录所使用的shell
-u uid。指定帐号的标志符user id,简称uid
useradd这个命令创建的是普通账号,并不能用来登录系统。

# useradd git  -g git -p  // (默认的组是root,可以指定组。密码需要指定参数-p,否则密码为空;)
  // 当使用参数"-m"的时候,系统会自动地在/home目录下建立一个与新建用户同名的用户主文件夹;如果不使用"-m"的话,那么就默认是使用“-M”参数,不创建主文件夹
# passwd git
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully # ls /home //(home目录下不会自动创建git目录) #grep git /etc/passwd
git:x::::/home/git:

adduser与useradd的区别的更多相关文章

  1. linux命令(53):useradd,区别于adduser

    adduser和useradd的区别: useradd是一个linux命令,但是它提供了很多参数在用户使用的时候根据自己的需要进行设置: 而adduser是一个perl 脚本,在使用的时候会 出现类似 ...

  2. 创建用户(adduser和useradd)和删除用户(userdel)及

    一  用户创建命令: # adduser  用户名 # useradd  用户名 1) useradd 与 adduser 的区别 在CentOs系统中: useradd与adduser是没有区别的, ...

  3. 创建用户(adduser和useradd)和删除用户(userdel)

    创建用户(adduser和useradd)和删除用户(userdel)及   一  用户创建命令: # adduser  用户名 # useradd  用户名 1) useradd 与 adduser ...

  4. linux用户管理(1)----创建用户(adduser和useradd)和删除用户(userdel)

    一.常用命令: (1)创建用户命令两条: adduser useradd (2)用户删除命令: userdel 二.两个用户创建命令之间的区别 adduser: 会自动为创建的用户指定主目录.系统sh ...

  5. linux添加用户adduser出现 useradd:cannot lock /etc/passwd; try again

    找一下有个叫/etc/passwd.lock的文件,找到,给它用root删掉就好了,可能是上次使用到这个文件没有正常关闭.具体操作:切换到root用户,用cd etc到etc目录下,rm .pwd.l ...

  6. adduser vs useradd

    Always use adduser (and deluser when deleting users) when you're creating new users from the command ...

  7. linux进阶1

    1.linux命令 1.1.find功能:在linux文件系统中,用来查找一个文件放在哪里了.举例:find /etc -name "interfaces"总结:(1)什么时候用f ...

  8. 20165223 Linux安装及命令入门

    预备作业3:Linux安装及命令入门 一.VirtualBox和Ubuntu的安装 通过学习实践基于VirtualBox虚拟机安装Ubuntu图文教程,我开始学习虚拟机的安装,根据教程一步步试着安装. ...

  9. 20165205 预习作业三 Linux安装及学习

    Linux安装及学习 安装Ubuntu 1)安装版本 在安装VirtualBox时选择了VirtualBox 5.2.6 platform package 安装Ubuntu时选择了Ubuntu 16. ...

随机推荐

  1. 取消win10 任务栏已固定的软件

    通过组策略编辑器 设置为“已禁用”,就可 ,自由取消已固定的图标.

  2. 人只能靠自己 编写ETL框架使用工具

    今天开始接触到大数据模块,etl 框架工具目的是对医院中的PACS 和RIS 系统进行数据提取: 目前只查到需要用etl工具,大数据板块 ,具体实现仍是大问题 有缘人看到可以留言提示啊:

  3. this 的指向

    使用 JavaScript 开发的时候,很多开发者多多少少会被 this 的指向搞蒙圈,但是实际上,关于 this 的指向,记住最核心的一句话:哪个对象调用函数,函数里面的this指向哪个对象. 下面 ...

  4. leetcode每日刷题计划-简单篇day4

    腰酸腿疼肝数模 被教育说代码风格像是小学生而且有点冗余 QAQ之前面试官好像也说过orz努力改努力改 今天把前两天跳过的vector给简单看了一下补上了 Num 14 最长公共前缀 Longest C ...

  5. Jmeter5.1.1+python调用python脚本

    1.下载jython https://www.jython.org/downloads.html 下载Download Jython 2.7.0 - Standalone Jar : For embe ...

  6. R开发环境搭建

    1.准备集成开发环境(IDE) R语言在一个好的IDE工具上应用才能更好的发挥它的作用,目前使用的最多的R语言集成开发环境是R STUDIO,下载地址为:https://www.rstudio.com ...

  7. activiti-6.0工作流应用模板

     acriviti6.0官方操作指南:https://www.activiti.org/userguide/#demo.setup.one.minute.version 下载 acriviti6.0压 ...

  8. RabbitMQ安装及使用

    下载 由于RabbitMQ是基于Erlang语言开发,所以在安装RabbitMQ之前,需要先安装Erlang.好在RabbitMQ官网已经为我们提供了Erlang的安装包 Erlang下载地址:htt ...

  9. fiddler抓https包

    若手机端安装证书后还是无法抓取到https请求,请注意手机端证书开关是否开启: eg:ios 设置---通用---关于本机---证书信任设置:开启证书信任 若还是无法抓包,则可以进行一下操作: 给fi ...

  10. 3/1 AT指令集

    一.背景 由于机器与传输时的信号类型不通,机器处理的是数字信号,而传输时是模拟信号,故,要实现这两者间的交互,就需要一个介质,之前是靠硬件,靠人工,硬件使用modem(猫): 现在通过一种命令来实现自 ...