useradd 与adduser的区别

原创 2015年07月06日 20:36:49

一直以来都搞不清在Ubuntu下useradd和adduser的区别。网上也大多的帖子说其实两个就是实现一样的功能,但是我自己在做得时候,却问题多多,现在在总结之后写一写备忘,也让大家参考一下。
useradd是一个linux命令,但是它提供了很多参数在用户使用的时候根据自己的需要进行设置;而adduser是一个perl 脚本,在使用的时候会出现类似人机交互的界面,提供选项让用户填写和选择,这个命令比起useradd来说比较简单,也比较傻瓜。
一.adduser的使用详解
在使用adduser命令的时候,系统会添加这个用户名,并且还会自动地创建与这个用户名名字一样的用户组作为这个用户的初始用户组。此外,还会自动地在/home目录下面创建一个与用户同名的目录,接着执行"cp /etc/skel  /home/用户名"的操作,实现新增用户的主目录的初始化。
用adduser这个命令创建的账号是系统账号,可以用来登录到我们的ubuntu系统。
二.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这个命令创建的是普通账号,并不能用来登录系统。
于是我得出了一个结论:当使用参数"-m"的时候,系统会自动地在/home目录下建立一个与新建用户同名的用户主文件夹;如果不使用"-m"的话,那么就默认是使用“-M”参数,不创建主文件夹,即使你使用了"-d"这个参数。所以,"-d"这个参数是跟"-m"一起使用的,让用户自己选择主文件夹的路径。


添加用户:useradd -m -s  用户名  然后设置密码  passwd 用户名

删除用户:userdel  -r  用户名

 

1. 在root权限下如果没有在root权限下,会出现:useradd: cannot lock /etc/passwd; try again later. 

useradd只是创建了一个用户名,如 (useradd  +用户名 ),它并没有在/home目录下创建同名文件夹,也没有创建密码,因此利用这个用户登录系统,是登录不了的,为了避免这样的情况出现,可以用 (useradd -m +用户名)的方式创建,它会在/home目录下创建同名文件夹,然后利用( passwd + 用户名)为指定的用户名设置密码。

2. 可以直接利用adduser创建新用户(adduser +用户名)这样在/home目录下会自动创建同名文件夹

 

3.  删除用户,只需使用一个简单的命令“userdel 用户名”即可。不过最好将它留在系统上的文件也删除掉,你可以使用“userdel -r 用户名”来实现这一目的。 

 

 Linux系统如何添加用户这个问题到网上问一下或者搜一下,很多人可能会说useradd实际这是不对的。useradd只会添加一个用户,没有创建它的主目录,除了添加一个新用户之外什么都没有。这个用户甚至不能登录,因为没有密码。正确的做法是man page里说的,adduser,这个命令实际是一个perl脚本,是useradd等类似底层命令的更友好的前端,它会用交互性的方式建立新用户,使用它可以指定新用户的家目录,登录密码,是否加密主目录等等,它会:

1.建立一个新目录作为家目录
2.建立同名新组
3.把用户的主要组设为该组(除非命令选项覆盖以上默认动作,比如–disall-homdirecry之类)
4.从/etc/SKEL目录下拷贝文件到家目录,完成初始化
5.建立新用户的密码
6.如果其存在的话,还会执行一个脚本。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

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

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

useradd 与adduser的区别

添加用户:useradd -m 用户名  然后设置密码  passwd 用户名 删除用户:userdel  -r  用户名   1. 在root权限下,useradd只是创建了一个用户名,如 (...

Linux下useradd与adduser的区别

Linux下创建用户时会用到useradd和adduser这两个命令,他们的区别如下:   1.使用useradd时,如果后面不添加任何参数选项,例如:#sudo useradd test创建出来的...

ubuntu用户添加adduser, useradd

如何添加或删除ubuntu用户           ubuntu和windows一样,可以任意创建或者删除新的用户,windows下比较简单,ubuntu下需要使用命令,不过操作起来不是很繁琐,所以我...

ubuntu用户添加adduser, useradd

ubuntu和windows一样,可以任意创建或者删除新的用户,windows下比较简单,ubuntu下需要使用命令,不过操作起来不是很繁琐,所以我尽量写的详细一些。           如何创...

加载页面等待效果

当一个页面数据量太大时,可能需要加载较长时间,这期间看到的将是白屏,很不好吧。 可以使用下面内容在页面加载时展示一些其他的东西,让人知道页面还在加载,而不是页面死了。或没有数据。 N...

nginx的worker数目进程设置问题

nginx的worker_processes设为多少才合适呢? 搜索到原作者的话: 一般一个进程足够了,你可以把连接数设得很大。如果有SSL、gzip这些比较消耗CPU的工作,而且是多核CPU的话...

Ubuntu中useradd和adduser的区别

  • 2012年03月02日 22:01
  • 14KB
  • 下载

useradd 与adduser的区别

添加用户:useradd -m 用户名  然后设置密码  passwd 用户名 删除用户:userdel  -r  用户名   1. 在root权限下,useradd只是创建了一个用户名,如 (...

Ubuntu中,useradd和adduser的区别

转自:http://www.linuxdiyf.com/viewarticle.php?id=212387 在Ubuntu中创建新用户,通常会用到两个命令:useradd和adduser。虽...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:useradd 与adduser的区别
举报原因:
原因补充:

(最多只允许输入30个字)