su命令

whoami:查看当前所在用户

android 查看SU路径_android 查看SU路径


·

su后面加的“-”的作用是更彻底的切换,包括用户的配置,环境变量等,并且切换到该用户的家目录下载,如果不加的话如下图你切换到aming用户,可是你还在root目录在线。

android 查看SU路径_远程登录_02


·

如何在root下,不切换用户的情况下,用这个用户yang来执行"touch 1.txt"这条命令呢

su - -c "touch 1.txt" yang

android 查看SU路径_android 查看SU路径_03


·

·

·

·

·

sudo命令

当普通用户需要使用root用户的身份去执行一条命令时,如果直接给它root密码是很不安全的。那么我们可以使用sudo命令。

sudo:可以让普通用户零时以指定用户身份执行一条命令,通常情况是给普通用户授权root用户的身份。

设置方法:

使用visudo查看配置文件,实际我们打开的是/etc/sudoers.tmp这个文件,不建议用vi直接编辑它,因为vi不能检测语法错误,用visudo这个命令则可以。

打开之后往下翻,找到如下一行:意思是允许root用户运行所有的命令,在任何地方。

android 查看SU路径_android 查看SU路径_04


·

然后我们可以在下面再写一行,比如我们可以让yang用户在任何地方使用ls、mv、cat命令(命令要用绝对路径)

android 查看SU路径_android 查看SU路径_05


·

在编辑的时候esc输入:set nu可以显示行数,便于检测出检测语法错误的时候修改

·

如果需要给多个用户设置,可以先把这几个用户加入到一个组里,然后在下图位置编辑:

android 查看SU路径_普通用户_06


·

测试一下,在aming用户下用root权限cat文件1.txt

sudo /usr/bin/cat /root/1.txt我们在visudo时,还可以做命令的别名自定义 :

比如

如果设置了以下三个命令的别名为AMING_CMD,Cmnd_Alias AMING_CMD= /usr/bin/ls, /usr/bin/mv, /usr/bin/cat

那么,上面一条例子也可以改成:

aming ALL=(ALL) AMING_CMD

·

·

·

·

·

限制root远程登录

我们可以分两步考虑,如果root没有远程权限,我们是不是要把普通用户给予部分root权限,然后再限制root用户?

如果想要在限制root远程登录之后普通用户使用root用户身份运行命令就需要提前做如下操作。

首先我们设置用户的aliases,将yang,yang1设置一个总的别名

android 查看SU路径_远程登录_07


·

然后我们设置规则

android 查看SU路径_普通用户_08


·

之后我们来试一下:(普通用户不用密码就能登录到root用户)

android 查看SU路径_root用户_09


转载于:https://blog.51cto.com/13658403/2094791