• sqlplus时报Linux-x86_64 Error: 13: Permission denied


    在本机上非oracle用户运行sqlplus时,报以下错误:
    [cpdds@node1 ~]$ sqlplus cpdds_pdata/cpdds_pdata

    SQL*Plus: Release 10.2.0.4.0 - Production on 星期五 4月 27 13:43:16 2012
    Copyright (c) 1982, 2007, Oracle.  All Rights Reserved.
    ERROR:
    ORA-01034: ORACLE not available
    ORA-27123: unable to attach to shared memory segment
    Linux-x86_64 Error: 13: Permission denied

    检查环境变量:ORACLE_SID、ORACLE_BASE、ORACLE_HOME均正常。

    解决方法:

    用oracle用户登录,到$ORACLE_HOME/bin目录,执行chmod +s oracle。
     
    语法:chmod [who] [+ | - | =] [mode] 文件名

    命令中各选项的含义为:

    操作对象who可是下述字母中的任一个或者它们的组合:
      u 表示“用户(user)”,即文件或目录的所有者。
      g 表示“同组(group)用户”,即与文件属主有相同组ID的所有用户。
      o 表示“其他(others)用户”。
      a 表示“所有(all)用户”。它是系统默认值。
    操作符号可以是:
      + 添加某个权限。
      - 取消某个权限。
      = 赋予给定权限并取消其他所有权限(如果有的话)。
    设置 mode 所表示的权限可用下述字母的任意组合:
      r 可读。
      w 可写。
       x 可执行。
      X 只有目标文件对某些用户是可执行的或该目标文件是目录时才追加x 属性。
      s 在文件执行时把进程的属主或组ID置为该文件的文件属主。
          方式“u+s”设置文件的用户ID位,“g+s”设置组ID位。
      t 保存程序的文本到交换设备上。
      u 与文件属主拥有一样的权限。
      g 与和文件属主同组的用户拥有一样的权限。
      o 与其他用户拥有一样的权限。
    文件名:以空格分开的要改变权限的文件列表,支持通配符。
    
    chmod u+s a.out
    % 假设执行chmod后a.out的权限为(可以用ls – l a.out命令来看):
     –rws--x--x 1 inin users 7192 Nov 4 14:22 a.out
    并且这个执行文件要用到一个文本文件shiyan1.c,其文件存取权限为“–rw-------”,即该文件只有其属主具有读写权限。
     当其他用户执行a.out这个程序时,他的身份因这个程序暂时变成inin(由于chmod命令中使用了s选项),
    所以他就能够读取shiyan1.c这个文件(虽然这个文件被设定为其他人不具备任何权限),这就是s的功能。 因此,在整个系统中特别是root本身,最好不要过多的设置这种类型的文件(除非 必要)这样可以保障系统的安全,避免因为某些程序的bug而使系统遭到入侵。
     
     
     
     
  • 相关阅读:
    javascript与jQuery
    dedecms5.7怎么安装百度编辑器
    Vue.js前端MVVM框架实战篇
    MySQL索引工作原理
    伪静态规则写法RewriteRule-htaccess详细语法使用
    Apache Rewrite 规则详解知识大全
    简单layer 快速上手
    织梦熊掌号主动推送(实时)
    jsonp原生js代码示例
    rgba()和opacity的使用
  • 原文地址:https://www.cnblogs.com/softidea/p/3818600.html
Copyright © 2020-2023  润新知