如何在Linux中修改文件权限 chmod命令轻松设置文件权限

Linux如何修改文件权限chmod命令

说实话,刚开始理解chmod的时候,我是像剥洋葱一样一层一层剥的。
Linux上这个东西,权限管理特别有趣。
系统很快就会向您发送警报。
让我告诉你我的经历。

我们先来说一下符号模式。
当我第一次编辑脚本时,我经常使用它。
例如,如果您有一个 Python 脚本 script.sh 并且希望所有者运行它,只需键入 chmod u+x script.sh。
这个操作非常直观,你明白吗?我后来将此称为“精确攻击”,只需要更改特定用户的权限即可。
最烦人的是我错误地使用了-i选项,像chmod u-wxscript.sh一样,所有者的执行权限被取消了。
我太着急了,差点把键盘摔坏了。
我自己没有运行过这个,但我记得在每次操作之前使用 ls -l 检查数据的状态以避免滑动。

八进制模式我用的比较少,但是调服务器的时候还是得学一下。
例如,要授予 Web 服务器完整的文件权限,您只需 chmod 6 4 4 ,只需单击几下即可完成任务。
我有一个朋友经常使用这种模式。
他告诉我,“看,rwx 是 7 ,rw- 是 6 这比在符号模式下输入要快得多。
”说实话,一开始我就犯了一个错误,将文件权限设置为6 6 6 ,结果网站直接崩溃了。
后来我凭良心说,这种模式适合批量操作,但如果真想改变某个用户的权限,就得回到符号模式了。

递归编辑(-R)是最具挑战性的。
我有一个客户端,其服务器权限被搞乱了。
最后我干脆使用了 chmod -R 7 5 5 /var/www ,Apache直接崩溃了。
后来我发现有一个隐藏的conf文件,其中的权限已被更改。
因此,应谨慎使用此选项。
最好先用 ls -lR 检查一下。
我个人使用find命令,比如find /path -type d -exec chmod 7 5 5 {} \;,这样至少它可以处理文件和目录。

最好笑的是目录的执行权限。
我的一个同事问我为什么我可以将cd插入一个目录仍然可以看到文件,但他忘记给该目录添加x权限。
我告诉他 rwxr-xr-x 中的 x 表示允许目录访问,这时他感到很惊讶。
其实仔细想想也很正常。
Windows 用户以前从未见过这个东西。
因此,在修改Linux服务器时,一定不要将所有目录权限都改为rwxrwxrwx。
安全风险太大了。

两种模式如何选择?对我来说,如果我更改脚本,我将使用符号模式,整个网站文件将使用数字模式。
我更喜欢自动化脚本中的数字模式。
一个命令行就可以管理所有文件,效率非常高。
但最方便的是符号模式,权限的变化一目了然。
我有每当更改权限时使用 chmod -v 命令的习惯。
这样我就可以看到哪个文件已被修改并避免再次修改它。

确实,权限管理的关键在于理解。
你看,文件权限是rwx,目录权限必须有x才能进入。
这就是Linux权限的本质。
别告诉我有关 SELinux 的事,我还没有完全理解那东西。
总之,使用chmod时,先ls -l 看看变化原始的,然后 ls -l 进行更改后确认。
这个技巧已经被尝试过并且是正确的。

Chmod 命令 – 如何在 Linux 中更改文件权限