Apakah ada konverter berbasis web antara rwx dan versi oktal?


27

Saya tidak pernah ingat konversi seperti apa dari rw-r--r--menjadi 644. Apakah ada konverter berbasis web sederhana antara 2?


Itu hanya angka oktal dengan angka biner dipetakan ke rwxrwxrwx (pengguna, grup, lainnya).
Keith

ini dapat dengan mudah dihitung dengan tangan. atau mereka dapat ditampilkan oleh stat -c...
fromnaboo

Jawaban:


26

Situs ini menyediakan cara interaktif untuk melihat bit perizinan apa yang ditetapkan ketika berbagai bit diatur / tidak disetel.

"Kalkulator" terlihat seperti ini:

  ss # 1


5
Saya mendapatkan ini dengan Googling untuk "alat izin file oktal", omong-omong. Google selalu menjadi tempat pertama yang bagus untuk memeriksa ketika Anda memiliki pertanyaan.
J. Taylor

2
Pst, saya memang mencoba mencari, tetapi saya tidak dapat menemukan istilah pencarian yang tepat. Maaf mengganggu Anda begitu banyak ... dan memberi Anda beberapa perwakilan.
Darryl Hein

3
Darryl - Anda tidak mengganggu saya. Saya mencoba membantu Anda menemukan jawaban atas pertanyaan dengan lebih mudah sendiri, sehingga ketika saatnya tiba bahwa Anda memiliki pertanyaan yang tidak seorang pun mau menjawab untuk Anda, Anda mungkin dapat menjawabnya sendiri.
J. Taylor

3
Tautan ini terputus sekarang, itulah sebabnya kami biasanya tidak menyarankan jawaban tautan saja, tetapi sulit untuk mengkritik ketika pertanyaan tersebut meminta tautan
Michael Mrozek

3
Tautan tidak lagi terputus.

11

Mengapa Anda membutuhkan angka oktal di tempat pertama?

Saya selalu menggunakan:

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) mudah diingat. Namun Anda dapat membingungkan o: = pemilik? o: = lainnya? tapi apa yang akan kamu, jika o = pemilik? u: = pengguna, oleh karena itu o = lainnya.

Beberapa perintah seperti izin numerik saja. Oke, tidak sulit untuk menghitung, jika Anda mengingat dua urutan: ugo + rwx.

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

Ya, sangat tiruan.

Ketika datang ke dan SI harus berkonsultasi dengan manual. Mungkin google lain kali. :)


8

Oktal digunakan untuk izin karena konversi yang mudah . Setiap kelompok rwxmembentuk satu digit oktal. Yang harus Anda ingat adalah 3 kekuatan pertama dari 2: 4, 2, 1. r= 4, w= 2, x= 1.

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


5

Saya suka kalkulator izin ini:
http://file-permissions.ninja


Biasanya, saya akan menandai ini sebagai jawaban tautan saja, tetapi karena OP secara eksplisit meminta situs web, saya akan membiarkannya berlalu. Ketahuilah bahwa jawaban hanya tautan seringkali tidak disarankan.
HalosGhost

Situs ini sepertinya tidak berfungsi sekarang. Saya melihat kesalahan "403" di konsol.
Ryan

4

Sejauh ini yang paling nyaman, dan selain itu saya percaya, persis apa yang Anda minta pada awalnya:

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

Ini sepenuhnya interaktif, meskipun Anda tidak dapat mengedit string "-rx -------" tetapi Anda bisa menggunakan oktal atau kotak centang. Melakukan salah satu pembaruan yang lain.

Alat favorit saya untuk ini saja

Dari halaman yang sama:

Mode angka (absolut):

Dari satu hingga empat digit oktal Setiap angka yang dihilangkan dianggap sebagai nol di depan.

Digit pertama = memilih atribut untuk set ID pengguna (4) dan mengatur ID grup (2) dan menyimpan gambar teks (1) Digit kedua = izin untuk pengguna yang memiliki file: baca (4), tulis (2) , dan jalankan (1) Digit ketiga = izin untuk pengguna lain dalam grup file: baca (4), tulis (2), dan jalankan (1) Digit keempat = izin untuk pengguna lain BUKAN dalam grup file: baca ( 4), tulis (2), dan jalankan (1)

Nilai oktal (0-7) dihitung dengan menjumlahkan nilai untuk setiap digit Pengguna (rwx) = 4 + 2 + 1 = 7 Grup (rx) = 4 + 1 = 5 Dunia (rx) = 4 + 1 = 5 mode chmod = 0755


4

Saya memiliki alias kecil ini yang dapat Anda masukkan dalam .bashrc Anda (atau yang setara).

PENOLAKAN: Saya bukan penulis skrip, dan saya tidak yakin siapa yang menulisnya ... tapi mendukungnya karena melakukan ini.

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
Terima kasih banyak untuk itu, @nico - ini adalah kode yang sama yang dikonversi sebagai perl one-liner, dan digunakan dalam bash: 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");'akan mencetak " 776". Tepuk tangan!
sdaau
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.