首页 > Linux精华 > 正文

彻底理解 Linux 文件目录权限及使用配置,被 permission denied 伤过的人才会知道它的重要性!

时间:2021-12-15 小编:admin人气: 611

大家好,今天老程给小伙伴讲解 linux的文件目录权限,我要用这期视频让大家彻底明白它。因为这太重要了,但又容易被忽视,懂点linux技术的人都有可能被这些权限问题搞得焦头烂额。在之前的节目中,我们已经与Linux打过交道了,比如在讲 Openwrt、群晖nas ,甚至是购买VPS时,都是用的Linux。虽然他们的可视化界面各不相同,但是通过 ssh 客户端连到这些设备上去敲打命令是万能的方式,尤其对于Openwrt、群晖nas这种可视化界面不完善的系统。

重点汇总

ll 命令格式:drwxr-xr-x. 29 root root 4096 Dec 7 10:39 lib

Linux的文件基本上分为三个属性:可读(r),可写(w),可执行(x)

  • 第1个字符:d说明资源是一个文件夹,-说明资源是一个文件
  • 第2-4字符:定义了拥有者(u-user)对这个资源的访问权限
  • 第5-7字符:定义了用户组(g-group)对这个资源的访问权限
  • 第5-7字符:定义了其他用户(o-other)对这个资源的访问权限

第一个 root 指资源的拥有者是 root 用户;第二个 root 指资源属于 root 用户组;29代表的是 lib文件夹里文件的数量。必须同时具备 r(读)和w(执行)权限,才能访问这个目录下的内容,只有一个 w权限,你只能cd到那个目录,不能使用ls列出目录下的内容。

# 让其他用户可以通过 SFTP 访问目录 /var/lib/docker/volumes/blog_wordpress/_data/
f=/var/lib/docker/volumes/blog_wordpress/_data/;while [[ $f != / ]]; do sudo chmod o+rx "$f"; f=$(dirname "$f"); done;

# 这是Linux终端命令下改变用户对命令使用权限的命令。在使用ubuntu系统时,刚安装得系统无法登陆到root用户,可以使用sudo - i命令进入root用户下使用passwd改变root用户密码。
sudo -i

目录的只读访问不允许使用cd进入目录,必须要有执行的权限才能进入。只有执行权限只能进入目录,不能看到目录下的内容,要想看到目录下的文件名和目录名,需要可读权限。

视频稿

直接给大家讲解技术过于枯燥,下面我把要讲的知识点带入场景中,在解决问题的过程中我们学习知识。假设你购买了一个阿里云或谷歌云VPS,选择的操作系统是 linux,你想用这个VPS搭建几个服务做点正经事。出于安全考虑,你不想直接用 root 账号通过ssh客户端远程登录,而是通过秘钥的方式,这也是老程最推荐大家的登录方式。

好不容易秘钥登录方式搞定了,此时第一个场景来了,你在服务器上用root账号装了 docker,并部署了一个博客网站,为了让网站正常跑起来,你要修改网站的 PHP配置文件(这是配置文件所在的目录:/var/lib/docker/volumes/blog_wordpress/_data/wp-config.php)。使用sftp客户端是最简单的方式,但是却发现怎么也访问不了这个目录。小伙伴都知道这是因为访问的目录没有权限,这还不够具体,下面我来抽丝剥茧,让你彻底明白。完整内容,请前往Youtube观看此视频。

  • 精品软件
  • 惊奇网站
  • 网络服务
  • OpenWrt
更多

OpenWrt

CDN七牛云
技术交流群
返回顶部