linux下建站目录分配权限的经验技巧总结

前言

在网上搜索网站文件夹权限配置一般都是是: 文件夹权限最小权限755 文件最小权限644

文件的可读可写可执行很容易理解,但文件夹的权限就需要好好梳理梳理啦,下面是自己的一些经验分享给大家,需要的一起来看看详细的介绍:

前期工作

先创建一个文件夹 test

mkdir test

在该目录下创建一个1.txt文件并写入111

cat > 1.txt
111

现在退出该目录来一个一个分析改目录权限

不要用root用户来创建文件夹,因为文件权限配置对root用户无效

目录的可执行权限

chmod 111 test

经过测试,此时只能cd test进入目录,但既无法ls列目录,也无法touch 2.txt一个新的文件,但cat 1.txt还是可以读取到内容的

于是我们总结

目录的可执行权限是用户可以进入或者说切换到该目录下,但无法列目录和创建新文件,能读取原来文件是属于文件的权限设置为可读

目录的可写权限

chmod 222 test

最直观的变化是该目录颜色变深了( ps,文件赋予可执行权限时也会颜色变深)

可以尝试一些我们常见的命令

ls test
cd test
cat test/1.txt
touch test/2.txt

结果是什么都不能做

ubuntu@VM-8-81-ubuntu:~$ ls test
ls: cannot open directory test: Permission denied
ubuntu@VM-8-81-ubuntu:~$ cd test
bash: cd: test: Permission denied
ubuntu@VM-8-81-ubuntu:~$ cat test/1.txt
cat: test/1.txt: Permission denied
ubuntu@VM-8-81-ubuntu:~$ touch test/2.txt
touch: cannot touch ‘test/2.txt': Permission denied

现在我们在给改目录加上可执行权限

chmod 333 test

发现,除了不能正常ls列目录外,其余cd touch cat都可以执行,因此得出总结

linux 文件夹想要创建文件,必须要有可写可执行权限,即权限大小为333,如果只给写权限,什么都干不了

目录的可读权限

chmod 444 test
ubuntu@VM-8-81-ubuntu:~$ ls test
ls: cannot access test/1.txt: Permission denied
ls: cannot access test/2.txt: Permission denied
1.txt 2.txt
ubuntu@VM-8-81-ubuntu:~$ cd test
bash: cd: test: Permission denied
ubuntu@VM-8-81-ubuntu:~$ cat test/1.txt
cat: test/1.txt: Permission denied

总结: 目录的可读权限可以列目录

网站只有可读权限只能列目录,其他cd cat都无法执行,那么如果网站设置555的权限是什么呢

ubuntu@VM-8-81-ubuntu:~$ chmod 555 test
ubuntu@VM-8-81-ubuntu:~$ cd test/
ubuntu@VM-8-81-ubuntu:~/test$ ls
1.txt 2.txt
ubuntu@VM-8-81-ubuntu:~/test$ touch 3,txt
touch: cannot touch ‘3,txt': Permission denied

可以看到,除了touch命令无法创建新文件外,其他命令还是都可以执行的

到了这里,自然容易推出666权限的文件夹是可读可写但无可执行权限,无法进入该目录,但有了可读可写,基本权限也都有了,777权限即为文件夹的最大权限了

在回过头分析文章第一句话,建站时文件夹的最低权限是755,文件最低权限为644

这里有一个用户权限分配问题

chmod修改权限时,每一文件或目录的访问权限都有三组,每组用三位表示,分别为文件属主的读、写和执行权限;与属主同组的用户的读、写和执行权限;系统中其他用户的读、写和执行权限

文件夹权限7和文件权限6都是给linux管理用户分配的,apache默认给访问网站的用户为www普通用户,因此文件的权限755即普通用户只能有查看和浏览网站的权限,但无创建文件或者上传文件的权限,一般如果需要某个特殊文件夹比如upload或者tmp文件夹存储一些临时文件,需要设置文件夹权限为777,文件权限644即只能查看但不能修改

总结

以上就是这文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如有疑问大家可以留言交流,谢谢大家对我们的支持。

(0)

