有读者问,我在Linux上部署Django项目时通常将所有文件和文件夹权限设置成777,以保证项目顺利运行,有没有更好的方式?答案是当然有,不过我们得先了解下Linux系统下文件权限基础知识,然后再谈谈Linux服务器上正式部署Django项目时该如何正确设置文件和文件夹的权限。
Linux文件权限基础知识
Linux的文件和文件夹权限通常以10位字符表示,第一个表示文件类型,如该文件是文件(以-表示),文件夹(以d表示),连接文件(以l表示),后面9个按照三个一组分,前面三个表示所有者权限,中间三个表示同组用户权限,最后一组表示其他用户权限。r代表读权限,w代表写权限,x代表执行权限,-代表无权限。
当我们使用ls -la
命令查看当前工作目录的文件信息时,左边第一栏就会显示文件和文件夹的权限。
举个例子:
-rw-r--r-- 644权限表示这是一个文件,只有所有者才有读和写的权限,同组用户和其他用户只有读的权限。
其它常见Linux文件权限还有:
-rw------- (600) 只有所有者才有读和写的权限
-rwx------ (700) 只有所有者才有读,写,执行的权限
-rwxr-xr-x (755) 只有所有者才有读,写,执行的权限,同组用户和其他用户只有读和执行的权限
-rwx--x--x (711) 只有所有者才有读,写,执行的权限,同组用户和其他用户只有执行的权限
-rw-rw-rw- (666) 每个人都有读写的权限
-rw-rw-r-- (664) 所有者的权限为可读可写不可执行、所属群组可读可写不可执行、其他人可读不可写不可执行
-rwxrwxrwx (777) 每个人都有读写和执行的权限
-rwxrwx--- (770) 所有者和同组用户有读、写及执行权限,其他用户组没任何权限。
Linux中可以使用命令chmod