
Grey Hack






使用远程shell和趣味游戏社会工程学邮件入侵无服务运行电脑指南 简介 编写中 本指南将引导你完成设置远程shell服务器并迫使目标电脑上的员工向你发送远程shell的步骤。此方法需要你从目标电脑获取员工的电子邮件地址,以及从网络某处获取NPC电子邮件账户(用户名和密码),但本指南不会介绍如何获取这些信息。一些常见方法包括利用路由器漏洞获取目标局域网IP的信息,或查看网络上的闭路电视摄像头。建议你在尝试需要远程 shell(rshell)的任务前,先熟悉游戏中的其他系统(漏洞利用、社会工程学、网络以及一般计算机使用)。 本指南也不会涵盖没有端口转发的网络黑客攻击,尽管在这些情况下它可能相关,但它专门适用于从网络内部进行端口扫描(nmap)时没有端口的计算机。 步骤 1:设置远程 shell 服务器 购买一台租赁服务器或使用你已有的服务器 从你的黑客商店(hackshop)下载远程 shell 服务器(rshell-server)和远程 shell 界面(rshell_interface)到该租赁服务器上 运行远程 shell 服务器(rshell-server) 运行浏览器(Browser.exe)192.168.0.1:8080 在端口转发页面,将端口 1222(内部和外部)转发到租赁服务器的局域网(LAN)IP 192.168.0.步骤2:发送趣味游戏邮件 获取目标电脑上某个用户的邮箱,以及网络上任意其他用户的邮箱登录凭证。 运行Mail.exe 点击账户切换按钮(看起来像一个人物图标) 登录网络上某个NPC的邮箱账户 选择趣味游戏社会工程学模板 在“收件人”输入框中填写目标电脑上NPC的邮箱 点击shooter.exe附件 输入你的远程shell服务器租用的公网IP,以及远程shell服务器端口(1222) 发送邮件 步骤3:使用远程shell 在你的远程shell服务器租用设备上运行rshell_interface 选择你刚刚发送邮件的IP对应的远程shell 成功入侵!

