“/var/tmp/Ex08470”权限被拒绝

“/var/tmp/Ex08470”权限被拒绝

我在公司运行的是 Unix(Solaris 10 Server),并且安装了 Oracle 数据库。当我尝试使用 oracle(此用户专门用于访问 oracle)用户使用命令登录 oracle 时

“sqlplus 系统/系统作为 sysdba”

提示说找不到 sqlplus 命令。因此我进入 oracle 用户的主目录并尝试打开 .profile 文件,它给出了以下错误:

“/var/tmp/Ex08470”权限被拒绝”

并且 /var/tmp/ 之后的字符串每次重试时总是会发生变化。

我谷歌了一下并找到了以下答案:

  1. 以 root 身份登录。

    chmod 755 /var

    chmod 1777 /var/tmp

    注意:这是因为权限被搞砸了,尽管“ll -d”命令显示一切正常

  2. 以用户身份登录。

umask(检查 umask 设置)

umask 077

vi .profile ... 编辑并保存..

有人能向我解释一下这里发生了什么吗?

答案1

用户的 vi 编辑器在编辑文件时尝试在 /var/tmp 目录中创建一个临时文件。用户没有权限在 /var/tmp 中创建新文件,这是您在发出 chmod 命令时授予该权限的(请参阅其他 SF 问题或维基百科,其中有比我给出的更好的解释)修改模式文件权限, 和umask)。

相关内容