我正在做一个目录列表.ssh home dir给了我一个奇怪的结果:

ls -lsa .ssh/
total 0
? ?--------- ? ? ? ?            ? . ·
? ?--------- ? ? ? ?            ? .. ·
? ?--------- ? ? ? ?            ? authorized_keys ·

奇怪的是,这种情况只发生在一个用户身上,而且只发生在这个特定的目录中.如果我在su-l之后做ls,一切都会按预期进行.另一件奇怪的事情是,我的xterm以红色闪烁字体显示目录列表!

谢谢!

Edit:

ls -lsa
total 52
4 drw-------  2 sdd sdd 4096 Feb 10 15:57 .
4 drwx------ 16 sdd sdd 4096 Feb 10 15:57 ..
4 -rw-------  1 sdd sdd 1628 Feb 10 15:57 authorized_keys

我用的是ext3.

Edit2:

chmod -R 600 /home/sdd/.ssh
ls -lsan _ssh.old/
total 0
? ?--------- ? ? ? ?            ? .
? ?--------- ? ? ? ?            ? ..
? ?--------- ? ? ? ?            ? authorized_keys

推荐答案

当用户不能对文件执行stat()操作(需要执行权限),但可以读取目录条目(需要对目录进行读取访问)时,就会发生这种情况.因此,您可以在目录中获得一个文件列表,但无法获取有关这些文件的任何信息,因为它们无法读取.:)如果您有一个具有读取权限但未执行的目录,您将看到以下内容.可能有人试图保护这个国家.ssh目录不正确-它应该是"chmod 0700.ssh/"并由拥有homedir的用户拥有.更有可能的是,有人在按照指示确保安全.ssh file,但将其应用于.ssh目录:)

如果在任何目录上执行chmod 0600或0400,则可以轻松复制此行为.向dir添加execute权限,它就可以正常工作了.

Linux相关问答推荐

将参数#0更改为shell脚本不工作

Aarch64在Linux上是否有红色区域,如果有,是16个字节还是128个字节?

X86_64程序集中的分段故障:系统调用问题

Linux和Windows x86程序集调用约定

AWK 命令根据另一列中相同的值获取列中的不同值

Linux TTY 操作顺序

/proc/mounts 没有像 /proc/self/mountinfo 这样的源信息

为什么 liburing 写入性能低于预期?

从 curl 命令输出中获取值

为什么在编译 K&R2 第 1 章中最长的行示例时出现getline 的类型冲突错误?

在 cron 作业(job)中执行 PHP 脚本

使用 linux 命令行 (bash) 从网络摄像头拍照

我可以告诉 Linux 不要换出特定进程的内存吗?

区分 Windows 和类 Unix 系统的 Makefile

如何在 linux 或 unix 上找到用户的主目录?

Linux SCHED_OTHER、SCHED_FIFO 和 SCHED_RR - 区别

获取本地时区的 Olson TZ 名称?

Linux如何确定下一个PID?

带有日期和时间的 Linux 命令历史记录

如何使用cp从不同目录复制多个文件?