Chmod oleh Letters Vs Numbers

8

Baru-baru ini saya diminta oleh seorang kolega untuk menggunakan chmoddengan huruf, bukan angka. Terlepas dari keuntungan keterbacaan yang jelas, adakah alasan khusus untuk menggunakan huruf di atas angka?

Gautam
sumber

Jawaban:

13

The chmodnotasi simbolik lebih berbutir halus dibandingkan dengan notasi oktal, yang memungkinkan modifikasi bit modus tertentu sementara meninggalkan bit modus lainnya tidak tersentuh.

Notasi simbolik terdiri dari tiga komponen:

chmod [references][operator][modes] file

The referencesterdiri dari kombinasi huruf ugoa, yang menentukan pengguna akses ke fileakan dimodifikasi: user yang memiliki itu ( u), pengguna lain dalam kelompok file ( g), pengguna lain tidak dalam kelompok file ( o), atau semua pengguna ( a). Jika referenceskomponen dihilangkan, standar untuk semua pengguna, tetapi hanya izin yang diizinkan oleh umaskyang diubah.

The + operatormenyebabkan ditentukan mode file bit yang akan ditambahkan ke mode file yang ada bit setiap file; -menyebabkan mereka dihapus; dan =menyebabkan mereka ditambahkan dan bit yang tidak ditentukan dihapus, kecuali setuiddan setgidbit ditetapkan untuk direktori, kecuali ditentukan secara eksplisit.

The modeterdiri dari kombinasi huruf rwxXst, yang sesuai dengan read ( r), write ( w), mengeksekusi (atau mencari direktori) ( x), mengeksekusi / pencarian hanya jika file adalah sebuah direktori atau sudah memiliki mengeksekusi bagi beberapa pengguna ( X), setuidatau setgid(tergantung pada referensi yang ditentukan) ( s) dan bendera penghapusan terbatas atau bit lengket ( t). Atau, modedapat terdiri dari salah satu huruf ugo, dalam hal ini modeberkorespondensi dengan izin yang saat ini diberikan kepada pemilik ( u), anggota grup file ( g), atau permisi pengguna dalam kategori sebelumnya ( o).

Contohnya

Dengan asumsi izin yang ditetapkan fileadalah0764/-rwxrw-r--

Hapus izin dari pengguna lain yang tidak ada dalam grup file:

  • Oktal: chmod 760 file

    Perhatikan bagaimana izin yang ada dibiarkan tidak berubah harus diulangi saat menggunakan notasi oktal.

  • Simbolis: chmod o-rwx file

    Dengan notasi simbolis, izin file yang ada tidak masalah.

Setel setuid:

  • Oktal: chmod 4764 file

  • Simbolis: chmod u+s file

Setel setgid:

  • Oktal: chmod 2764 file
  • Simbolis chmod g+s file
Thomas Nyman
sumber
1

Menggunakan huruf memungkinkan Anda untuk mengaktifkan dan mematikan bit individual tanpa mengubah bit lainnya.

Katakanlah saya punya direktori berikut: drwxrwsr-x 6 f261-01a g261-01a 4096 12 September 17:51 / home / tim / 261 / f261-01a

Jika saya ingin mematikan izin baca untuk orang lain dan saya ingin menggunakan nomor, saya mungkin cepat melakukannya chmod 751. Kecuali saya baru saja mematikan bit setgid pada direktori. Ups.

Namun, jika saya gunakan chmod o-r, saya hanya mematikan bit baca yang saya inginkan dan bit setgid pada direktori tetap disetel.

Ini juga berguna jika Anda ingin mengaktifkan bit setuid, setgid atau sticky pada file atau direktori. Terutama jika Anda melakukannya sangat jarang Anda mengalami kesulitan mengingat bit mana yang pada oktet ke-4.

Jadi, itu tergantung apa yang Anda lakukan. Saya masih lebih suka menggunakan angka ketika saya hanya mengatur izin dan saya tidak peduli apa yang harus dimulai. Tetapi jika Anda mengubah bit individual, notasi huruf jauh lebih mudah.

kurtm
sumber