ฉันไม่มีชื่อเสียงพอที่จะให้ความเห็นเกี่ยวกับคำตอบของ ttaran7 ดังนั้นมันจึงดูเหมือนว่าจะต้องเป็นคำตอบ การโหวตของฉันไม่ปรากฏต่อสาธารณะเนื่องจากชื่อเสียงที่ต่ำ ฉันลงคะแนนว่าคำตอบนั้นรวมถึงการติดตามการโทรของระบบมากกว่าการเก็งกำไร
เพื่อตอบคำถามของ OP: ใช่เหตุผลของคุณถูกต้อง: คุณถูกบล็อกเมื่อไม่สามารถอ่านไดเรกทอรี
ฉันวิ่งตามรอยคล้ายกับสิ่งที่พวกเขา (ttaran7) ทำเพราะฉันสงสัยว่ามีเหตุผลแบบเดียวกัน: การrm
โทรจะล้มเหลวเมื่อล้มเหลวในการอ่านไดเรกทอรีและนั่นจะเป็นจุดสิ้นสุดของเรื่องนั้นไม่มีโอกาสบ่นเกี่ยวกับไดเรกทอรีที่ว่างเปล่า เมื่อดูที่การติดตามครั้งที่สองฉันสังเกตเห็นว่ามีการเรียกใช้ระบบเพื่อพยายามยกเลิกการเชื่อมโยงชื่อไฟล์ที่ให้ไว้ต่อไป:
newfstatat(AT_FDCWD, "folder1", {st_mode=S_IFDIR|0311, st_size=4096, ...}, AT_SYMLINK_NOFOLLOW) = 0
openat(AT_FDCWD, "folder1", O_RDONLY|O_NOCTTY|O_NONBLOCK|O_NOFOLLOW|O_DIRECTORY) = -1 EACCES (Permission denied)
openat(AT_FDCWD, "folder1", O_RDONLY|O_NOCTTY|O_NONBLOCK|O_NOFOLLOW|O_CLOEXEC|O_DIRECTORY) = -1 EACCES (Permission denied)
unlinkat(AT_FDCWD, "folder1", AT_REMOVEDIR) = -1 ENOTEMPTY (Directory not empty)
openat(AT_FDCWD, "/usr/share/locale/locale.alias", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=2995, ...}) = 0
read(3, "# Locale name alias data base.\n#"..., 4096) = 2995
read(3, "", 4096) = 0
close(3) = 0
openat(AT_FDCWD, "/usr/share/locale/en_AU/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/share/locale/en/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/share/locale-langpack/en_AU/LC_MESSAGES/coreutils.mo", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=45256, ...}) = 0
mmap(NULL, 45256, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f8db25ca000
close(3) = 0
openat(AT_FDCWD, "/usr/share/locale- langpack/en/LC_MESSAGES/coreutils.mo", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=578, ...}) = 0
mmap(NULL, 578, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f8db25c9000
close(3) = 0
write(2, "rm: ", 4rm: ) = 4
write(2, "cannot remove 'folder1'", 23cannot remove 'folder1') = 23
openat(AT_FDCWD, "/usr/share/locale/en_AU/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/share/locale/en/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/share/locale-langpack/en_AU/LC_MESSAGES/libc.mo", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=2893, ...}) = 0
mmap(NULL, 2893, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f8db25c8000
close(3) = 0
openat(AT_FDCWD, "/usr/share/locale-langpack/en/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
write(2, ": Permission denied", 19: Permission denied) = 19
write(2, "\n", 1
lseek(0, 0, SEEK_CUR) = -1 ESPIPE (Illegal seek)
close(0) = 0
close(1) = 0
close(2) = 0
exitgroup(1)
ดูบรรทัดที่ 4: unlinkat
... ซึ่งล้มเหลวเนื่องจากไดเรกทอรีไม่ว่างเปล่า ตอนนี้เป็นสิ่งที่ฉันจะพิจารณาพฤติกรรมที่ไม่คาดคิดความจริงก็พยายามลบไดเรกทอรีเลยแม้ว่าจะไม่มีสิทธิ์อ่านนั่นคือ