-rwxr-xr-x 到底是几?chmod 644 又代表什么权限?勾选 r / w / x 与特殊位即可实时算出八进制,也能直接输入 755、4755 反推勾选,顺带给出 chmod 命令、ls -l 首列、权限位拆解与 umask 推算。
勾选 r / w / x 与特殊位,或直接输入八进制数字,双向实时联动;同时给出 chmod 命令、ls -l 首列与 umask 推算。全部为本地按位运算,不上传任何数据。
Linux 文件权限把访问者分成 属主 u / 属组 g / 其他 o 三组,每组再用 读 r=4、写 w=2、执行 x=1 三个位表示,于是每组刚好是 0-7 的一个八进制数,三组拼起来就是常见的 755、644。想通这一点,换算其实很简单:7 = 4+2+1 = rwx,5 = 4+1 = r-x,6 = 4+2 = rw-。
真正容易踩坑的是另外两件事。一是特殊位:setuid(4000)让程序以属主身份运行、setgid(2000)让目录内新建文件继承属组、sticky(1000)让共享目录里只有文件属主能删自己的文件——它们在 ls -l 里显示为 s/t(对应 x 位缺失时显示为大写 S/T)。二是 umask:新建文件的初始权限由 666 & ~umask、目录由 777 & ~umask 决定,它和 chmod 的方向正好相反——umask 是「屏蔽掉哪些权限」,chmod 是「设置成哪些权限」。
本工具把这三层放在一起:勾选位 → 八进制 → chmod 命令 → ls -l 显示 → umask 推算,全程在本地按位运算,不上传任何内容。计算结果基于 POSIX / coreutils 的通用规则;若你的系统启用了 ACL、SELinux 或挂载了特殊文件系统(如 NTFS/FAT、NFS),实际生效权限可能被额外策略改写,请以 ls -l 与 getfacl 的实际输出为准。
ls -l 首列样式。644、4755 等,上方勾选会自动同步,适合对着文档里的数字反查含义。chmod 0755 <file> 之类命令直接粘到终端执行。022 等值,即可看到新建文件与新建目录的默认权限分别是多少。cd 都进不去;644 的目录基本是废的。chmod +x file),POSIX 规定要先用 umask 过滤,想精确控制请写全 chmod u+x,g+x file。ls -l),用 chown 修正比直接 777 安全得多。600 或 400,~/.ssh 目录建议 700,否则 SSH 会直接拒绝使用。u/g/o/a 与 +/-/=:改单个位用 chmod g+w,整体覆盖用 chmod u=rwx,go=。chmod -R,但目录需要 x、文件通常不需要,建议用 find 分开处理:find dir -type d -exec chmod 755 {} \; 与 find dir -type f -exec chmod 644 {} \;。rwxr-xr-x,属主可读可写可执行,其他人只能读和执行,是目录与可执行脚本的常用权限;644 = rw-r--r--,属主可读写、其他人只读,是普通文件的默认值;777 = rwxrwxrwx,所有人可读写可执行,排查问题时会用,但不建议留在生产环境。4755 表示在 755 基础上再加 setuid,执行该程序时进程以文件属主身份运行(/usr/bin/passwd 就是典型例子)。特殊位不影响后三位的读法,只是叠加。chmod 644 → 结果就是 644);umask 是「屏蔽掉」某权限,作用在新建文件 / 目录的默认权限上——文件基数是 666、目录基数是 777,实际权限 = 基数 & ~umask。umask 022 时新建文件是 644、目录是 755;umask 077 时则变成 600 与 700。chown;② 父目录没有 x——路径上任意一级目录缺 x 都无法进入;③ 系统启用了 ACL 或 SELinux,实际限制来自 setfacl / 安全上下文,用 getfacl、ls -Z 查看;④ 文件系统是 NTFS/FAT 等不支持 Unix 权限的挂载,chmod 不生效。ls),x 才能进入并访问其中文件(cd、读取文件属性),w 才能在目录里创建 / 删除 / 重命名文件。所以「能列出但打不开」通常是有 r 没 x;「能删别人的文件」是因为对该目录有 w,与文件自身权限无关。nosuid 选项,或用 chmod u+s 后又被复制 / 打包工具重置了权限位。可用 ls -l 确认属主执行位是否显示为 s。1777(/tmp 就是它),所有人都能在里面建文件,但只有文件属主或 root 能删除自己的文件,避免互相误删。在 ls -l 里表现为其他人的执行位变成 t(无 x 时为大写 T)。setfacl)、SELinux 安全上下文、挂载选项(noexec/nosuid/ro)或特殊文件系统改写。请以服务器上 ls -l、getfacl、ls -Z 的实际输出为准,本工具用于换算与学习,不作为线上变更依据。审核通过后就会展示在留言板上,稍安勿躁~
还没有留言,来抢沙发吧!