Ayrıcalıksız bir kullanıcı olarak bir dosya oluşturur ve izinler modunu olarak değiştirirsem 400
bu kullanıcı tarafından salt okunur, doğru olarak görünür:
$ touch somefile
$ chmod 400 somefile
$ [ -w somefile ] && echo rw || echo ro
ro
Herşey iyi.
Ama sonra kök gelir:
# [ -w somefile ] && echo rw || echo ro
rw
Ne halt? Elbette, root salt okunur dosyalara yazabilir, ancak bir alışkanlık yapmamalıdır: En İyi Uygulama, yazma izni bitini test edebilmem gerektiğini dikte eder ve eğer değilse, o zaman ayarlanır bir sebepten ötürü.
Sanırım neden bu olduğunu anlamak istiyorum ve yazma biti ayarlanmamış bir dosyayı test ederken nasıl yanlış bir dönüş kodu alabilirim ?
/etc/dhcp/dhcpd.conf
kökün sahip olduğu manipülasyon içindir . Satıcı tarafından sağlanan kullanıyorum dhcpd
. Tamamen felaket, ha? Dosya RCS kontrol edilir, ben kullanımını otomatik hale ediyorum rcsdiff
, ci
ve co
biz var çünkü operatörlere ihtiyaç için ... çalışmalarını sağlayacaktır. İzin biti denetimi ( -w
ayrıntılı olarak açıklandığı gibi test(1)
), ci -u
bir dosyayı salt okunur bırakan temelde çalışan ilk hata satırı olacaktı . Ben oradan ayrılıp doğrudan gidip rcsdiff -q
kontrol ediyorum $?
. Çok dhcpd
mu saçma ? Sahibi olacaktı dhcpd
.
bash
ve test
bu ne inanmak götürdü [ -w
içindir.
4.1.2(1)-release
) hem de RHEL7 ( ) kullanıyorum4.2.46(2)-release
.