一些简单的代码片段,可用于将你的脚本备份到现实中的电脑。 备份脚本文件 我一直不明白为什么没有便捷的方法来备份脚本文件。一旦遇到游戏更新或黑客攻击导致意外,你所有的心血都可能付诸东流! 因此,我编写了两个小脚本,能更轻松地将脚本与现实中的电脑进行相互复制粘贴。 警告:仅当代码中未使用“ n”时,以文本形式备份脚本才有效。请改用“char(10)”!否则,由于File.get_content无法区分作为字符串的“ n”和行尾符,你的代码中会出现奇怪的字符串断裂问题! zip.src comp = get_shell.host_computer sdir = comp.File("/home/trog/Scripts") scripts = comp.File("/home/trog/scripts.txt") if not scripts then comp.touch("/home/trog", "scripts.txt") scripts = comp.文件("/home/trog/scripts.txt") 结束如果 如果不存在脚本则退出("无法打开/home/trog/scripts.txt!") s = "" 对于f在sdir.get_files中 如果f不是二进制文件且不是文件夹则 s = s + "@@@@@" + f路径 +换行符 + f获取内容 +换行符 + "@@@@@@@@@@" +换行符 结束如果 结束循环 脚本设置内容(s) unzip.src comp = 获取外壳主机电脑 scripts = comp.文件("/home/trog/scripts.txt") 如果不存在脚本则退出("无法打开/home/trog/scripts.txt!") s = 脚本获取内容分割(换行符) 当s长度大于0时 line = s提取 //打印(">" + line) 当line中"@@@@@"的索引不等于0时 line = s提取 如果s长度等于0则退出("完成。") //打印(">>" + line) 结束循环 //打印(line) fpth = line从第5位开始 //打印("写入文件: " + fpth + "...") fn = fpth从最后一个"/"位置加1开始 pth = fpth从开始到最后一个"/"位置lastIndexOf("/")] cont = [] line = s.pull while s.len > 0 and line.indexOf("@@@@@@@@@@") != 0 cont.push(line) line = s.pull end while sdir = comp.File(pth) if not sdir then comp.create_folder(pth[:pth.lastIndexOf("/")], pth[pth.lastIndexOf("/")+1:]) sdir = comp.File(pth) if not sdir then exit("无法创建 " + pth + " 文件夹!") end if r = comp.touch(pth, fn) if r != 1 then print("错误: 无法创建文件 " + fpth + "! " + r) else f = comp.File(fpth) if f then f.set_content(cont.join(char(10))) print("已创建文件 " + fpth + "。") else print("错误: 无法打开文件 " + fpth + "!") end if end if end while 希望有帮助 使用方法。新玩家详细说明 制作备份的方法: - 将脚本中的路径(/home/trog/Scripts)更改为与你的脚本所在位置相匹配。 - 编译zip.src并解压。使用代码编辑器(带有运行按钮)的源代码: - 在终端中,执行zip命令 - 你所有的脚本应打包到当前目录下名为【scripts.txt】的文件中 - 打开该文件,按【CTRL-A】全选,再按【CTRL-C】将内容复制到剪贴板 - 在你现实中的电脑上打开记事本,按【CTRL-V】粘贴 - 保存到任意位置 - 对【unzip.src】文件执行相同操作(只需执行一次) 恢复备份: - 在你现实中的电脑上打开脚本文件 - 打开游戏内的记事本 - 复制粘贴打包好的脚本 - 保存为【scripts.txt】 - 在终端中运行【build unzip.src /home/<你的用户名>】 - 在终端中运行【unzip】 - 你所有的脚本都应已恢复 重新编译脚本: - 使用以下脚本来将所有脚本重新编译到【/bin】文件夹 buildall//命令:构建 构建源 = 函数(路径源,程序路径,文件名) 打印("正在构建 " + 路径源 + "...") 计算机 = 获取_外壳.主机计算机 文件源 = 计算机.文件(路径源) 目标文件夹 = 计算机.文件(程序路径) 如果 文件源 == 空 则 退出("构建:无法找到 "+ 路径源) 如果 目标文件夹 == 空 则 退出("构建:无法找到 " + 程序路径) //文件 = 计算机.文件(程序路径 + "/" + 文件名) //如果 文件 则 文件.删除 输出 = 获取_外壳.构建(文件源.路径,目标文件夹.路径) 如果 输出.长度 != 0 则 打印(输出); 结束 如果 结束 函数 计算机 = 获取_外壳.主机计算机 脚本目录 = 计算机.文件("/home/trog/Scripts") 如果 非 脚本目录 则 退出("无法打开 /home/trog/Scripts.txt!") 对于 文件夹中的文件 在 脚本目录.获取_文件 如果 非 文件.是_二进制 且 非 文件.是_文件夹 则 构建源(文件.路径,"/bin",文件.名称) 结束 如果 结束 对于
端口列表页 端口 22 - SSH - (SSH服务器) ############################# 21 - FTP - (FTP服务器) ############################# 6667 - 聊天 - (聊天服务器) ############################# 3306 - 学生/罪犯/员工 - (SQL端口) ############################# 141 - 银行账户 - (SQL端口) ############################# 25 - SMTP - (邮件服务器) ############################# 80 - HTTP - (网络服务器) ############################# 1222 - 远程 shell ############################# 37777 - 摄像头 - (闭路电视摄像头) ############################# 8080 - 路由器/交换机 ############################# 1542 - 仓库 ############################# 1883 - 智能设备 ############################# 5555 - ADB - (智能手机)
如何在v0.9多人模式中防止被黑客攻击并搭建安全服务器 简介 本指南将介绍在多人模式中避免被其他玩家黑客攻击的注意事项和应对方法。简而言之:避免暴露你的IP,通过各种方式修改系统,使其对其他玩家而言更难入侵或缺乏入侵价值。以下是详细说明。 游戏玩法 在正常游戏进程中,为避免被黑客攻击应注意的行为和禁忌。 游戏玩法 > 网站 避免访问不受信任的网站 当你访问网站时,会在该网站上留下指向你访问IP的日志。这是玩家被发现并遭受黑客攻击的最常见方式。由于你至少在一段时间内无法阻止自己的IP出现在日志中,请查看【游戏玩法】>【避免被黑客攻击】部分。 你可以入侵网站并清除日志,但这可能需要一些时间,在你进入网站之前,可能会有人获取你的IP甚至入侵你。此外,网站可能是安全的,根本无法入侵。但通过上述部分中的某些选项,这确实会成为可能,特别是在你入侵时可以保护IP但使用浏览器时无法保护的情况下。 寻找随机网站:每个NPC网站都有数亿个副本。其中包括黑客商店,你只需检查随机IP就能找到新的黑客商店(你可以直接搜索1542,黑客商店是唯一托管有仓库的NPC网络)。默认命令: chmod -R o-rwx / chmod -R g-rwx / chmod -R u-rwx / chown -R root / chgrp -R root / 倒数第二条命令也是必需的,因为之前提到了所有者例外情况。最后一条命令并非绝对必要,但为了保持一致性,建议执行。 远程服务器 重要性:高 在几乎所有情况下,你将通过ssh/rshell以root身份登录远程服务器,因此权限对你而言无关紧要,你可以自由地锁定所有内容。运行【Base】 远程服务器(以用户身份登录并立即提权) 重要性:高 如果你想以用户身份登录,需要添加启动sudo(或任何具有相同功能的脚本)的权限。运行Base程序,然后在默认命令和默认位置下执行以下操作: chmod o+x /bin/sudo chmod u+x /bin/sudo chmod g+x /bin/sudo 后两条命令并非严格必要,但为保持一致性,建议执行。 如果你使用自定义工具,则需要对该工具的跳转文件执行上述操作,之后就可以用该工具替代sudo。关于跳转文件的定义、创建方法及位置,请参考工具的指南或帮助文档等。 远程服务器(作为无自定义工具的用户使用时) 重要性:高 如果你想以无自定义工具的用户身份使用,需要为命令添加执行权限。运行Base程序,如果你将命令存储在默认目录/bin中,可使用以下默认命令: chmod -R o+x /bin chmod -R u+x /bin chmod -R g+x /bin 如果想要使用图形用户界面应用程序,还需要为它们添加执行权限。若命令存储在默认目录/usr/bin中,可使用以下默认命令: chmod -R o+x /usr/bin chmod -R u+x /usr/bin chmod -R g+x /usr/bin 家用电脑 重要性:低 这完全没有必要,因为在几乎所有可能产生影响的情况下,你被黑客攻击实际上已经不可避免。换句话说:这很少会产生决定性的影响。 具体内容详见以下两个部分。家用电脑,最低要求 重要性:低 其正常运行所需的最低权限是允许执行sudo(或其他具有相同功能的二进制文件,如果你的自定义bash中已内置该功能则无需此权限)以及让Terminal.exe能够首先启动终端。运行Base后,在默认位置使用默认命令: chmod o+x /usr/bin/Terminal.exe chmod u+x /usr/bin/Terminal.exe chmod g+x /usr/bin/Terminal.exe chmod o+x /bin/sudo chmod u+x /bin/sudo chmod g+x /bin/sudo 家用电脑,作为用户使用时 重要性:低 此时你需要允许执行Terminal.exe。可以使用默认命令或你正在使用的工具,并且可能需要允许所有图形用户界面程序(如果你想以用户身份打开它们,这会方便得多)。运行Base,然后: 若所有图形界面(GUI)均在默认位置: chmod -R o+x /usr/bin chmod -R u+x /usr/bin chmod -R g+x /usr/bin 若仅针对终端: chmod o+x /usr/bin/Terminal.exe chmod u+x /usr/bin/Terminal.exe chmod g+x /usr/bin/Terminal对于所有位于默认位置的命令: chmod -R o+x /bin chmod -R u+x /bin chmod -R g+x /bin 或者仅针对你正在使用的工具,将{path to it}替换为该工具的路径: chmod o+x {path to it} chmod u+x {path to it} chmod g+x {path to it} 此外,如果你希望以用户身份访问自己的主目录,但这会使计算机主目录权限的安全性几乎完全失效,默认命令如下: chmod o+rwx /home chown -R {your user} /home/{your user} 安全 > 文件 重要性:视情况而定,参见具体场景 你可以删除或修改某些文件以在一定程度上影响你的安全。其中一些文件可能你正在使用,在删除或修改前请确保你当前没有使用(且将来也不会使用)它们。/etc/passwd - 删除 重要性:中等 这是存储系统所有用户密码的文件,除了帮助他人入侵你之外没有其他用途。直接删除即可。 警告:当创建、删除用户或更改用户密码时,该文件会被恢复。 /etc/passwd - 伪造 重要性:中等 你可以将"/etc/passwd"中的哈希值替换为错误的,以稍微迷惑将要攻击此系统的人,比直接删除它更有效一些。 要获取密码的哈希值,建议将某个用户的密码更改为【假密码】,从该文件中获取哈希值,然后改回原密码,再将文件中的哈希值改为假的。将某些用户的密码更改为伪造密码,可确保其哈希值存储在游戏数据库中,并且可以通过加密方式解密,这能更好地迷惑他人。 警告:在创建、删除用户或更改用户密码时,该哈希值会被重置。 /home/guest 重要性:中等 这是访客用户的主目录,如果其中未存储任何内容,可以随意删除。当你需要处理权限问题时,这会非常有帮助。 /home 重要性:低 在你的家用电脑上,删除此目录会导致某些功能出现故障,不建议在那里执行此操作。 它对安全性的影响相对较低。 这是存储系统上所有用户主目录的目录。如果该系统上没有任何用户,或者不打算使用这些目录,则可以将其删除。/root 重要性:低 在你的家用电脑上,这会导致一些功能损坏,不建议在那里操作 对安全性的影响相对较低 这是根目录的主文件夹,如果你不使用它,可以删除。 /bin 和 /usr 重要性:低 在你的家用电脑上,这会导致很多功能损坏,我不建议在那里这样做 对安全性的影响相对较低,只有在你不打算使用它们时才可以这样做(需要使用自定义工具或将二进制文件存储在其他目录中) 这些是存储二进制文件/图形用户界面的目录,如果你不使用它们,可以删除。 安全 > 库 重要性:高 安全库至关重要,实际上是获得安全系统所必需的。但它们只有在以下两种电脑上才真正起作用:要么有开放端口,要么有人能通过【Metasploit】获得shell(后者对攻击者来说绝不应发生)。 原理如下:你拥有的每个库文件都有其名称和版本,例如可能是【init】(默认文件名【init.so】),版本为【1.0.0】。 每一对名称和版本组合(例如【kernel_router 1.0.0】、【init 1.0.1】、【init 1.1.5】等)都对应着一系列可用于攻击它的漏洞。其中大多数漏洞在最新版本中是隐藏的,只有当该版本不再是最新版本时才会被揭示。除此之外,漏洞不会发生变化(【0day溢出】除外,这在【0day】部分会讨论)。如果你在访问NPC网站获取银行/电子邮件等信息后,希望有更多时间来处理自身安全问题,可以选择随机寻找一个NPC网站。由于该网站是你随机发现的,一开始不会有人在上面等待,虽然在你访问后它会被添加到gsearch(全局搜索)中,但这能为你争取更多时间。 游戏玩法>避免被黑客攻击 当你的IP被发现时,有多种方法可以防止自己被黑客攻击,包括: 1. 无线网络切换:在IP暴露后迅速将无线网络从一个切换到另一个。这可以完全自动完成,执行此功能的程序通常被称为“无线网络跳跃器”。这能帮助避免很多风险,但受限于你可用的网络数量。你需要将仅包含无法提供任何有用信息或对攻击者来说价值不足的漏洞的库(以下简称“安全库”)进行处理。要“激活”一个库,若其尚未成为默认库,需将其重命名为默认名称(即库名+.so,例如:kernel_router.so、init.so、libssh.so),然后将其移动到你想要“激活”它的系统的“/lib”目录中。 用于服务的库(例如:libssh.so、libhttp.so),如果你正在使用它们,则需要确保其安全性。在开启了某些服务的计算机上,本地库需要更加安全,更重要的是,要使用正确的低版本,以防止针对开放服务的某些漏洞(服务器上本地库的版本足够高时,可以阻止某些漏洞的利用)。本地库如果可能遭受攻击(例如攻击者通过服务器上的Metasploit获得shell),也需要确保安全,但首先应不惜一切代价避免这种情况发生。 从其他玩家处获取:获取安全库最简单的方法是从已拥有安全库的其他玩家那里获取,或者从他们那里得到库的版本,然后使用某些工具在NPC网络中查找。你可以四处询问安全版本及其获取位置。 在本指南撰写时,获取安全库最常用的地方是游戏内网站【celestial.com】,你可以使用该网站。 自行获取:或者,你也可以自己寻找安全版本。有多种方法可供选择,包括: - 扫描随机网络以寻找它们的库。- 通过某种方式强制更新新版本,最常见的是使用ExploitReport.exe,若使用得当还能提升安全性(它能防止已报告的漏洞被带入下一个版本)。 - 查看黑客商店中现有的版本,这能为你提供大部分所需信息。 你需要找到要求最低的版本,如果你发现一个有潜力的版本,只需将其部署到服务器上,然后尝试亲自攻击它。 0day是一个完全不同的话题,因此这里将尽量简要说明。 0day系统可能引入两种威胁你的安全的东西: 0day > 溢出:这是一个随机的额外漏洞,且只能以访客身份利用。无法阻止其被使用,因此你的系统需要做好准备,以应对任何来宾对象/防火墙被禁用的情况,并且不会因此受到攻击。 0day > 有效载荷 这部分要复杂得多,但实际上,如果你允许它被使用,最终被黑客入侵的可能性会极大。防止方法是修补程序库。至于具体如何操作,同样比较复杂,我会留到其他指南中说明。但你需要知道的是,修补是暂时的,而且每次成功修补后(在前一次修补失效后),修补的时长会增加。当你对一个库进行补丁时,首次补丁的有效期为一个0day周期(15天)。如果该周期结束后,你在下一个周期再次为其打补丁,有效期将延长至两个周期,最长可增加到6个周期(1个游戏内年或约21个现实日)。如果你从其他玩家那里获取安全库,这些库通常已预先打了一定期限的补丁,往往是上述的最大期限(例如:【celestial.com】上的大多数库都已打了最大期限的补丁,并且每个0day周期都会刷新)。 安全 > 密码 重要性:视具体情况而定 远程服务器 重要性:高 我强烈建议为每个服务器上的所有用户使用最大长度的随机密码,以防止任何暴力破解或关联攻击的尝试。家用电脑 重要性:低 在家用电脑上使用安全密码并不会显著提升你的安全性,但如果你想设置:其设置方式与“远程服务器”相同。 安全 > SSH 重要性:中等 可以为SSH设置一个单独的、更长的密码,并对SSH加密进行硬编码,以便在验证后返回实际的根密码。这是可行的,因为SSH加密的解码部分是私密且经过编译的。 示例 以下是此类加密的示例。 编码(默认情况下会以文本文件形式保存到/server/encode.src): Encode = function(password) return password end function 解码(默认情况下会保存到/server/decode.bin(作为已编译的脚本),请按说明替换{put the ssh password here}和{put the actual root password here}: 解码函数(Decode)= 函数(密码) 如果 密码 不等于 "{put the ssh password here}" 则 返回 "" 返回 "{put the actual root password here}" 结束函数 要启用ssh加密以及(如果需要)更改文件路径,请修改/server/conf/sshd.conf 防嗅探示例:以下是此类加密的示例,"hh"是一个用于防止嗅探的简单哈希函数。 编码(默认保存到/server/encode.src,为文本文件): hh = 函数(密码) max = 2147483647 password2 = [] 对于 密码中的每个字符c password2.添加(随机数(c.编码) * max) 结束循环 offset = 随机数(总和(password2) 取模 max) * max password3 = [] 对于 password2中的每个元素c password3.push(rnd(bitXor(c, offset) % max) * max) end for offset = rnd(sum(password3) % max) * max password4 = [] for c in password3 password4.push(rnd(bitXor(c, offset) % max) * max) end for return password4.join("0") end function Encode = function(password) return hh(password) end function Decode(默认生成到/server/decode.bin,作为已编译脚本),按说明替换{put the ssh password here}和{put the actual root password here}: hh = function(password) max = 2147483647 password2 = [] for c in password password2.push(rnd(c.code) * max) end for offset = rnd(sum(password2) % max) * max password3 = [] for c in password2 password3.push(rnd(bitXor(c, offset) % max) * max) end for offset = rnd(sum(password3) % max) * max password4 = [] for c in password3 password4.push(rnd(bitXor(c, offset) % max) * max) end for return password4.join("0") end function Decode = function(password) if password != hh("{在此处输入ssh密码}") then return "" return "{在此处输入实际的root密码}" end function 要启用ssh加密以及(如果你想的话)更改文件路径,请修改/server/conf/sshd.conf 安全>路由器 重要性:高 每个网络至少有一个路由器——入口路由器。它始终开放0端口,可通过公网ip访问(仅入口路由器特有,其他路由器的0端口只能通过其本地ip访问)。你也需要保护路由器,你可以将“安全”中的所有其他步骤应用于路由器。它们还有一个8080 http端口,但只能从网络内部访问。唯一的区别在于,与普通服务器不同,路由器默认没有开放ssh端口(初始进入的唯一方式是入侵它,如果你无法入侵,可以删除并创建新网络)。你需要设置一些方法以便日后重新进入(例如刷新库的0day补丁)。可行的方法包括:放置一个故意留有漏洞的http库用于8080端口;植入远程shell;设置并启动ssh服务。 其他 (请原谅我不擅长写指南,但希望这能帮到某些人) 如果你发现本指南中有任何疏漏或我遗漏的内容,可以通过任何方式评论或联系我。 我建议你查看官方discord服务器。前期游戏阶段适用,但后期最好使用其他方法。 NPC代理: 你可以将NPC的电脑用作代理,以防止自己的真实IP被暴露,但你需要清除日志,因为该代理最终会被入侵。此外,这可能导致你被该NPC所在网络的管理员追踪。如果你清楚自己在做什么,可以将其用作额外的防护措施。 由于这是代理,无法直接用于购买硬件。但可用于入侵并立即清除日志,总体而言是个不错的选择,因为(使用自定义工具时)它能消除被NPC追踪的风险。 安全的租用代理: 租用服务器,然后按照本指南的“安全”部分对其进行加固。如果操作得当,这可能是最佳选择。对于这款游戏,如果你还没有加入社区的话,建议你加入。由于这是一个代理,因此无法直接用于购买硬件。但它可用于入侵并立即清除日志。 安全家庭网络:租用家庭网络并按照本指南的“安全”部分进行安全设置。如果操作得当,在PVP中它的作用与安全租用代理相同。可以将其作为故障保护措施配合使用。 游戏玩法 > 恶意软件: 显而易见的是:绝对不要运行任何你不信任的二进制文件。即使你是在随机的NPC机器上运行它,有时(取决于当前可用/未修补的“非预期功能”)也可能会泄露一些你不想向陌生人透露的信息。 库文件不会是恶意软件(目前而言),你可以包含或加载它们,如果它确实是一个库文件,那么就没有什么可担心的。只要你确定是可执行文件,那么它们就不会是恶意软件:在文件资源管理器中检查它是否有特殊图标,否则就将它们与二进制文件同等对待。 如果你确实需要启动无法验证的程序,请使用随机的NPC机器,并确保即使你的IP暴露,也不会被黑客攻击,具体方法可参考游戏玩法中的【避免被黑客攻击】部分。 安全措施 为了让你自己或你的服务器更安全、更难被黑客攻击,需要进行以下更改。这些措施的效果差异很大。我建议在不牺牲其他方面的前提下,尽可能完成更多的安全措施。每个章节都会有重要性评级,用于说明其效果: 高 - 显著提升服务器安全性,在大多数情况下是必须执行的,强烈建议完成 中 - 在特定场景下能提升服务器安全性,通常在其他措施配置错误时作为安全保障 低 - 仅在非常特殊的场景下提升服务器安全性,可忽略这些内容,但应用它们也没有坏处 安全 > 权限 重要性:视情况而定,详见具体章节 锁定系统权限,具体情况请阅读下文。 需要注意的是,你需要配置权限以确保自己能够访问服务器。以下内容根据服务器类型分为多个小节,说明如何防止自己被锁定。 权限如何运作?每个文件都有权限字符串,可通过ls -l等命令或File.permissions接口查看。 权限字符串格式如下:rwxrwxrwx 它由三组字符组成,每组三个字符。 1-3位 | u | 用户 = 文件所有者拥有的权限,所有者信息可在ls -l命令中显示为第一个名称,或通过File.owner接口获取。 4-6位 | g | 组 = 属于该用户组的任何用户拥有的权限,用户组信息可在ls -l命令中查看,或通过File.group接口获取。要查看用户所属的组,可使用默认的groups {user}命令,或通过Computer.groups接口查询。7-9 | o | other(其他人)= 分配给不满足前两类条件的所有用户。 这三个用户组是互斥的,你将严格按照权限设置获得其中一组权限。它们的优先级按上述顺序排列。例如:权限字符串为r--rwxrwx时,如果你是文件所有者,你仍只能获得"r--"权限。 通过默认的chmod(-R){路径} {操作}命令可以修改权限字符串。-R表示递归应用。 关于操作:第一个字符决定要修改的部分(字符组),+/-表示添加或移除权限,随后是要修改的权限字符(rwx)。 通过chown(-R){路径} {新所有者}命令可以更改文件的所有者。 通过chgrp(-R){路径} {新用户组}命令可以更改文件的用户组。组中的每个字符都表示你对该文件可以/不可以执行的特定操作: 1 | r | 读取 = 读取文件内容的权限 2 | w | 写入 = 修改文件内容以及任何相关信息(包括权限本身)的权限 3 | x | 执行 = 若文件为二进制文件,则拥有执行该文件的权限 例外情况:文件所有者始终可以更改该文件的权限,无论其当前权限如何。 例外情况:root完全忽略权限,实际上对每个文件都拥有rwx权限。 基础:移除所有权限并将所有者/组更改为root,后续会引用此操作。






