直接回答:adduser 是交互式的 Perl 脚本,会自动建家目录、选 shell 并让你设密码;useradd 是底层命令,什么都不给默认不建家目录,所以日常用 adduser 更省事。

我们在Linux下创建用户主要有两种方式:adduser和useradd,它们的区别以及主要用法如下:

adduser

adduser的用法很简单,只需adduser+username即可,如下:

1
sudo adduser alvin

这个命令其实是个perl脚本,它的底层还是调用useradd命令。网上很多教程说它会进行人机交互,但现在有些发行版(比如centOS)其实已经改进了,无需繁琐的交互,只需以上一条命令即可创建用户。

adduser命令会自动创建用户家目录,指定shell版本。但是,有些发行版在创建用户的同时,会要求你设定用户密码,而有些不会,需要手动设置密码。

为用户创建密码方法如下:

1
sudo passwd alvin

useradd

useradd是一个相对复杂一些的命令,而且它的自由度更高。如果只是运行useradd+username的话,它会创建一个三无用户,即:无用户家目录,无指定shell版本,无密码。

为了顺利创建一个用户,我们还需通过一些选项来完善它的参数。useradd命令常用的选项如下:

-c<备注>:加上备注文字。备注文字会保存在passwd的备注栏位中;

-d<登入目录>:指定用户登入时的启始目录;

-D:变更预设值;

-e<有效期限>:指定帐号的有效期限;

-f<缓冲天数>:指定在密码过期后多少天即关闭该帐号;

-g<群组>:指定用户所属的群组;

-G<群组>:指定用户所属的附加群组;

-m:自动建立用户的登入目录;

-M:不要自动建立用户的登入目录;

-n:取消建立以用户名称为名的群组;

-r:建立系统帐号;

-s:指定用户登入后所使用的shell;

-u:指定用户id。

对于我们普通用户而言,更常用的选项是以上标红的三个。而对于管理人员而言,则以上所有的选项都需要掌握。我们目前重点介绍以上标红的三个选项。

-d选项用于指定用户家目录,也就是用户登录时所进来的目录。比如:-d /home/alvin,就是指定用户的家目录是/home/alvin。通常-d选项与**-m**选项一起使用,-m选项的作用是,如果指定目录不存在时,则自动创建。

而**-s**选项则是指定用户默认shell版本。如果不设定的话,它的默认版本是/bin/sh。所以,我们使用useradd创建新用户时的经典用法如下:

1
sudo useradd alvin -m -d /home/alvin -s /bin/bash

通过这种方式用户可以成功创建,但还是没有密码。创建密码的方式依然使用passwd命令,在此不再赘述。

userdel

删除用户,“userdel 用户名”即可。最好将它留在系统上的文件也删除掉,可以使用“userdel -r 用户名”来实现。

1
sudo userdel -r alvin

推荐学习:《linux视频教程》

  1. 给用户添加sudo权限 (1)设置sudo密码
1
sudo passwd

(2)进入超级用户模式

1
su -

(3)添加文件的写权限

1
chmod u+w /etc/sudoers

(4)编辑/etc/sudoers文件

1
vim /etc/sudoers

在“root ALL=(ALL:ALL) ALL” 下一行添加

kang ALL=(ALL:ALL) ALL 如图:

img

2.设置sudo为不需要密码 (1)在“%sudo ALL=(ALL:ALL) ALL” 下一行添加

kang ALL=(ALL:ALL) NOPASSWD:ALL 如图:

img

(2)撤销文件的写权限

chmod u-w /etc/sudoers (3)新打开的终端不用再输入sudo密码

3.几个问题解释:

(1)为什么用su - 而不用su ?

用命令"su"的时候只是切换到root,但没有把root的环境变量传过去,还是当前用户的环境变量;

用"su -"命令将环境变量也一起带过去,就象和root登录一样。

(2)为什么设置sudo为不需要密码时,要加入NOPASSWD,有什么区别?

kang ALL=(ALL:ALL) ALL 表示默认5分钟后刚才输入的sodo密码过期,下次sudo需要重新输入密码

kang ALL=(ALL:ALL) NOPASSWD:ALL 表示允许无时间限制的免输入密码,个人用户的使用一般是安全的

———————————————— 版权声明:本文为CSDN博主「kan2016」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/kan2016/article/details/90715197

第二种方法把用户添加进sudo组

1
usermod -a -G sudo yonghuming

这篇笔记整理自我自己的实践记录,如果做法有出入,或者你踩过别的坑,欢迎到留言板一起聊聊。

站内搜索

没有找到内容!