Rwx ve sekizli sürüm arasında web tabanlı bir dönüştürücü var mı?


27

Ben dönüşüm gibi bir şey olduğunu hatırlamak asla rw-r--r--üzere 644. 2 arasında basit bir web tabanlı dönüştürücü var mı?


İkilik basamakların rwxrwxrwx (user, group, other) ile eşleştirildiği sadece sekizlik bir sayıdır.
Keith

bu kolayca elle hesaplanabilir. veya onlar tarafından görüntülenebilir stat -c...
from

Yanıtlar:


26

Bu site, çeşitli bitler ayarlandığında / ayarlandığında hangi izin bitlerinin ayarlandığını görmek için etkileşimli bir yol sağlar.

"Hesap makinesi" şuna benzer:

  ss 1.


5
Bu arada, "sekizli dosya izinleri aracı" için Googling tarafından aldım. Google, bir sorunuz olduğunda kontrol etmek için her zaman harika bir ilk yerdir.
J. Taylor,

2
Pst, aramayı denedim ama doğru arama terimini bulamadım. Sizi çok rahatsız ettiğim için özür dilerim ...
Darryl Hein

3
Darryl - Beni rahatsız etmedin. Soruların cevaplarını kendi başınıza daha kolay bulmanıza yardımcı olmaya çalışıyorum, böylece zaman geldiğinde kimsenin sizin için cevaplamaya istekli olmadığı bir sorunuz olduğunda, kendiniz cevaplayabilirsiniz.
J. Taylor,

3
Bağlantı koptu, bu yüzden genellikle sadece bağlantıların cevaplarını caydırıyoruz, ancak soru bir bağlantı sorduğunda eleştirmek zor
Michael Mrozek

3
Bağlantı artık kopuk değil.

11

Neden ilk önce sekizli sayıya ihtiyacınız var?

Ben her zaman kullanırım:

chmod o+x file   # all + eXecute permissions
chmod g-w file   # group - write perms
chmod u=r file   # user can just read
chmod ug=rw file # user,group = read and write
chmod a+w file   # user,group,others + write 

ugo (a) 'nın hatırlaması kolaydır. Ancak o karıştırabilirsiniz: = sahibi? O: diğer =? peki eğer sahipseniz? u: = kullanıcı, bu nedenle o = diğer.

Bazı komutlar yalnızca sayısal izinler gibi. Tamam, hesaplanması zor değil, eğer iki diziyi hatırlarsanız: ugo + rwx.

    r   w   x  | Sum
u   4   2   1  | 7
g   4   -   1  |  5
o   4   2   -  |   6
---------------------
                 756

Evet, çok yapay.

S ve SI söz konusu olduğunda kılavuza başvurmak zorundadır. Belki bir dahaki sefere google. :)


8

Sekizli izinler için kullanılır, çünkü kolay bir dönüşümdür. Her grup, rwxbir sekizli basamak oluşturur. Tek hatırlaman gereken 2: 4, 2, 1'in ilk 3 gücü: r= 4, w= 2,x = 1.

rw-r--r--= 110 100 100= 4+2+0 4+0+0 4+0+0=644


5

Bu izin hesaplayıcısını beğendim:
http://file-permissions.ninja


Normalde, bunu yalnızca bağlantı içeren bir cevap olarak işaretlerdim, ancak OP açıkça bir web sitesi istediğinden, geçmesine izin vereceğim. Yalnızca bağlantı cevaplarının genellikle önerilmemesi gerektiğine dikkat edin.
HalosGhost 17:14

Bu site şu anda çalışmıyor. Konsolda "403" hataları görüyorum.
Ryan

4

Bu, şu ana kadar en uygun olanı ve inandığımın yanı sıra, tam olarak ne istediğinizi tam olarak:

http://ss64.com/osx/chmod.html

Tamamen etkileşimlidir, ancak "-rx -------" dizesini düzenleyemezsiniz, ancak sekizli veya onay kutularını düzenleyebilirsiniz. Bunlardan birini yapmak diğerini de günceller.

Sadece bunun için en sevdiğim araç

Aynı sayfadan:

Sayısal (mutlak) mod:

Bir ila dört sekizli basamak Herhangi bir atlanan basamağın, baştaki sıfır olduğu varsayılır.

İlk basamak = ayarlanan kullanıcı kimliği (4) ve ayarlanan grup kimliği (2) için nitelikleri seçer ve metin görüntüsünü kaydeder (1) İkinci basamak = dosyaya sahip kullanıcının izinleri: read (4), write (2) , ve execute (1) Üçüncü basamak = dosya grubundaki diğer kullanıcılar için izinler: okuma (4), yazma (2) ve yürütme (1) Dördüncü basamak = dosya grubundaki diğer kullanıcılar için izinler: okuma (okuma) 4), yaz (2) ve yürüt (1)

Sekizlik (0-7) değer, her basamak için değerler eklenerek hesaplanır. Kullanıcı (rwx) = 4 + 2 + 1 = 7 Grup (rx) = 4 + 1 = 5 Dünya (rx) = 4 + 1 = 5 chmod modu = 0755


4

Ben .bashrc (veya eşdeğeri) içine koyabileceğiniz bu küçük diğer ad var.

YASAL UYARI: Senaryonun yazarı değilim ve bunu kimin yazdığından emin değilim ... ama bunu yapması için ona destek oluyor.

alias lsp="ls -l --color | 
      awk '{k=0; for(i=0;i<=8;i++) k+=((substr(\$1,i+2,1)~/[rwx]/)*2^(8-i));
      if (k) printf(\" %0o \",k); print}'"

1
Bunun için çok teşekkürler, @nico - işte perl one-liner olarak dönüştürülen ve bash'de kullanılan kodun aynısı: echo 'rwxrwxrw-' | perl -ne 'BEGIN{sub conv{ chomp(my $ins=shift); my $k=0; for(my $i=0;$i<=8;$i++) { my $tmps = ( substr($ins, $i, 1) =~ /[rwx]/ ); $k+= ( $tmps*(2**(8-$i)) ); }; if ($k) { sprintf(" %0o ", $k); } else { "??" ; }; }; } print(conv($_)."\n");'" 776" yazdı . Şerefe!
sdaau
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.