Linux 权限,当出现问题时,新手遇到的事故/陷阱

Linux 权限,当出现问题时,新手遇到的事故/陷阱

新手系统管理员可能不会考虑到哪些“陷阱”权限问题。

基本上,我正在寻找经验丰富的 Linux 管理员来分享一些新手管理员可能会忽略的权限“失误”。

(我是 Linux 新手,刚刚阅读了文件所有权和权限,以及当出现问题时如何获取一些实际的信息')

答案1

除非您非常确定自己在做什么,否则不要使用 chown -R。

我曾经遇到过这种情况:系统管理员(不是我,我是一名程序员)决定对我们的源目录树执行“chown -R”(这是在 SCCS 时代,因此每个人都查看同一个目录)并设法 chown SCCS 目录,使得任何人都无法检出或检入任何内容。

答案2

重要的是要知道,如果您希望人们能够访问目录,则必须为该特定用户在所有父目录上设置执行位。例如:

user1@host$ mkdir -p one/two
user1@host$ echo "hi" > one/two/readme
user1@host$ chmod 700 one
user1@host$ su user2
user2@host$ cd one/two
bash: cd: one/two: Permission denied
user2@host$ ls -al one/two/readme
ls: cannot access one/two/readme: Permission denied
user2@host$  cat one/two/readme
cat: one/two/readme: Permission denied
user2@host$ exit
user1@host$ chmod +x one
user1@host$ su user2
user2@host$ cat one/two/readme
hi

这主要在诸如 Web 服务器之类的东西中发挥作用,用户希望向公众展示文件(例如通常在 ~/public_html 中),但希望保持父目录的安全。没有必要或理由设置读取位,除非您希望用户能够执行目录列表。

答案3

一般来说,不要将文件或目录设置为全世界可写的。(临时目录算作例外,但一定要设置“粘性”位。)

从动态链接器()中删除可执行权限/lib/ld*.so是一种“有趣”的搬起石头砸自己的脚的方法。

相关内容