在GNU/Linux中,
su
/sudo
/pkexec
等请求root权限的应用程序都依赖setuid
权限,所以这些文件的权限都是4755
(-rwsr-xr-x
)。安卓的
su
命令是个例外,因为安卓全面禁止了setuid
权限,所以su
命令根本无法自行切换到root。安卓的su
实际进行的操作是,“远程连接”到以root权限运行的su守护进程,然后以类似于ssh远程登录的方式执行命令。实际的命令都是在su守护进程(相当于ssh服务器)上运行的,所以安卓的su命令本身(相当于ssh客户端)不需要任何特殊权限。
这个文件原本就是755权限
这种表述方式(前面没有0),说明你不了解
setuid
权限。
/usr/bin/pkexec
的正常权限是4755
(-rwsr-xr-x
),开头的4
表示setuid
(设置uid,也就是切换用户)。
解决方案是将权限设为
0755
(-rwxr-xr-x
),取消了setuid
,这样这个命令就不能用于切换到root
用户了,所以不再有危害,当然,也不再有作用。任何使用pkexec
请求root权限的图形界面应用程序都会失败。不过,服务器上没有图形界面应用程序,而命令行程序通常都用
sudo
请求root权限,所以几乎没有影响。不要在Linux桌面系统内修改
pkexec
权限!
@卷心菜,mysql的source 和mysql < 1.sql这样导入数据没有区别,但是如果没有
use 表
,会报错说未选择数据库。
@罐子,突然失去兴趣,被我暂存在分支里了。以后有兴趣再说。
@罐子,方法你自己找,我没有。
@罐子,我正在开发公共回调代理。
@罐子,嗯,如果数据不重要,删掉数据文件夹重新开始比较简单。如果数据很重要,也确实有办法修复,MySQL有一些修复命令,我很久以前用过,现在都忘了。
步骤18:更新虎绿林程序,初步修复和PHP8.1点兼容性。
因为有git,更新虎绿林程序相当简单。执行以下命令:
# 跳转到网站文件夹 cd ~/hu60wap6 # 拉取更新 git pull --recurse-submodules
然后再打开网站看看:
http://localhost:8080/?r=54321
已经可以无错显示了。
要查看更新历史,可执行以下命令:
cd ~/hu60wap6 git log
可以按Termux显示的
↑
和↓
按钮滚动更新历史。输入字母
q
可退出更新历史界面。
@罐子,对了,现在有一个在64位Termux中安装32位java的新教程。如果你的MySQL在64位Termux中正常,你可以再次用回64位Termux。
@罐子,mysql数据文件夹里的数据是不可移植的,不同版本的数据文件结构不同。你应该用导入导出SQL来转移数据,而不是直接复制数据文件夹。
@罐子,如果你没有复制数据文件夹,那么目前的提示可能意味着数据文件夹里的内容已经损坏。你可以
killall mariadbd
,删除所有数据(就在你所在的文件夹),然后重新开始。把所有要执行的SQL重新执行一遍。
@罐子,我改了一个32位的Termux(就是把64位库删除了),安装的32位java可以用。需要卸载原app重装。
termux_arm32_118.apk(24.86 MB)其实不需要我修改的这个包,我发现Termux的github提供了32位包:
termux-app_v0.118.0+github-debug_armeabi-v7a.apk(28.50 MB)
@罐子,看起来不需要我回复
@罐子,我想到一个新方法,我们找个32位的java,就没有这些麻烦了。标记指针仅限64位应用程序。
@罐子,突然发现我升到安卓12了,原来MIUI13的线刷包是安卓12
所以如果你还是安卓11的话,我写的解决方法可能管用。
突然发现我升到安卓12了
原来MIUI13的线刷包是安卓12。
@罐子,我找到的第一个解决方法无效。方法已更新在103楼。我在看还有没有其他解决方法。