ubuntu 增加一个用户 并赋予权限

时间:2021-03-14 16:55:45

一、添加一个用户

sudo adduser tommy  //添加一个tommyd的用户

sudo passwd tommy // 修改密码 回车后出现一下提示 输入密码即可
Changing password for user tommy.
New UNIX password:     //在这里输入新密码
Retype new UNIX password:  //再次输入新密码
passwd: all authentication tokens updated successfully.

二、 登陆或远程tommy后会发现

  • 在Linux下新增的用户登录后只有一个$,没有显示用户名和主机名 及路径,如下:
$ cd ~
$ ls
$ ls -a
  • 1
  • 2
  • 3

原因

  • 查看/etc/passwd文件后发现,新建的用户未指定shell。我们只需将其指定为/bin/bash即可。

解决办法

方法一(本人亲测有效):

  1. 切换至root用户
  2. 使用usermod命令修改shell类型
执行sudo usermod -s /bin/bash tommy
  • 1

方法二:

  • 本人测这个的时候没有成功解决,一并记下来希望有人能通过其解决吧。

1.在~/.bash_profile中加入以下代码,若无该文件可自行创建

vi ~/.bash_profile
#加入
#export PS1='[u@h W]$'
#保存
  • 1
  • 2
  • 3
  • 4

2.使变量生效

source ~/.bash_profile  
  • 1

3.使用新建的用户重新登录

三、 新用户下没有人root 权限 即执行不了sudo 命令

1.切换到root用户下,即创建新用户的用户下

2.添加sudo文件的写权限,命令是:
sudo chmod u+w /etc/sudoers

3.编辑sudoers文件
vi /etc/sudoers
找到这行 root ALL=(ALL) ALL,在他下面添加xxx ALL=(ALL) ALL (这里的xxx是你的用户名 如tommy)

ps:这里说下你可以sudoers添加下面四行中任意一条
youuser            ALL=(ALL)                ALL
%youuser           ALL=(ALL)                ALL
youuser            ALL=(ALL)                NOPASSWD: ALL
%youuser           ALL=(ALL)                NOPASSWD: ALL

第一行:允许用户youuser执行sudo命令(需要输入密码).
第二行:允许用户组youuser里面的用户执行sudo命令(需要输入密码).
第三行:允许用户youuser执行sudo命令,并且在执行的时候不输入密码.
第四行:允许用户组youuser里面的用户执行sudo命令,并且在执行的时候不输入密码.

4.撤销sudoers文件写权限,命令:
sudo chmod u-w /etc/sudoers

这样普通用户就可以使用sudo了