热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

解读linux系统下文件权限——(用户、组、读写执行)-linux运维

经常在部署一个网站的时候,已将代码上传了,数据库也导入了,配置文件也改动了。但输入域名一看,还是报错了,原因很可能就是因为文件权限导致的。今天一起来看看linux下文件权限用户、组linux哲学一切皆文件...
经常在部署一个网站的时候,已将代码上传了,数据库也导入了,配置文件也改动了。但输入域名一看,还是报错了,原因很可能就是因为文件权限导致的。今天一起来看看linux下文件权限

用户、组

linux哲学一切皆文件,所有文件都会有自己的所有者、所属组。另外,任何用户肯定必须属于一个组。除开文件的所有者和所在组的用户外,系统的其它用户都是文件的其它人。如何查看linux下的用户,可以通过查看/etc/passwd文件来查看。

# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
……

通过ls -l命令,可以查看文件的所有者、所属组等一些属性。

# ll
total 17484
drwxr-xr-x  3 root root     4096 Dec  2  2019 backup
drwxr-xr-x  2 root root     4096 May 15 08:32 bin
drwxr-xr-x 10 root root     4096 Jan  8  2020 c_language_code
drwxr-xr-x  2 root root     4096 Jun 12 10:46 c_practice
-rw-r--r--  1 root mail     8500 Sep 13 03:47 dead.letter

当然,我们可以通过命令来修改文件的所有者及所属组

# 同时改变用户和组 -R表示递归修改
# chown -R www:www backup
# ll -d backup
drwxr-xr-x 3 www www 4096 Dec  2  2019 backup

# 仅改变用户
# chown -R root backup
# ll -d backup
drwxr-xr-x 3 root www 4096 Dec  2  2019 backup

# 仅改变组
# chown -R :root backup
# ll -d backup
drwxr-xr-x 3 root root 4096 Dec  2  2019 backup

# 还可以通过chgrp改变组
# chgrp -R www backup/

文件权限

现在我们来看看文件的权限,查看文件的权限也是通过ls -l来查看。

drwxr-xr-x

上面共10个字符,可以分为四组,d、rwx、r-x、r-x。

  • d表示该文件的类型,常见的有-(文件),d(目录),b(块设备)

  • 第二组表示的是文件的用户所拥有的权限,rwx分别表示为可读、可写、可执行。如果以-代替,则表示没有那个权限。

  • 第三组表示的是文件的组所拥有的权限

  • 第四组表示的是文件的其他人所拥有的权限

可读可写可执行说起来有点抽象,另外对于不同文件类型,所表示的意义又有不同。下面,我列一个表格来帮助大家来理解:

文件目录
r表示可以查阅该文件的信息,可以通过cat/less/more/head/tail等命令查阅文件信息 r表示可以列出该目录下文件列表,可以执行ls命令
w表示可以修改文件内容,可以通过vim修改文件内容w表示可以在该目录下创建或删除文件,可以执行touch、mv等命令
x表示可以执行该文件 x表示可以进入到该目录下,可以执行cd命令

下面,来看一个命令chmod,通过该命令可以修改文件的权限。先介绍下权限的数字表示法:r(4)、w(2)、x(1)

# chown -R root:root study_file/
# chmod 700 study_file/ #数字方法设置权限
# ll -d study_file/
drwx------ 2 root root 4096 5月   5 13:13 study_file/

# chmod u=rwx,g=r,o=r 1.txt
# chmod a-x 1.txt
# chmod 600 *.txt
# ll
总用量 4
-rw------- 1 root root 34 5月   5 12:22 1.txt
-rw------- 1 root root  0 5月   5 13:13 2.txt
-rw------- 1 root root  0 5月   5 13:13 3.txt

以上就是解读linux系统下文件权限——(用户、组、读写执行)的详细内容,更多请关注 第一PHP社区 其它相关文章!


推荐阅读
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • Linux 系统启动故障排除指南:MBR 和 GRUB 问题
    本文详细介绍了 Linux 系统启动过程中常见的 MBR 扇区和 GRUB 引导程序故障及其解决方案,涵盖从备份、模拟故障到恢复的具体步骤。 ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • CentOS7源码编译安装MySQL5.6
    2019独角兽企业重金招聘Python工程师标准一、先在cmake官网下个最新的cmake源码包cmake官网:https:www.cmake.org如此时最新 ... [详细]
  • 本文介绍了一款用于自动化部署 Linux 服务的 Bash 脚本。该脚本不仅涵盖了基本的文件复制和目录创建,还处理了系统服务的配置和启动,确保在多种 Linux 发行版上都能顺利运行。 ... [详细]
  • 在Python开发过程中,随着项目数量的增加,不同项目依赖于不同版本的库,容易引发依赖冲突。为了避免这些问题,并保持开发环境的整洁,可以使用Virtualenv和Virtualenvwrapper来创建和管理多个隔离的Python虚拟环境。 ... [详细]
  • PostgreSQL 10 离线安装指南
    本文详细介绍了如何在无法联网的服务器上进行 PostgreSQL 10 的离线安装,并涵盖了从下载安装包到配置远程访问的完整步骤。 ... [详细]
  • 嵌入式开发环境搭建与文件传输指南
    本文详细介绍了如何为嵌入式应用开发搭建必要的软硬件环境,并提供了通过串口和网线两种方式将文件传输到开发板的具体步骤。适合Linux开发初学者参考。 ... [详细]
  • 本文详细介绍了如何在云服务器上配置Nginx、Tomcat、JDK和MySQL。涵盖从下载、安装到配置的完整步骤,帮助读者快速搭建Java Web开发环境。 ... [详细]
  • 在Fedora 31上部署PostgreSQL 12
    本文详细介绍如何在Fedora 31操作系统上安装和配置PostgreSQL 12数据库。包括环境准备、安装步骤、配置优化以及安全设置,确保数据库能够稳定运行并提供高效的性能。 ... [详细]
  • 本文探讨了如何在Classic ASP中实现与PHP的hash_hmac('SHA256', $message, pack('H*', $secret))函数等效的哈希生成方法。通过分析不同实现方式及其产生的差异,提供了一种使用Microsoft .NET Framework的解决方案。 ... [详细]
  • 本文详细介绍了 Linux 系统中用户、组和文件权限的设置方法,包括基本权限(读、写、执行)、特殊权限(SUID、SGID、Sticky Bit)以及相关配置文件的使用。 ... [详细]
  • 本文详细介绍如何通过设置SSH密钥来获取连接GitHub远程仓库的权限,包括生成密钥、添加到GitHub账户以及验证连接等步骤。 ... [详细]
  • NFS(Network File System)即网络文件系统,是一种分布式文件系统协议,主要用于Unix和类Unix系统之间的文件共享。本文详细介绍NFS的配置文件/etc/exports和相关服务配置,帮助读者理解如何在Linux环境中配置NFS客户端。 ... [详细]
  • 随着技术社区的发展,越来越多的技术爱好者选择通过撰写博客来分享自己的学习经验和项目进展。本文将介绍一个具体案例,即将一套原本运行于Windows平台的代码成功移植到Linux(Redhat)环境下的过程与挑战。 ... [详细]
author-avatar
A-Alon_586
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有