相关推荐

  • 简析Linux中如何改变文件或目录的访问权限

    Linux系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作. 文件或目录的访问权限分为只读,只写和可执行三种.以文件为例,只读权限表示只允许读其内容,而禁止对其做任何的更改操作.可执行权限表示允许将该文件作为一个程序执行.文件被创建时,文件所有者自动拥有对该文件的读.写和可执行权限,以便于对文件的阅读和修改.用户也可根据需要把访问权限设置为需要的任何组合. 有三种不同类型的用户可对文件或目录进行访问:文件所有者,同组用户.其他用户.所有者一般是文件的

  • linux修改目录和文件权限的简单命令解释

    今天遇到的问题,如何一个用户如www的权限复制给我的用户? 目录的权限表示:dwrxr--r-- 其中第一个字符 d代表目录, -代表字符 w代表可写,r代表可读 x代表可执行 数字为4,2,1其中第一组是文件或者目录所有者权限,第二组代表当前用户所在用户组,第三组是其他用户组的权限所以控制文件的权限是精确到组的 用 chmod 权限 目录 复制代码 代码如下: chmod 777 testchmod u+w test

  • Linux中文件权限目录权限的意义及权限对文件目录的意义

    linux中目录与文件权限的意义 一.文件权限的意义 r:可以读这个文件的具体内容: w:可以编辑这个文件的内容,包括增加删除文件的具体内容: x:文件就具有了可执行的权限-------注意:这里和window不一样,在win中,文件的可执行权限是通过扩展名表现出来的,如exe.bat等,但是在linux中文件的可执行权限是通过这个x决定的,与文件名没有什么关系. 二.目录权限的意义 r:可以查看此目录下的完整文件列表信息. w:可以对此目录下的所有的文件及目录进行相关的更改,也就是可以更改这个

  • linux文件目录默认权限(详解)

    1.文件的默认权限是没有x的,即文件的最大默认权限为666(-rw-rw-rw) 2.由于进入目录和目录的x权限有关,故目录的最大默认权限为777(drwxrwxrwx) 查看默认权限需要使用umask命令: [123@123 ~]$ umask           //数字方式显示 0022 [123@123 ~]$ umask -S        //符号方式显示 u=rwx,g=rx,o=rx以数字范式显示有4个数字,只看后3个即可,第一个为特殊权限使用 [123@123 ~]$ touc

  • 详解Linux系统中设置SFTP服务用户目录权限的方法

    前言 在工作或者学习的时候,我们常常会遇到这样的需求,限制一个Linux用户,让他只能在指定的目录下进行添加.修改.删除操作,并且只能使用sftp登录服务器,不能用ssh操作.这些可以通过配置sftp服务实现. 方法如下 提供sftp服务的有vsftpd和internal-sftp,这里用的是系统自带的internal-sftp,操作步骤如下: 1.创建新用户ui,禁止ssh登录,不创建家目录 useradd -s /sbin/nologin -M www 2.设置用户密码 passwd www

  • Linux文件权限与目录管理详解

    一.Linux文件系统的三种身份 1).文件所有者 2).同组用户 同一个用户组的用户可以访问该用户组的文件: 每个账号可以加入多个用户组. 在同一个用户组的文件也可以设置不同的权限,可以不让本组用户查看. 3).其他人 除了文件主.同组用户以外的人就是其他人. PS: /etc/passwd 记录所有用户的账号 /etc/shadow 记录所有用户的密码 /etc/group 记录所有的组名 二.文件属性 ls -al 显示所有的文件名和相关属性(包括以.开头的隐藏文件) total 72 d

  • linux文件上传,给文件或目录添加apache权限的方法

    在LAMP环境中,测试一个简单的php文件上传功能时,发现/var/log/apache2/error.log中出现如下php警告: 1. [Tue Jan 31 09:40:27 2012] [error] [client 127.0.0.1] PHP Warning: move_uploaded_file(/home/leotody/32883679.jpeg): failed to open stream: Permission denied in /var/www/upload_file

  • Linux 下目录文件权限(命令)的查看和修改

    Linux 下目录文件权限的查看和修改 在我的服务器下面有这几个文件夹 同时用ls -l也可以查看到这几个文件的权限. 看其中的assets文件一共有十位数,其中: 最前面那个 - 代表的是类型 中间那三个 rwx 代表的是所有者(user)拥有的权限 然后那三个 rwx 代表的是组群(group)拥有的权限 最后那三个 rwx 代表的是其他人(other)拥有的权限 r 表示文件可以被读(read) w 表示文件可以被写(write) x 表示文件可以被执行(如果它是程序的话) -表示相应的权

  • Linux 文件和目录权限详细介绍

    Linux文件和目录权限解读 如何设置Linxu文件和目录的权限 字符表示法   1)ls -l:查看所在目录所有文件的权限 2)chmod u=r file:把file文件的当前(用户user)的权限赋值为可写模式 3)chmod g=wrx file:把file文件的当前(组gruop)的权限赋值为可写,可读,可执行模式 4)chmod g-x file:把file文件的当前(组group)的权限减去可执行模式 5)chmod o+w file:把file文件的当前(所有人other)的权限

  • linux下建站目录分配权限的经验技巧总结

    前言 在网上搜索网站文件夹权限配置一般都是是: 文件夹权限最小权限755 文件最小权限644 文件的可读可写可执行很容易理解,但文件夹的权限就需要好好梳理梳理啦,下面是自己的一些经验分享给大家,需要的一起来看看详细的介绍: 前期工作 先创建一个文件夹 test mkdir test 在该目录下创建一个1.txt文件并写入111 cat > 1.txt 111 现在退出该目录来一个一个分析改目录权限 不要用root用户来创建文件夹,因为文件权限配置对root用户无效 目录的可执行权限 chmod

  • Linux下/var/run/目录下的pid文件详解及pid文件作用

    先给大家介绍下Linux下/var/run/目录下的pid文件,具体详解如下所示: linux系统中/var/run/目录下的*.pid文件是一个文本文件,其内容只有一行,即某个进程的PID..pid文件的作用是防止进程启动多个副本,只有获得特定pid文件(固定路径和文件名)的写入权限(F_WRLCK)的进程才能正常启动并将自身的进程PID写入该文件,其它同一程序的多余进程则自动退出. 编程实现: 调用fcntl()系统调用设置指定的pid文件为F_WRLCK锁状态,如果锁成功则写入当前进程的P

  • 在Linux下用scp复制文件无需输入密码的技巧

    当两台LINUX主机之间要互传文件时可使用SCP命令来实现,建立信任关系之后可不输入密码.把你的本地主机用户的ssh公匙文件复制到远程主机用户的~/.ssh/authorized_keys文件中假设本地主机linux100,远程主机linux200 一,在linux100主机里的用户 运行 #ssh-keygen -t rsa 结果如下 QUOTE: Generating public/private rsa key pair. Enter file in which to save the k

  • Linux下PhpMyAdmin程序目录结构的安全管理

    这种组合使得开发Web程序简单.安全.效率高.由于程序是在Linux下运行,虽免去了版权费用,对数据库的管理却少了Windows下的图形界面管理工具,因此使用起来有点困难.现在有了一套由php开发爱好者写的管理Linux下数据库的程序,phpMyAdmin可极好的解决使用的易用性问题.PhpMyAdmin对管理Linux下的数据库行之有效,用户可以通过web浏览器新建删除数据库,增加.删除.修改表结构和表数据,还可以通过表单形式提交查询语句,返回数据结果.因此,现在很多的Linux服务器都使用p

  • linux 下配置安装mysql以及配置【经验】

    在linux系统下学习MySQL,第一道坎就是如何在linux下安装和配置mysql.这种一劳永逸的事,我们就有耐心的做好. 系统版本:ubuntu14.04 mysql版本:mysql-server-5.5 mysql-client-5.5 先检查是否已经安装了mysql,(Ctrl+Alt+T)终端输入命令: sudo netstat -tap|grep mysql 若无反应,或没有显示安装成功的信息,则表示没有安装. 下面来开始我们的安装工作. 解决第一难: 1,安装命令: sudo ap

  • Linux下mysql新建账号及权限设置方法

    1.权限赋予 说明:mysql部署在服务器A上,内网上主机B通过客户端工具连接服务器A以进行数据库操作,需要服务器A赋予主机B操作mysql的权限 1.1 在服务器A上进入mysql,假设在服务器A上mysql的账户是root: 复制代码 代码如下: mysql - u root -p 然后回车键入密码! 1.2 赋予主机B操作数据库的权限 复制代码 代码如下: mysql> grant usage on *.* to username@192.168.0.1 identified by 'pa

  • Linux下Squid代理服务器的架设与维护经验分享

    通过架设专门的WWW(FTP)代理来满足用户的主要需求,通过架设socks5代理来满足用户的其他需求. 一.对使用者的分析 现有网络情况: 我校校园网通过光缆已将31座建筑物连通,光缆总长度约15Km,绝大多数楼中实现结构化布线,连入校园网的网络多媒体教室.教学基地.实验室.机房等约有数十个,连网计算机达3000多台 .我校目前出口有2个,一条速率为10M bps,通过光纤接入中国教育科研网CERNET,另一条速率为4M bps连入中国电信. 用户的需求: 我校校园网的使用者主体为在校学生及老师

  • Linux下scp无密码上传 下载 文件 目录的方法

    在Linux下远程备份的时候,需要配置scp的 无密码复制文件.目录.就把这个设置整理如下: 本地服务器:A 远程服务器:B 1.在 A 上运行 ssh-keygen -t rsa 在/root/.ssh 下生成id_rsa 和 id_rsa.pub 两个文件 在/root/.ssh下复制备份一份id_rsa.pub 命名为 id_rsa.pub.A 如图所示 2. 在 B 上也同样运行 ssh-keygen -t rsa 3. 在 B 的 /root/.ssh 下创建authorized_ke

  • 宝塔Linux面板之好用免费的中文Linux VPS主机控制面板适合快速建站

    Linux免费开源,建站基本上都是选择Linux系统,而且Linux VPS比Windows VPS要便宜不少,成本大大降低,除非程序有特殊需要,否则还是建议大家使用Linux来当作网站服务器.不过,选择Linux有一个不好的地方就是操作麻烦些. 如果是Linux新手的话,在最开始建站时可以试试使用Linux VPS主机控制面板,只要在你的VPS主机上安装一个主机管理面板,这样你就可以像使用虚拟主机那样去绑定域名和管理MysqL数据库了,而且VPS主机允许你最大化地调整服务器配置参数,折腾过程也

  • Linux下CoreSeek及PHP扩展模块的安装

    本人安装CoreSeek的系统为Centos6.0  CoreSeek版本: coreseek 3.2.14:点击下载   PHP:PECL/Sphinx扩展:sphinx-1.2.0.tgz  点击下载 .这些软件是都是源码包,我们是要通编译进行安装的. 前提条件是系统己安装完成apache mysql php的WEB服务.我是以yum来安装的.如果你没有安装过请按照下面给出的链接先完成基本的LAMP环境的安装. LAMP安装教程:http://www.jb51.net/article/313

随机推荐