Có một trình chuyển đổi dựa trên web giữa rwx và phiên bản bát phân không?


27

Tôi không bao giờ có thể nhớ những gì chuyển đổi là từ cái gì đó như rw-r--r--để 644. Có một trình chuyển đổi dựa trên web đơn giản giữa 2?


Nó chỉ là một số bát phân với các chữ số nhị phân được ánh xạ tới rwxrwxrwx (người dùng, nhóm, người khác).
Keith

điều này có thể dễ dàng được tính toán bằng tay. hoặc chúng có thể được hiển thị bởi stat -c...
fromnaboo

Câu trả lời:


26

Trang web này cung cấp một cách tương tác để xem các bit quyền nào được đặt khi các bit khác nhau được đặt / không đặt.

"Máy tính" trông như thế này:

  ss # 1


5
Nhân tiện, tôi đã nhận được điều này bởi "công cụ cấp phép tệp bát phân". Google luôn là nơi đầu tiên tuyệt vời để kiểm tra khi bạn có câu hỏi.
J. Taylor

2
Pst, tôi đã thử tìm kiếm, nhưng tôi không thể tìm thấy cụm từ tìm kiếm phù hợp. Xin lỗi đã làm phiền bạn rất nhiều ... và cung cấp cho bạn một số đại diện.
Darryl Hein

3
Darryl - Bạn đã không làm phiền tôi. Tôi đang cố gắng giúp bạn tự tìm câu trả lời cho các câu hỏi dễ dàng hơn để khi đến lúc bạn có một câu hỏi mà không ai sẵn sàng trả lời cho bạn, bạn có thể tự trả lời.
J. Taylor

3
Liên kết bị hỏng ngay bây giờ, đó là lý do tại sao chúng tôi thường không khuyến khích các câu trả lời chỉ liên kết, nhưng thật khó để chỉ trích khi câu hỏi yêu cầu liên kết
Michael Mrozek

3
Liên kết không còn bị hỏng.

11

Tại sao bạn cần số bát phân ở vị trí đầu tiên?

Tôi luôn luôn sử dụng:

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) rất dễ nhớ. Tuy nhiên bạn có thể nhầm lẫn o: = chủ sở hữu? o: = khác? Nhưng bạn sẽ là gì, nếu o = chủ sở hữu? u: = người dùng, do đó o = khác.

Một số lệnh như chỉ cho phép số. Được rồi, không khó để tính toán, nếu bạn nhớ hai chuỗi: ugo + rwx.

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

Vâng, rất giả tạo.

Khi nói đến s và SI phải tham khảo hướng dẫn. Có thể google lần sau. :)


8

Octal được sử dụng để cấp quyền vì đây là một chuyển đổi dễ dàng . Mỗi nhóm rwxhình thành một chữ số bát phân. Tất cả những gì bạn phải nhớ là 3 quyền hạn đầu tiên của 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

Tôi thích máy tính cấp phép này:
http://file-permissions.ninja


Thông thường, tôi sẽ gắn cờ câu trả lời này chỉ là câu trả lời chỉ liên kết, nhưng vì OP rõ ràng đang yêu cầu một trang web, tôi sẽ để nó qua. Hãy lưu ý rằng các câu trả lời chỉ liên kết thường không được khuyến khích.
HalosGhost

Trang web này dường như không hoạt động ngay bây giờ. Tôi thấy lỗi "403" trong bảng điều khiển.
Ryan

4

Điều này là thuận tiện nhất, và ngoài tôi tin, chính xác những gì bạn yêu cầu ban đầu:

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

Nó hoàn toàn tương tác, mặc dù bạn không thể chỉnh sửa chuỗi "-rx -------" nhưng bạn có thể bát phân hoặc các hộp kiểm. Làm một trong hai cập nhật khác.

Công cụ yêu thích của tôi cho việc này

Từ cùng một trang:

Chế độ số (tuyệt đối):

Từ một đến bốn chữ số bát phân Bất kỳ chữ số bị bỏ qua nào được coi là số 0 đứng đầu.

Chữ số thứ nhất = chọn thuộc tính cho ID người dùng đã đặt (4) và đặt ID nhóm (2) và lưu hình ảnh văn bản (1) Chữ số thứ hai = quyền cho người dùng sở hữu tệp: read (4), write (2) và thực thi (1) Chữ số thứ ba = quyền cho người dùng khác trong nhóm của tệp: đọc (4), viết (2) và thực thi (1) Chữ số thứ tư = quyền cho người dùng khác KHÔNG thuộc nhóm của tệp: read ( 4), viết (2) và thực hiện (1)

Giá trị bát phân (0-7) được tính bằng cách cộng các giá trị cho mỗi chữ số Người dùng (rwx) = 4 + 2 + 1 = 7 Nhóm (rx) = 4 + 1 = 5 Thế giới (rx) = 4 + 1 = 5 chế độ chmod = 0755


4

Tôi có bí danh nhỏ này mà bạn có thể đặt vào .bashrc (hoặc tương đương).

TUYÊN BỐ TỪ CHỐI: Tôi không phải là tác giả của kịch bản, và tôi không chắc ai đã viết nó ... mà là đạo cụ cho anh ấy / cô ấy để làm điều này.

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
Rất cám ơn về điều đó, @nico - đây là cùng một mã được chuyển đổi dưới dạng một lớp lót perl và được sử dụng trong 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");'sẽ in " 776". Chúc mừng!
sdaau
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.