linux添加一个用户及权限全过程

添加用户

sudo adduser user_name

用户密码

sudo passwd user_name

给新添加的用户添加执行sudo的权限。当前操作需要在root用户下进行!!!

visudo

修改成:
找到root ALL=(ALL) ALL, 复制当前行。在下面增加粘贴之后修改root为user_name保存退出。

root ALL=(ALL) ALL
user_name ALL=(ALL) ALL

user_name, ALL, ALL, ALL
分别的含义为
用户账号 登陆来源的主机名 可以切换的身份 可以执行的命令

这里解释一些概念。
su 这个命令是切换用户,这个命令默认会切到root,
sudo 需要的是当前用户的密码,而 su 命令需要的是 管理员的密码. 直接用管理员密码很危险,所以sudo 很安全。

sudo su root 是当前用户执行切换root用户操作,因为已经修改了visudo, 所以sudo 生效,这和github上配置ssh-keygen道理是一样的。

sudo 仅仅是提高当前执行命令的权限. 而 su 命令可以执行 root 的所有权限!

su 和 su - 是不一样的,前者会保存当前环境,后者创建一个目的用户环境。

还有一个比较重要的知识点: -l

-l , –login:加了这个参数之后,就好像是重新登陆一样,大部分环境变量(例如HOME、SHELL和USER等)都是以该使用者(USER)为主,并且工作目录也会改变。如果没有指定USER,缺省情况是root

example:

sudo su -l user_name

上述命令和sudo su user_name的区别在于
sudo su -l user_name 就好像user_name本人登陆了一样,环境变量和user_name完全一样。sudo su user_name 则还是你之前的环境变量, 所以就可能会出现bug!!!

参考:

https://blog.csdn.net/soindy/article/details/73832025
https://blog.csdn.net/chunyang315/article/details/78950641
https://blog.csdn.net/charm_1981/article/details/79038786

猜你喜欢

转载自blog.csdn.net/funnyPython/article/details/82960375