Answers:
一般而言,777许可不当,我将向您说明原因。
尽管在赌场或拉斯维加斯可能看起来像777,但这并不意味着您会中奖。而是为希望修改您文件的任何人提供大奖。777(及其丑陋的表亲666)允许对other的读取和写入权限(在777中为Execute)。您可以了解有关文件权限如何工作的更多信息,但总之,可以分为三组权限:所有者,组和其他。通过设置权限6或7(rw-
或rwx
为)其他你给任何用户都可以编辑和操作这些文件和文件夹的能力。可以想象,通常这对安全性不利。
这是我的示例:
marco@desktop:~/Projects/AskUbuntu/20105$ cd ..
marco@desktop:~/Projects/AskUbuntu$ chmod 0777 20105
marco@desktop:~/Projects/AskUbuntu$ cd 20105/
marco@desktop:~/Projects/AskUbuntu/20105$ ls -lah
total 8.0K
drwxrwxrwx 2 marco marco 4.0K 2011-01-04 20:32 .
drwxr-xr-x 3 marco marco 4.0K 2011-01-04 20:32 ..
marco@desktop:~/Projects/AskUbuntu/20105$ touch test
marco@desktop:~/Projects/AskUbuntu/20105$ chmod 0666 test
到目前为止,我已经创建了一个文件夹并制作了一个具有“不良”权限的文件(777和666)。现在,我将切换到另一个用户并尝试操纵这些文件。
marco@desktop:~/Projects/AskUbuntu/20105$ sudo su - malicious
malicious@desktop:~$ cd /home/marco/Projects/AskUbuntu/20105
malicious@desktop:/home/marco/Projects/AskUbuntu/20105$ ls
test
malicious@desktop:/home/marco/Projects/AskUbuntu/20105$ ls -lah
total 8.0K
drwxrwxrwx 2 marco marco 4.0K 2011-01-04 20:33 .
drwxr-xr-x 3 marco marco 4.0K 2011-01-04 20:32 ..
-rw-rw-rw- 1 marco marco 0 2011-01-04 20:33 test
malicious@desktop:/home/marco/Projects/AskUbuntu/20105$ touch bad
malicious@desktop:/home/marco/Projects/AskUbuntu/20105$ echo "OVERWRITE" > test
malicious@desktop:/home/marco/Projects/AskUbuntu/20105$ cat test
OVERWRITE
作为这个“恶意”用户,我能够将文件放入目录中并将文本注入到已经存在的文件中。而在下面的目录中,包含755个文件和包含644个文件的文件,我可以看到文件和目录的内部内容,但无法编辑文件或创建新文件:
malicious@desktop:/home/marco/Projects/AskUbuntu/20105$ cd /home/marco/Projects
malicious@desktop:/home/marco/Projects$ touch hey
touch: cannot touch `hey': Permission denied
对于Apache权限,您将要umask 022
分别针对文件夹和文件坚持0755和0644(AKA )。作为文件的所有者,这使您可以编辑和操作文件,同时为Apache提供操作所需的最低访问权限。
/etc/passwd
,你会看到用户喜欢mail
,news
和nobody
。即使您系统中的所有实际人类用户都可以修改的内容也可以/var/www
,但这并不意味着您希望所有进程都以这些“人工”用户的身份运行。
ls -lah
,touch bad
或任何其他命令。他们如何操纵文件夹和文件?2)继承。您没有涵盖文件夹和其中文件之间的任何继承。至少有2-3个步骤中的文件之前:/var
,/var/www
,/var/www/project
。应该/var
具有哪些用户/组权限?应该/var/www
具有哪些用户/组权限?等等。他们如何合作?
本质上,拥有777的权限并不会使您自己被黑客入侵,但是,如果有人在任何地方都能站稳脚跟,则可以用来升级权限并完全控制您的计算机。最糟糕的部分是您的权限使用“ 7”-表示读取,写入和执行权限。
假设有一位黑客想要接管您的计算机。他可能使用网络浏览器连接到您的计算机,并连接到http://yourcomputer.example.com:80/。如果您有可用的页面允许他上传图像,则他可以重命名以“ .jpg”结尾的可执行文件并将其上传到您的服务器。现在,他在Web浏览器中浏览到该文件并运行它,因为linux不在乎扩展名,它只会看到它是一个可执行文件。这可能不会给他带来多少好处,但是因为它完全可以运行,所以他知道它以apache用户身份运行。然后,他上传修改后的版本,该版本将编辑apache的配置文件,从而授予他更多访问权限-假设apache将输出/ etc / passwd的内容。然后,他可以使用该信息来查看系统上存在哪些用户。然后,他可以使用ssh进行连接,并尝试使用普通密码以这些用户身份登录-如果该密码不起作用,他将逐步使用完全暴力攻击。如果他以具有sudo访问权限的用户身份进入,
现在,您可能会说这不太可能,或者这不是真正的黑客的工作方式。没错,但是要点是,通过将文件设置为chmod 777,您打开了一个安全漏洞,黑客可以使用此漏洞,但他认为合适。
如果改为遵循“最小特权原则”,则不会发生此漏洞,并且您的系统很难被黑客入侵。即使正确执行操作比较困难,您仍然应该尽一切努力做到这一点。