/ dev / null erişilemiyor: crw-rw-rw- 1 kök kökü 1, 3 Eyl 21 12:05 / dev / null olmasına rağmen izin reddedildi


11

Kullanıcı postgreslerinde:

$ ls -l /dev/null
ls: cannot access /dev/null: Permission denied

Kullanıcı kökünde düşünülmüş, izinler doğrudur:

# ls -l /dev/null
crw-rw-rw- 1 root root 1, 3 Sep 21 12:05 /dev/null

Yeniden oluşturmaya çalıştım:

# rm /dev/null && mknod -m 0666 /dev/null c 1 3

Ama sonuç aynı. Bir x86_64 üzerinde debian 7 ve çekirdek 2.6.32 ile VPS'dayım

Yanıtlar:


18

Sorun / dev izinlerinden geldi:

# ls -ld /dev
drwx------ 3 root root 4096 Sep 21 12:12 /dev

Bu nedenle / dev kullanıcıları tarafından erişilemedi.

# chmod a+x /dev
# chmod a+r /dev

Sorun çözüldü.


Bu yüzden neden bu izinlere sahip olduğunu bilmek istiyorum. Yeniden yüklemek isteyebilirsiniz. / Dev içindeki her şey çekirdek tarafından yönetilir ve yanlış izinlere sahip olması tuhaftır.
cripto

Hayır, / dev içindeki her şey "çekirdek tarafından yönetilmez".
tlund

@tlund lütfen en sevdiğiniz çekirdek kitabını gözden geçirin. "/ dev dizini çekirdeğin geçerli durumunu yansıtır" doc.opensuse.org/products/draft/SLES/SLES-admin_sd_draft/…
cripto

@ user1048138: Ben de bilmek istiyorum. VPS sağlayıcımdan otomatik bir debian 7 kurulumundan başladım. Sonra güncelleme, yükseltme, sadece apt-get kullanılır. Ayrıca wget some_domain / some_package.deb ile "el" ile bir paket ; dpkg -i some_package.deb; apt-get -f yükleme. Bir noktada, / dev / null standart bir dosya olarak değiştirildi ve / dev izinleri değiştirildi. Daha fazlasını söyleyemem.
lalebarde

1

Benzer bir sorunum vardı ve semptomları arayarak buraya geldim, ancak çözüm benim durumuma uymadı. Bu yüzden OP'ye tam olarak uymasa bile başka bir olası neden daha eklemek istiyorum.

Benim özel durumumda proot(güzel bir chrootsarıcı) kullandım. Ama izinler doğru idi /dev/nullve /devkendisi.

Normal bir kullanıcı olarak chrootyaptığım dizinin montajı oldu thunar. Bu durumda, bağlantının doğru izinleri yoktu.

Bunu bulmak için kötü bir zamanınız var, çünkü yalnızca dosyalara bakarken bu izinleri görmüyorsunuz.

Genel çözüm yolu, sorunlu konumdaki ( /dev/null) koşulları kontrol etmeye başlamak ve bir sonraki aşamada /devne olursa olsun , bir sonraki seviyeye (seviyelere ), ardından bağlantıya, dosya sistemine vb.

Her adımda, her birinin kendi dış seviyeleri olan birkaç ön koşul olabilir. Örneğin, kullanıcı yanlış izinlere sahip olabilen grup yapılandırma dosyasına yol açan yanlış bir grupta olabilir.

Açıkçası, genel olarak bir tür ağacı takip etmelisiniz.


0

Bunu kendim çözemedim, bu yüzden yaptım:

mycommand.sh | echo -n

echoO atılacak böylece komut, standart girişe dikkat etmez. Ve -nböylece işe yaramaz bir satırsonu stdout'a basılmaz.


1
Bu soruya cevap verebilir, ancak neden böyle yaptığını açıklamak daha iyi bir yanıt olacaktır .
DavidPostill

1
Evet, ancak "/ dev / null erişilemiyor: crw-rw-rw- 1 kök kökü 1, 3 Eyl 21 12:05 / dev / null" olmasına rağmen izin reddedildi mi?
DavidPostill

1
Bu soruya cevap vermiyor. Ancak bir çözüm sağlar. Bazen ideal bir doğrudan cevap yoktur.
Mark Stewart

0
chmod a+rw /dev/null /dev/random /dev/urandom /dev/ptmx /dev/tty /dev/zero /dev/full /dev/fuse /dev/net/tun

VPS'deki sorunumu çözen budur. Sunucunuzu yeniden başlattıktan sonra bu komutu tekrar çalıştırdığınızı lütfen unutmayın.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.