কেন আমি "পাসডাব্লুড" দ্বারা উপসর্গযুক্ত একটি নাম সহ একটি ফাইল তৈরি করতে পারি না। “/ ইত্যাদি” এ?


9

আমি উবুন্টু 16.04 সহ একটি পিসি ইনস্টল করেছি। সম্প্রতি আমি কিছু প্যাকেজ ইনস্টল করতে চাই তবে সেগুলি ইনস্টল করতে সমস্যা হয়। কিছু খনন করার পরে, আমি দেখতে পেলাম যে ব্যর্থতা লিনাক্স ব্যবহারকারী অ্যাকাউন্ট সিস্টেমের সাথে সম্পর্কিত বলে মনে হচ্ছে। সমস্যাটি হ'ল প্রিফিক্সড নামের কোনও ফাইলই পথে passwd.তৈরি করা যায় না /etc

# ls /etc/passwd.*
ls: cannot access '/etc/passwd.*': No such file or directory

# touch /etc/passwd.test-test-test
touch: cannot touch '/etc/passwd.test-test-test': Permission denied

# ls /etc/passwe.*
ls: cannot access '/etc/passwe.*': No such file or directory

# touch /etc/passwe.test-test-test
#

আমি যেমন হিসাবে অন্যান্য পথ, যে ফাইল তৈরি করতে পারেন /বা /usr, কিন্তু নেই /etc, এবং আমি অন্য ফাইলের নাম সাহায্যে ফাইল তৈরি করতে পারেন /etc, কিন্তু ফাইলের নাম দ্বারা পূর্বে সমাধান না passwd.। আমি অন্যান্য পিসি দিয়ে এই সমস্যাটি পুনরুত্পাদন করতে পারি না।

আমি অন্যান্য কমান্ড চেষ্টা করেছি:

  • nano /etc/shadow.xxx
  • echo xxx > /etc/shadow.xxx
  • touch /etc/test-temp-file && mv /etc/test-temp-file /etc/shadow.xxx
  • systemctl stop apparmor
  • সিস্টেমটি পুনরায় বুট করুন

কিছুই কাজ করে না।

কি এই সমস্যা সৃষ্টি করতে পারে?

এখানে কিছু ডিবাগ কমান্ড আউটপুট রয়েছে:

# ls -ld /etc
drwxr-xr-x 136 root root 12288 Aug 12 10:07 /etc

# lsattr -d /etc
----------I--e-- /etc

# ls -dZ /etc
? /etc

# type -a touch
touch is /usr/bin/touch
touch is /bin/touch

# file "$(command -v touch)"
/usr/bin/touch: symbolic link to /bin/touch

এখানে straceফলাফল:

