system("su -c ")
时间: 2023-09-25 09:11:25 浏览: 62
这是一个用于在 Linux 系统中切换用户身份的命令。通过使用该命令,可以在当前会话中切换到另一个用户的身份,以便在该用户的权限下执行操作。su -c 命令可以让当前用户以另一个用户的身份执行指定的命令或脚本。例如,以下命令可以让当前用户以 root 用户的身份执行指定的命令:
```
su -c "command"
```
其中 command 是要执行的命令。在执行该命令时,系统将会提示输入 root 用户的密码,以验证用户的身份。
相关问题
在应用程序里调用C语言然后调用system("su") 这样可以吗
在应用程序中调用C语言代码,并在其中使用`system("su")`命令来获取root权限是可行的。但这种方式可能会带来一些安全风险,并可能违反某些移动设备厂商的保修条款。
请注意,使用root权限可能会使您的应用程序更容易受到恶意攻击。攻击者可能会利用root权限来访问您的设备文件系统,或者更改您的应用程序代码。此外,某些移动设备厂商可能会禁止获取root权限的应用程序在其设备上运行,并可能会拒绝为这些应用程序提供支持和保修服务。
如果您确实需要在应用程序中使用root权限,请确保您了解相关的安全风险,并采取相应的安全措施来保护您的应用程序和设备。例如,您可以使用安全存储区域来保护您的root权限密码,并使用代码签名和加密技术来保护您的应用程序代码。
Unable to chmod etc: Read-only file system
如果你的设备的`/etc`目录是以只读文件系统挂载的,那么你无法直接更改其权限。只读文件系统通常是为了保护系统文件的完整性而设置的。
如果你想在只读文件系统中修改`/etc`目录下的文件,你可以尝试以下方法:
1. 挂载文件系统为可写模式:使用以下命令将文件系统重新挂载为可写模式:
```
adb shell "su -c 'mount -o remount,rw /'"
```
这将将根目录重新挂载为可写模式,这样你就可以修改`/etc`目录下的文件了。请注意,这需要设备已经root。
2. 使用`adb push`命令:将要修改的文件从计算机推送到设备上的临时目录,然后再将其复制到`/etc`目录。例如:
```
adb push file_to_modify /data/local/tmp/file_to_modify
adb shell "su -c 'cp /data/local/tmp/file_to_modify /etc'"
```
这将先将文件推送到设备的临时目录,然后再将其复制到`/etc`目录。你可以在推送到临时目录后修改文件内容。
请注意,在进行任何更改之前,请确保你了解可能引起的潜在风险,并在进行操作前备份重要文件。