前言
linux中有两个角色
管理员
用户
只有root是管理员,其他添加的用户都是普通用户,就算把它加到sudoer文件中,还是普通用户,只不过变为可以借用管理员权限的普通用户罢了。
步骤
首先,只有root管理员或是可以借用管理员权限到用户才能将用户添加到系统,目前我们还没有添加其他用户,那么我们先用root管理员
用su命令切换用户
su 用户名
gl@gl-GL553VD:~$ su root
密码:
接下来用这个命令添加用户
useradd 用户名
root@gl-GL553VD:/home/gl# useradd gl04173092
添加完用户之后给新用户设置密码
passwd 用户名
root@gl-GL553VD:/home/gl# passwd gl04173092
输入新的 UNIX 密码:
重新输入新的 UNIX 密码:
passwd:已成功更新密码
此时的用户还是root,因为我们没有切换用户
root@gl-GL553VD:/home/gl# whoami
root
我们要用su命令切换用户
root@gl-GL553VD:/home/gl# su gl04173092
gl04173092@gl-GL553VD:/home/gl$ whoami
gl04173092
用户成功切换!
接下来让我们执行命令
gl04173092@gl-GL553VD:/home/gl$ cp 1.c ..
cp: 无法创建普通文件'../1.c': 权限不够
再用sudo试试
sudo是让当前用户暂时获取管理员的权限,用完之后归还
sudo cp 1.c..
[sudo] gl04173092 的密码:
gl04173092 不在 sudoers 文件中。此事将被报告。
我们要配置文件/etc/sudoers来把新建的用户加入到sudoer文件中
这个文件需要管理员权限打开,我们先切到root管理员
gl04173092@gl-GL553VD:/home/gl$ su root
密码:
root@gl-GL553VD:/home/gl# whoami
root
root@gl-GL553VD:/home/gl# visudo
然后找到文件的这一行
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
把新用户添加上去
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
gl04173092 ALL=(ALL:ALL) ALL
保存退出
好了,现在我们的新用户已经可以借用管理员权限了
root@gl-GL553VD:/home/gl# su gl04173092
gl04173092@gl-GL553VD:/home/gl$ gcc 1.c
/usr/bin/ld:无法打开输出文件 a.out:权限不够
collect2: error: ld returned 1 exit status
gl04173092@gl-GL553VD:/home/gl$ sudo gcc 1.c
[sudo] gl04173092 的密码:
新用户和root管理员的区别是,root管理员可以直接执行命令,但是新用户只能使用sudo借用管理员的权限执行完命令之后归还