问一屋子工程师 chmod 754 是什么意思,一半人胸有成竹,另一半在猜。八进制方案如果你在算位、就很优雅;不算就是定时炸弹。CliAI 让你直接描述意图。
1. 只对我可执行
clai
$ clai 让这个脚本只对我可执行→ chmod 700 ./deploy.sh
700 = 所有者 rwx,组无,其它无。每周用就记得,大多数人不每周用。
2. 让组可写
clai
$ clai 让 deploy 组对 /srv/app 有写权限→ chgrp -R deploy /srv/app && chmod -R g+w /srv/app[Safety: CAUTION] — 递归更改权限。
注意标签:任何 -R 修改默认 CAUTION,因为路径错时影响范围大。原因在安全分级那篇。
3. 递归改属主
clai
$ clai chown /srv/app 下所有文件到 user app 和 group app→ chown -R app:app /srv/app[Safety: CAUTION]
-R 是「下所有文件」隐含的;CliAI 自己取出来加上。user:group 写法 Linux 与 macOS 通用。
4. 单个文件的 setuid 位
clai
$ clai 给 /usr/local/bin/myutil 加 setuid 位→ chmod u+s /usr/local/bin/myutil
u+s 比八进制 4755 更好读。这里也是八进制最容易出错的地方——给 755 加 setuid 是 4755,但如果原本是 750,正确是 4750。符号写法不让你做算术。
5. 「跟邻居权限一样」
clai
$ clai 让 ./new.sh 拥有和 ./run.sh 一样的权限→ chmod --reference=./run.sh ./new.sh
--reference= 是个几乎没人知道的参数。它存在。CliAI 知道。