一、解决方案

apache-tomcatbin目录下,输入 ./start.up无法启动Tomcat,显示 “ -bash: ./startup.sh: Permission denied ” 报错,然后回想起刚刚ll查看文件时,只有几个红色,其他都是白色:

但正常来说,可执行文件会显示绿色,无助的我然后盯着屏幕这堆东西看了一阵,发现属主对这个目录下所有的权限都是 rw-,也就是说可读可写不可执行,所以我使用命令chmod u+x *.sh对所有后缀为 sh 的文件赋予 x (写) 权限。(u代表文件所有者,也就是属主),可以看到,后缀 .sh 的文件有 x 权限了,且变成绿色高亮:

现在就可以正常启动 Tomcat 了:

./startup.sh

看到这里,可能有些朋友想不起来文件属性是怎么操作,以及各种属性的含义是什么了,下面就让我来简单介绍下。

二、文件属性知识回顾

Linux 系统下不同用户访问同一个文件拥有的权限不同。

在 Linux 中我们可以使用ll或者ls –l命令来显示一个文件的属性以及文件所属的用户和组:

llls -l 等价

用上面的图中的startup.sh文件来解释,

-rwxr–r-- 1 root root 1904 Aug 19 14:32 startup.sh

我们重点关注前面的10个符号的含义。
(1)第一个符号
第一个字符代表这个文件是目录、文件或者链接文件等:

  • d:表示是一个目录
  • -:表示是一个文件
  • l:表示是一个链接文档( link )

(2)接下来的符号,以rwx的组合三个三个成组。

  • r:可读
  • w:可写
  • x:可执行
    其中第2~4个字符,代表属主权限(文件所有者);
    第5~7个字符,代表属组权限(所有者的同组用户);
    第8~10个字符,代表其他用户权限

注意:这三个权限的位置不会改变,如果没有权限,该位置就会出现-符号。

在Linux中,用户是按组分类的,一个用户属于一个或多个组。“文件所有者” 以外的用户又可以分为 “文件所有者的同组用户” 和 “其他用户”。

到这里,应该对文件属性有了基本了解,然后我们再回过头看看上面更改startup.sh文件属性的命令是什么意思:

chmod u+x  *.sh

在Linux 中,文件属性(或者说权限)有两种设置方式,一种是数字,一种是符号。下面我对这两种方法都来简单聊一聊。
(1)数字法
Linux 文件的基本权限就有九个,分别是 owner/group/others 三种身份各有自己的 read/write/execute 权限。
这里用 “权值” 描述r/w/x三个权限。

r: 4
w:2
x: 1

这三个值是固定的。
下面我举个例子来说明,比如我现在创建一个文件:

可以看到,权限是rw- r-- r--,即文件所有者(属主)拥有读写权限,同组用户(属组)拥有读权限,其他用户拥有读权限。
现在用数字法给属主赋予可执行权限x,x 对应的权值为1,原来属主的权限权值和为4+2=6,现在多了1,就是7了。而其他两者的权限都是4,废话不多说,上代码:

chmod 744 test1.txt


可以看到,属主已经具备了x权限,而其他两者权限未改变。

(2)符号法
还是按上面那个例子来说,我们现在要把属主的可执行权限x夺走,可以使用命令:

chmod u-x test1.txt


可以看到,文件test1.txt已经没有 x 权限了,这里的u指的就是属主,然后减号就可以夺去它的权限,而相反的,你猜对了,加号代表给它赋予权限,这里就不测试了,用法都一样。

如果这篇文章能够帮助到你,不妨点个赞,大家一起进步!

