问题:使用 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. Mysql优化批量插入数据

    最近为了测试项目,需要在Mysql中插入百万级测试数据,于是用到了批量插入,自己写了个简单的Spring Cloud项目. 开始时执行效率很慢,大概100条/秒,批次的大小也试过1000,2000,5 ...

  2. 服务注册中心,Eureka比Zookeeper好在哪里?

    著名的CAP理论指出,一个分布式系统不可能同时满足C(一致性).A(可用性).和P(分区容错性).由于分区容错性P在分布式系统中必须要保证的,因此我们只能在A和C之间进行权衡. 因此: Zookeep ...

  3. jenkins使用git拉取gitlab代码

    1 在安装jenkins的主机上新加一个jenkins用户, 切换到jenkins用户登录, 生成公钥私钥ssh-keygen -t rsa -C "your email" -f ...

  4. Git全面应用

    Git是一个免费的开源分布式版本控制系统,旨在快速高效地处理从小型到大型项目的所有事务. Git易于学习,占地面积小,具有闪电般快速的性能. 它超越了Subversion,CVS,Perforce和C ...

  5. intellij idea 相关设置

    IDEA这么高端的工具之前只是断断续续使用了一下,因为项目的开发都是在eclipse上,每次学习IDEA的使用都得上网搜索半天,今天自己整理一下,方便以后查阅. IDEA版本15.0.4 字体 界面字 ...

  6. MySQL使用LOAD DATA LOCAL INFILE报错

    在windows系统的MySQL8.0中尝试执行以下语句时报错 mysql> LOAD DATA LOCAL INFILE '/path/filename' INTO TABLE tablena ...

  7. SockJS

    1\ 2\ 下载

  8. 魔力Python--if __name__ == '__main__' 的理解

    if __name__ == '__main__' 的理解 __name__ 是当前模块名,当模块被直接运行时模块名为 __main__ . 这句话的意思就是,当模块被直接运行时,以下代码块将被运行, ...

  9. java枚举变量反解析用法

    最近常常有一些项目需要给枚举设值一个int值,以及对int值进行反解析出枚举类型,代码如下: public enum MatchResultEnum { /** * 赢 */ WIN(0), /** ...

  10. rem_750

    /* fix the code flash the page */ var globalWidth = document.documentElement.clientWidth;//window.in ...