# strace touch /etc/passwd.test-test-test
execve("/usr/bin/touch", ["touch", "/etc/passwd.test-test-test"], [/* 22 vars */]) = 0
brk(NULL)                               = 0x8da000
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=80559, ...}) = 0
mmap(NULL, 80559, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f9bc360e000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0P\t\2\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=1868984, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f9bc360d000
mmap(NULL, 3971488, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f9bc3033000
mprotect(0x7f9bc31f3000, 2097152, PROT_NONE) = 0
mmap(0x7f9bc33f3000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1c0000) = 0x7f9bc33f3000
mmap(0x7f9bc33f9000, 14752, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f9bc33f9000
close(3)                                = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f9bc360c000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f9bc360b000
arch_prctl(ARCH_SET_FS, 0x7f9bc360c700) = 0
mprotect(0x7f9bc33f3000, 16384, PROT_READ) = 0
mprotect(0x60e000, 4096, PROT_READ)     = 0
mprotect(0x7f9bc3622000, 4096, PROT_READ) = 0
munmap(0x7f9bc360e000, 80559)           = 0
brk(NULL)                               = 0x8da000
brk(0x8fb000)                           = 0x8fb000
open("/usr/lib/locale/locale-archive", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=1668976, ...}) = 0
mmap(NULL, 1668976, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f9bc3473000
close(3)                                = 0
open("/etc/passwd.test-test-test", O_WRONLY|O_CREAT|O_NOCTTY|O_NONBLOCK, 0666) = -1 EACCES (Permission denied)
utimensat(AT_FDCWD, "/etc/passwd.test-test-test", NULL, 0) = -1 ENOENT (No such file or directory)
open("/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
open("/usr/share/locale/en_US.UTF-8/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en_US.utf8/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en_US/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en.UTF-8/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en.utf8/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale-langpack/en_US.UTF-8/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale-langpack/en_US.utf8/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale-langpack/en_US/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale-langpack/en.UTF-8/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale-langpack/en.utf8/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale-langpack/en/LC_MESSAGES/coreutils.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
write(2, "touch: ", 7touch: )                  = 7
write(2, "cannot touch '/etc/passwd.test-t"..., 41cannot touch '/etc/passwd.test-test-test') = 41
open("/usr/share/locale/en_US.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en_US.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en_US/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale-langpack/en_US.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale-langpack/en_US.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale-langpack/en_US/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale-langpack/en.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale-langpack/en.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/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
)                       = 1
close(1)                                = 0
close(2)                                = 0
exit_group(1)                           = ?
+++ exited with 1 +++

2
কি ls -ld /etcবলে? কীভাবে lsattr -d /etc? আপনি যদি সেলইনাক্স ব্যবহার করছেন তবে কী ls -dZ /etcবলবে? আপনি যদি অ্যাপআর্মার ব্যবহার করে থাকেন তবে সমমানের কমান্ডটি (এটি কী তা আমি জানি না) কী বলে? অন্যান্য পিসি /etc/থেকে এটি কীভাবে আলাদা /etc? সেখানে একই আদেশগুলি চালান এবং পার্থক্যগুলি সন্ধান করুন।
নিকড

কি touchএকটি ফাংশান বা একটা স্ক্রিপ্ট অথবা অন্যকিছু? কি করবেন type -a touchএবং file "$(command -v touch)"রিপোর্ট করবেন? আমি আমার 16.04 বাক্সে পুনরুত্পাদন করতে পারি না।
মুরু

@ নিকডি আমি অ্যাপঅর্মার এক ব্যতীত সমস্ত কমান্ড আউটপুটগুলির সাথে তুলনা করেছি কারণ কোনও ফোল্ডারের সম্পর্কিত তথ্য কীভাবে দেখানো যায় তা আমি খুঁজে পাইনি। ফলাফল একই।
EFanZh

1
শুধু নিশ্চিত করার জন্য: আপনি ঠিক তাই করছেন root?
পানকি

1
উবুন্টু স্পষ্টতই অ্যাপমর্ম ব্যবহার করেছেন, দেখুন: help.ubuntu.com/commune/appArmor
রাফায়েল কিটওভার

উত্তর:


6

আমি খুঁজে পেয়েছি কেন। আমার পিসিতে ISecTP (লিনাক্স থ্রেট প্রতিরোধের জন্য এন্ডপয়েন্ট সিকিউরিটি) ইনস্টল করা হওয়ার কারণ এটি। এটিতে " অ্যাক্সেস প্রোটেকশন " অন্তর্ভুক্ত রয়েছে , যা হয় ফ্যানোটাইফাই কার্নেল ইন্টারফেস, বা কার্নেলের মধ্যে একটি কাস্টম মডিউল ইঞ্জেকশন ব্যবহার করে (এটির মধ্যে কোনটি কনফিগার করে ), স্বেচ্ছাসেবী পাথগুলিতে অ্যাক্সেসগুলি অস্বীকার করে। আমি এটি সম্পর্কে সচেতন ছিলাম না কারণ আমি কেবল পিসি ব্যবহার করি না। এটি আনইনস্টল করার পরে, এখন সবকিছু ঠিক আছে।

আপনার সহায়তার জন্য সবাইকে ধন্যবাদ!


অত্যন্ত আকর্ষণীয়, আমি এর আগে এমন সফ্টওয়্যারটি কখনও শুনিনি, যতদূর আমি জানি যে সবাই সেলিনাক্স বা অ্যাপার্মার ব্যবহার করছে।
রাফায়েল কিটওভার

একটি আপডেট সরবরাহ করার জন্য আপনাকে ধন্যবাদ। যখন আপনি পারেন, দয়া করে আপনার নিজের উত্তরটি গ্রহণ করুন।
রোয়াইমা
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.