Linux 文件权限中,操作一个文件需要父目录的那些权限?

eudore:linux 文件权限中,操作一个文件需要父目录的那些权限? 是否需要检查每级目录?想找到一份完整规范正确的指导,自己在写检查 linux 用户文件权限的代码。
例如读取一个文件 /home/v2ex/.ssh/authorized_keys, 需要 authorized_keys 具有 r,/home 、/home/v2ex 、/home/v2ex/.ssh 三个目录需要 x 权限。

zengxs:浏览目录需要 r 权限
进入目录需要 x 权限
向目录写入文件需要 w 权限

不检查每级目录

Chenamy2017:你要操作文件,那么你就检查该文件的权限,你要操作目录就检查目录的权限。

NoobX:不知道你用的什么语言
如果是用 C,直接使用 open() syscall,check 返回值和 errno 即可,根据 errno 确定出错原因,流程没那么复杂

Mutoo:需要递归权限的。如果父目录无法访问,就算里面的文件是 777 你也没办法读取。
另外可以用 namei 这个命令检查整个路径的权限。如果中间有某个路径权限有问题,一下就可以发现。

eudore:@NoobX 使用的 go 写的,需要验证 sftp 登录用户的是否具有操作一个 sftp 请求文件的权限。
只有一个需要验证的用户名和目标目录,现在实现权限验证逻辑,但是不请求一个操作需要什么样的权限(文件目录的 rwx 一共六种情况需要什么样的父目录权限)。

eudore:@Mutoo 我看了下 namei 命令,发现是列出一个目录每级的权限信息,但是不能去验证指定用户文件权限。

eudore:个人感觉是对一个文件或目录操作时,是需要其父目录每级 x 权限。

NoobX:@eudore 抱歉,我对 go 不怎么熟悉,就不瞎 BB 误导你了

libook:需要检查每一级目录的权限,但并不一定每一级目录都必须给所有权限。

可以参考这个 https://wiki.archlinux.org/index.php/Users_and_groups_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)

Linux 服务器管理多窗口

sudoy:我的网页程序是以 docker 形式部署, 前后端分离的那种。在 Windows 下面我可以打开多个 CMD 窗口分别运行数据库、前端、后端以及 webhook 。那么如果部署在 Linux 服务器(无桌面),请问大家是如何管理的呢?我目前只知道用screen开多个窗口分别运行。 ungrown:byobu zhzy:如果都是 docker 关键…

Linux 自动化大神看过来,求助啊

Number13:expect 使用方式求助 我想要判断执行程序的输出,是否有我指定的字符串怎么搞啊 比如 P1 程序执行后输出有 两种情况 情况 a:回显字符串中包含 aaaaa 情况 b: 回显字符串中包含 bbbbb 现在想判断 P1 程序执行后 如果是情况 a 就 执行 aCommandLine 情况 b 就 执行 bCommandLine 伪代码如…

有哪些笔记本适合做 Linux 系统的桌面开发,以及 Linux 服务器系统?

tctc4869:想买一个笔记本,装乌邦图的 Linux 系统,做 linux 的桌面开发,以及做 Linux 服务器挂着小型 web 应用。让局域网的设备能连接,甚至是互联网的 有哪些适合的笔记本? 10000 元以下的有哪些,25000 元以下的又有哪些?singerll:是个笔记本都可以装 linux 吧,光这个需求没法判断 quella:不移动可以考…

腾讯轻量云怎么安装 Arch Linux

robinch:研究一下 DD 脚本吧 xiri:Arch Linux 本来就支持替换安装,直接启动一个 chroot 环境,然后在里面挂载系统盘,把原系统的文件全删了然后安装 Arch Linux 即可。Arch Wiki: https://wiki.archlinux.org/index.php/Install_Arch_Linux_from_exist…

另辟蹊径在 Linux 下使用微信

ety001:前置条件 开启 ADB 的 Android 手机 说明 在 Linux 下使用腾讯的产品就是各种痛苦。大家比较普遍的方法是 wine,还有些是靠虚拟机。 我个人是两种都有使用。 最近我的 Archlinux 滚动升级了搜狗拼音输入法后,wine 的微信会被搜狗搞崩溃。 于是我在考虑有没有其他方案。 灵光一现,想到了我经常录屏用的软件 scrcp…