CentOS 7 启动Tomcat 报错 “ ./startup.sh: Permission denied” 解决方案及问题总结相关推荐

  1. 启动hdfs报错:hadoop100 Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password)

    文章目录 一.实验环境说明 二.解决方法 1.报错信息: 2.解决方案: 3.配置ssh免密登录: 一.实验环境说明 1.Hadoop3.1.3 2.CentOS7.5 3.伪分布式 二.解决方法 1 ...

  2. npm install 报错 Error: EACCES: permission denied解决方案

    问题描述: 环境:centos7 在vue开发前,使用npm install命令,遇到"Error: EACCES: permission denied" 解决方案: 1.在命令结 ...

  3. 迅速解决!!!!!启动Tomcat报错PermGen space

    启动Tomcat报错   PermGen space    内存溢出 解决方法:扩大tomcat内存 修改参数:set JAVA_OPTS=-Xms1024m -Xmx1024m -XX:PermSi ...

  4. java项目如何启动tomcat服务器,Java web项目启动Tomcat报错解决方案

    Java web项目启动Tomcat报错解决方案 点击运行项目时显示 A Java Exception has occurred. 'Starting Tomcat v9.0 Server at lo ...

  5. 启动tomcat报错Caused by: org.apache.catalina.LifecycleException: No UserDatabase component

    启动tomcat报错 Caused by: org.apache.catalina.LifecycleException: No UserDatabase component 替换conf/tomca ...

  6. ssm启动不报错_解决idea导入ssm项目启动tomcat报错404的问题

    用idea写ssm项目,基于之前一直在用spring boot 对于idea如何运行ssm花费了一番功夫 启动tom act一直在报404 我搜了网上各种解决办法都不行,花费一天多的时间解决不了 就是 ...

  7. 终端启动tomcat报错 command not found 解决方法 (含启动和关闭命令)

    终端启动tomcat报错 command not found 解决方法 (含启动和关闭命令) 参考文章: (1)终端启动tomcat报错 command not found 解决方法 (含启动和关闭命 ...

  8. XAMPP中启动tomcat报错的解决方法

    XAMPP装完后,直接启动TOMCAT报错,因为在catalina_start.bat中寻找注册中安装jdk的键值,而我的JDK是绿色的,非安装的..因此解决办法就是将绿色的JDK注册到系统注册表. ...

  9. eclipse启动Tomcat报错,显示8005, 8080端口被占用

    eclipse启动Tomcat报错,显示8005, 8080, 8009端口被占用 问题描述 eclipse启动Tomcat报错: Several ports (8005, 8080, 8009) r ...

最新文章

  1. Janusec应用安全网关(WAF网关)
  2. SIGIR|乘风破浪的AI华人学者们
  3. Java技巧:深拷贝的两种方式2(转)
  4. 涨跌因子计算器下载哪里下载_微信爱情指数计算器整蛊app下载_爱情指数计算器整蛊测试下载...
  5. 【渝粤教育】广东开放大学 土木工程材料 形成性考核 (22)
  6. srpg 胜利条件设定_英雄联盟获胜条件
  7. 手工编程是指利用计算机完成,西安交通大学17年3月课程考试《CAD CAM》作业考核试题...
  8. C++生成简单WAV文件(一)
  9. MySQL高级-索引的使用及优化
  10. 移动端兼容性问题解决方案
  11. 输入控件控制输入限制
  12. java difftime_Java8 日期时间操作
  13. 基于MATLAB,应用SMOTE算法对小样本类进行过采样
  14. 使用python 的turtle 画太阳花
  15. HCIP 云计算资料下载 肖哥视频下载
  16. 把苦难的时光删去:从小县城售货员到深圳IT白领的蜕变之路
  17. 软件实习项目2——贪吃喵(猫吃鱼版贪吃蛇)(实验准备与设计)
  18. python计算列表元素之和,python实现计算列表元素之和
  19. ISP之Demosaic
  20. nacos discovery client

热门文章

  1. 客服 服务器系统中客户机和服务器,客户机/服务器计算是什么 客户机/服务器计算介绍【详解】...
  2. java超类_java超类
  3. 北京拟新规:回收手机、回收电脑时需当面清理个人信息
  4. 兮克SKS7300-12GPY2XGT2XGS交换机搭配爱速特NAS的链路聚合设置教程
  5. 积分消耗插件游戏 fastadmin TP5 TP6 workerman
  6. 美国“超级碗”大秀黑科技,数百架无人机点亮夜空
  7. linkage mapper 出错锦集和解决办法
  8. debian挂载光驱、软驱、usb(转)
  9. 这只是一种解释,未必是唯一的解释——人脑处理信息中混入主观歧义
  10. sqlserver2014链接mysql_SQL Server2014数据库开启远程连接(转载+自己实操)