Chmod + w neden diğerlerine yazma izni vermiyor (o)


18

Ben çalıştırdığınızda chmod +w filenameo kadar yazma izni vermez other, sadece yazma izni verir userve group.

Bu komutu yürüttükten sonra

chmod +w testfile.txt

koşu ls -l testfile.txtbaskılar

-rw-rw-r-- 1 ravi ravi 20 Mar 10 18:09 testfile.txt

ancak durumunda +rve +xdüzgün çalışıyor.

Kullanmak istemiyorum chmod ugo+w filename.



1
Kullanmak istemiyorsanız ugokullanın a.
muru

evet, ama neden +wişe yaramadığını bilmek istiyorum .
Ravi Sevta

Bu yüzden iki yorum bıraktım.
muru

@muru. Eğer içinde talep askubuntuEğer yukarıda referans Bu cevap, "Bu davranış POSIX görevlendirilmiş ve bu yüzden, bir hata". POSIX Uygulama Kullanımı metninin normatif olmadığını ve bu nedenle POSIX tarafından zorunlu tutulmadığını lütfen unutmayın.
fpmurfi

Yanıtlar:


26

Özel durumunuz

Özel durumda, geçerli olduğunu tahmin edebilirsiniz umaskolan 002(bu ortak varsayılan değerdir) ve bu sürprizini açıklıyor.

umaskDeğerin 002 olduğu tüm özel durumlarda (tüm sayılar sekizli).

  • +raraçlar ugo+rnedeniyle 002 & 444olduğunu 000tüm bitleri set olmak sağlayan,
  • +xaraçlar ugo+xnedeniyle 002 & 111olduğunu 000tüm bitleri set olmak sağlayan,
  • fakat +w aracı ug+wiçin 002 & 222bir 002resim grubu olması "O" bit önler.

Diğer örnekler

  • İle umask 022 +w demek u+w.
  • İle umask 007 +rwx demek ug+rwx.
  • İle umask 077 +rwx demek u+rwx.

Beklentileriniz ne olurdu?

Eğer değiştirdiğinizde umaskiçin000 , yürüterek

umask 000

terminalinizde, o zaman

chmod +w file

ugo + w izinlerini ayarlayacaktır.

Kenar notu

İlkkachu tarafından önerildiği gibi, umask 000 herkesin tüm dosyalarınızı okuyabileceği ve yazabileceği anlamına gelmediğini .

Ancak , makinenizdeki herhangi bir kullanıcı hesabına (sunucu hizmetlerini çalıştıran programlar da dahil olabilir) umask 000erişime sahip olan herkesin, o maske etkinken yaptığınız tüm dosyaları okuyabileceği ve yazabileceği ve ( dizinleri de kök kadar sağlar).


4
umask (ofc sunucu hizmetlerini çalıştıran programlar içerebilir) okumak ve o maske aktif olan yapıp değişikliği yok tüm dosyaları yazabilir makinenizde bir kullanıcı hesabına erişim çeşit vardır 000 araç herkes açık olmak
StarWeaver

4
"+ r ugo = r" anlamına gelir - hayır, hayır, rumask'ın izin verdiği taraflar için biti ayarlamak anlamına gelir . Bu, örneğin GNU chmod ve FreeBSD chmod kılavuzlarında ve standardında açıkça belirtilmiştir. Aynı +x. İçin +wsize bu özel Umask durumu için, haklısın.
ilkkachu

4
Ayrıca, hiç umask'ı ayar 0 vermez Herkesin okuma ve yazma anlamına tüm birçok uygulama moduyla özellikle özel dosyalar oluşturmaz, çünkü dosyalarınızı 0600grubu ve diğerleri ne olursa olsun Umask olarak herhangi erişim hakkı elde etmezler, yani.
ilkkachu

@ilkkachu + r, ugo = r anlamına gelir, bu soruda açıklanan durumla ilgiliydi. Bu genel değildi.
Prvt_Yadav

2
@Debian_yadav, asıl mesele bu: bir sidenote değil umask, nasıl +rdavrandığının önemli bir parçasıdır . Ayrıca, hatta izin maskesini varsayarak 002, chmod +rortalama gelmez chmod ugo=r, bunun anlamıchmod ugo+r
ilkkachu

24

İle:

chmod +<perms>

izinler kullanıcıya , gruba ve diğerlerine eklenir ancak umask hala uygulanır. Dosyanın yeni oluşturulan bir dosyadan daha fazla izin verilmemesini sağlar.

Size perma eklemek isterseniz kullanıcı , gruplar ve diğer umask'ı, kullanım bakılmaksızın

chmod a+<perms>

ki bunun için kısadır

chmod ugo+<perms>

Bu, + x ve a + x'in eşit olmadığı anlamına gelir.
Prvt_Yadav

1
Bağlantıları severim: man7.org/linux/man-pages/man1/chmod.1.html „Bunların hiçbiri verilmezse, etki (a) verilmiş gibi fakat umask'taki bitler etkilenmez. ”
tehnicaorg

0

İzinleri kime verdiğinizi (örneğin other,chmod o+w testfile.txt


1
Evet, ama bence +wherkese izin veriyor (kullanıcı, grup ve diğerleri).
Ravi Sevta

Tüm kullanıcılara izin vermek için tuşunu kullanın chmod a+w testfile.txt. Kullanıcı uiçin, ggrup oiçin, diğerleri aiçin ve herkes için kullanın.
Jaken551

eğer chmod a+w filename, chmod +w filenameve chmod ugo+w filenamebirbirine alternatif sonra neden sadece kullanmayın+w
Ravi sevta
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.