AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 33417
Accepted
hometoast
hometoast
Asked: 2009-06-30 10:38:35 +0800 CST2009-06-30 10:38:35 +0800 CST 2009-06-30 10:38:35 +0800 CST

无法在 Solaris 10 下的 UFS 上创建或删除具有特定文件名的文件

  • 772

我们遇到了一个问题,即在(随机)情况下无法创建或删除特定文件。该文件不存在,任何写入它的尝试(即使在控制台上以 root 身份)都会导致“Permission Denied”消息。

一个自动化的过程已将文件 sftp'd 到此位置,如下所示:

在“/dirX/”下,file001 到 file999 已被传输,但 file666 除外。文件 666 导致权限被拒绝错误。

  1. 该文件不存在
  2. (以 root 身份)触摸 /dirX/file666 -> 权限被拒绝

我们试过这个:

mv /dirX /dirSomething
touch /dirSomething/file666 # OK!
mv /dirSomething /dirX #OK!
cat /dirX/file666 #OK!
rm /dirX/file666 #permission denied
mv /dirX /dirSomethingElse #permission denied.

我们的支持人员使系统脱机并运行 fsck,它确实发现并纠正了 1 个错误。这并没有解决问题,也没有阻止它再次发生。

就好像文件系统讨厌那个特定的名字并且拒绝对它做任何事情。

什么可能导致这样的问题?

编辑:缩写truss输出:

pathconf("file666", 20)               = 1
acl("file666", GETACLCNT, 0, 0x00000000) = 4
stat64("file666", 0xFFBFEC90)         = 0
acl("file666", GETACL, 4, 0x00027928) = 4
lstat64("otherfile666", 0x00026630) Err#2 ENOENT
rename("file666", "otherfile666")           Err#13 EACCES
fstat64(2, 0xFFBFDF10)        = 0
mvwrite(2, " m v", 2)         = 2
: cannot rename write(2, " :   c a n n o t   r e n".., 16)      = 16
file666write(2, " f i l e 6 6 6".., 17)     = 17
 to write(2, "   t o  ", 4)           = 4
otherfile666write(2, " b k . t x t", 6)     = 6
: write(2, " :  ", 2)         = 2
Permission deniedwrite(2, " P e r m i s s i o n   d".., 17)     = 17

ls -hal 输出

FJSV>host{root}: ls -hal *
-rw-r--r--   1 a817768  nologin      34K Jun 26 14:56 file666
solaris ufs
  • 3 3 个回答
  • 1006 Views

3 个回答

  • Voted
  1. Best Answer
    mark4o
    2009-07-03T08:07:00+08:002009-07-03T08:07:00+08:00

    Solarisppriv命令可用于调试Permission Denied问题。尝试这个:

    ppriv -e -D touch /dirX/file666
    
    • 1
  2. Dave Drager
    2009-06-30T10:58:45+08:002009-06-30T10:58:45+08:00

    结果是什么:

    ls -hal /dirX/file666
    lsattr /dirX/file666
    

    此文件是否有任何权限或属性?不过,我的第一个可能是 +i 不可变标志设置在上面。

    你也可以使用'strace'来找出是什么给了权限被拒绝的错误,如果它不是很明显 - 'strace rm /dirX/file666'

    另外,当他们运行 fsck 时,他们是否使用坏块检查来运行它?(-C)

    • 0
  3. Kenster
    2009-06-30T14:11:36+08:002009-06-30T14:11:36+08:00

    对于它的价值,重命名或删除文件时的“权限被拒绝”(EACCES)指向更新目录的问题,而不是文件本身的问题。这是一个很长的镜头,但您可以尝试删除并重新创建目录。

    这一行:

    mv /dirX /dirSomethingElse #permission denied.
    

    如果准确,也说明根目录有问题。我倾向于重新运行 fsck 和/或对驱动器进行表面分析,然后重做测试。像这样的随机性表明文件系统损坏或磁盘块损坏。

    • 0

相关问题

  • 如何找出在 Solaris 8 下监听套接字绑定到哪个进程?

  • 为什么 slice C 或 slice 2 会覆盖整个磁盘

  • 如何在 OpenSolaris 的控制台上使用 Dvorak?

  • ssh 会话空闲超时

  • AD 世界中的 Solaris 10 身份验证

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve