Ubuntu 添加删除用户 How to Add and Delete Users on Ubuntu 16.04
Introduction
One of the most basic tasks that you should know how to do on a fresh Linux server is add and remove users. When you create a new system, you are often (such as on DigitalOcean Droplets) only given the root account by default.
While running as the root user gives you a lot of power and flexibility, it is also dangerous and can be destructive. It is almost always a better idea to add an additional, unprivileged user to do common tasks. You also should create additional accounts for any other users you may have on your system. Each user should have a different account.
You can still acquire administrator privileges when you need them through a mechanism called sudo
. In this guide we will cover how to create user accounts, assign sudo
privileges, and delete users.
How To Add a User
If you are signed in as the root user, you can create a new user at any time by typing:
adduser newuser
If you are signed in as a non-root user who has been given sudo
privileges, as demonstrated in the initial server setup guide, you can add a new user by typing:
sudo adduser newuser
Either way, you will be asked a series of questions. The procedure will be:
- Assign and confirm a password for the new user
- Enter any additional information about the new user. This is entirely optional and can be skipped by hitting Enter if you don't wish to utilize these fields.
- Finally, you'll be asked to confirm that the information you provided was correct. Enter Y to continue.
Your new user is now ready for use! You can now log in using the password you set up.
Note: Continue if you need your new user to have access to administrative functionality.
How To Grant a User Sudo Privileges
If your new user should have the ability to execute commands with root (administrative) privileges, you will need to give the new user access to sudo
. Let's examine two approaches to this problem: Adding the user to a pre-defined sudo
user group, and specifying privileges on a per-user basis in sudo
's configuration.
Add the New User to the Sudo Group
By default, sudo
on Ubuntu 16.04 systems is configured to extend full privileges to any user in the sudo group.
You can see what groups your new user is in with the groups
command:
groups newuser
Output
newuser : newuser
By default, a new user is only in their own group, which is created at the time of account creation, and shares a name with the user. In order to add the user to a new group, we can use the usermod
command:
usermod -aG sudo newuser
The -aG
option here tells usermod
to add the user to the listed groups.
Test Your User's Sudo Privileges
Now, your new user is able to execute commands with administrative privileges.
When signed in as the new user, you can execute commands as your regular user by typing commands as normal:
some_command
You can execute the same command with administrative privileges by typing sudo
ahead of the command:
sudo some_command
You will be prompted to enter the password of the regular user account you are signed in as.
Specifying Explicit User Privileges in /etc/sudoers
As an alternative to putting your user in the sudo group, you can use the visudo
command, which opens a configuration file called /etc/sudoers
in the system's default editor, and explicitly specify privileges on a per-user basis.
Using visudo
is the only recommended way to make changes to /etc/sudoers
, because it locks the file against multiple simultaneous edits and performs a sanity check on its contents before overwriting the file. This helps to prevent a situation where you misconfigure sudo
and are prevented from fixing the problem because you have lost sudo
privileges.
If you are currently signed in as root, type:
visudo
If you are signed in using a non-root user with sudo
privileges, type:
sudo visudo
Traditionally, visudo
opened /etc/sudoers
in the vi
editor, which can be confusing for inexperienced users. By default on new Ubuntu installations, it should instead use nano
, which provides a more familiar text editing experience. Use the arrow keys to move the cursor, and search for the line that looks like this:
root ALL=(ALL:ALL) ALL
Below this line, copy the format you see here, changing only the word "root" to reference the new user that you would like to give sudo privileges to:
root ALL=(ALL:ALL) ALL
newuser ALL=(ALL:ALL) ALL
You should add a new line like this for each user that should be given full sudo privileges. When you are finished, you can save and close the file by hitting Ctrl-X, followed by Y, and then Enter to confirm.
How To Delete a User
In the event that you no longer need a user, it is best to delete the old account.
You can delete the user itself, without deleting any of their files, by typing this as root:
deluser newuser
If you are signed in as another non-root user with sudo privileges, you could instead type:
sudo deluser newuser
If, instead, you want to delete the user's home directory when the user is deleted, you can issue the following command as root:
deluser --remove-home newuser
If you're running this as a non-root user with sudo privileges, you would instead type:
sudo deluser --remove-home newuser
If you had previously configured sudo privileges for the user you deleted, you may want to remove the relevant line again by typing:
visudo
Or use this if you are a non-root user with sudo privileges:
sudo visudo
root ALL=(ALL:ALL) ALL
newuser ALL=(ALL:ALL) ALL # DELETE THIS LINE
This will prevent a new user created with the same name from being accidentally given sudo privileges.
Conclusion
You should now have a fairly good handle on how to add and remove users from your Ubuntu 16.04 system. Effective user management will allow you to separate users and give them only the access that they are required to do their job.
For more information about how to configure sudo
, check out our guide on how to edit the sudoers filehere.
Ubuntu 添加删除用户 How to Add and Delete Users on Ubuntu 16.04的更多相关文章
- vue简单案例_动态添加删除用户数据
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- [CentOS]添加删除用户
摘要 在安装CentOS的时候,我们只设置了root,类似windows的超级管理员.当然我们在工作的时候,为了安全考虑,不可能对外开发root,一方面是从安全的角度,另一方面也是方便管理. 添加删除 ...
- centos的用户、组权限、添加删除用户等操作的详细操作命令
1.Linux操作系统是多用户多任务操作系统,包括用户账户和组账户两种 细分用户账户(普通用户账户,超级用户账户)除了用户账户以为还 有组账户所谓组账户就是用户账户的集合,centos组中有两种类型, ...
- Linux——CentOS7添加/删除用户和用户组1
Linux--CentOS7添加/删除用户和用户组 2017.05.02 19:58 23012浏览 前言 今天又重新装了centos7突然有关用户和用户组有关的命令记不清了,所以记一下,也方便你 ...
- ubuntu添加新用户并添加管理员权限
Ubuntu创建新用户并增加管理员权限 Family 2014-06-24 22:21:22 $是普通管员,#是系统管理员,在Ubuntu下,root用户默认是没有密码的,因此也就无法使用(据说是为 ...
- Linux添加/删除用户和用户组
声明:现大部分文章为寻找问题时在网上相互转载,在此博客中做个记录,方便自己也方便有类似问题的朋友,故原出处已不好查到,如有侵权,请发邮件表明文章和原出处地址,我一定在文章中注明.谢谢. 本文总结了Li ...
- 详解centos用户&组权限&添加删除用户
1.Linux用户操作系统 Linux操作系统是多用户多任务操作系统,包括用户账户和组账户两种: 细分用户账户(普通用户账户,超级用户账户)除了用户账户以为还有组账户所谓组账户就是用户账户的集合,ce ...
- Ubuntu 添加sudo用户
第一种方法: 添加sudo用户 当你安装Ubuntu的时候,它会自动添加第一个用户到sudo组,允许这个用户通过键入其自身帐户密 码来获得超级用户(root)身份.然而,系统不会再自动添加其他的用户到 ...
- mysql基础:登录退出,修改用户密码,添加删除用户
今天刚开始学习mysql,最先接触用户管理,给大家分享下 注:mysql中命令的大小写都可以的 ==========登录退出相关=================== root@jack-deskto ...
随机推荐
- python安装mysqlclient模块时报mysql_config not found解决方法
在配置Flask框架,安装mysqlclient时报一下错误 翻译了一下大概是 mysql_config 文件没找到, 解决方法是安装缺失的文件. sudo apt install libmysql ...
- 希尔排序的理解和实现(Java)
希尔排序原理 希尔排序(shell sort)这个排序方法又称为缩小增量排序,是1959年D·L·Shell提出来的. 该方法的基本思想是:设待排序元素序列有n个元素,首先取一个整数increment ...
- iOS开发证书与配置文件的使用
前提 众所周知,开发iOS应用必须要有iOS证书(Certificates)和配置文件(Provisioning Profiles),那么问题来了: 1.什么是iOS证书,它是如何与app应用关联的? ...
- Linux下面安装swoole
需要安装php7 新建一个文件夹,作为存储swoole的文件夹 然后执行下面相对应的命令,这里是我执行的命令 新建文件夹 mkdir swoole 切入到文件夹中,进行下载安装包 wget http: ...
- 利用Windows资源监视器解决文件夹无法改名无法删除问题
在win7等Windows系统操作文件夹更名.删除时经常会报错,操作无法完成,balabala 这个时候仅凭在用的软件去一个一个找是很难的,即便软件全关了,还有后台进程,,,奔溃吧 好了,现在我们有了 ...
- 模板模式(TemplateMethod)
什么是Template Method模式 在父类中定义处理流程的框架,在子类中实现具体处理的模式就称为Template Mehtod模式.模板模式的关键是:子类可以置换掉父类的可变部分,但是子类却不可 ...
- springboot-8- 日志配置
1, logback配置 springboot 默认支持logback, 自动加载classpath:logback-spring.xml <!-- logback多文件输出 --> &l ...
- px、pt和em的区别
(转载)http://www.1z1b.com/one-blog-a-week/px-em-pt/ 这里引用的是Jorux的“95%的中国网站需要重写CSS”的文章,题目有点吓人,但是确实是现在国内网 ...
- ABP实战--修改语言配置XML至Json
从ABP官网下载的Zero的多语言配置默认是使用XML文件的,实际使用中XML是没有Json简洁明了的,所以我们将其修改为Json格式. 修改MyLocalizationConfigurer.cs文件 ...
- 远程桌面控制项目开发(Spring+Netty+Swing)
[目录] 1.前言 2.初现端倪 3.款款深入 4.责任细分 5.功能层级图 6.项目结构 7.关键类设计 8.一些设计想法 9.待优化 10.一点心得 11.效果演示 12.讨论 13.GitHub ...