ubuntu 增加一个用户 并赋予权限
一、添加一个用户
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即可。
解决办法
方法一(本人亲测有效):
- 切换至root用户
- 使用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了