Bagaimana Anda melihat izin file?

79

Saya ingin tahu cara melihat izin yang dimiliki file tertentu. Perintah mana yang harus saya ketik di terminal? Namun, saya tidak ingin mengubahnya.

CENTAUR
sumber
Jika ini bukan duplikat, tandai ini sebagai Dilindungi. Ini adalah pertanyaan yang penting.
evilMinion

Jawaban:

111

Jika Anda ingin melihat izin file, Anda dapat menggunakan ls -l /path/to/fileperintah.

Sebagai contoh

   ls -l acroread 
   -rwxr-xr-x 1 10490 floppy 17242 May  8  2013 acroread


Apa artinya ini ?

Pertama -merupakan file biasa. Ini memberi Anda petunjuk tentang jenis objek itu. Ini dapat memiliki nilai berikut.

  • d (direktori)
  • c (perangkat karakter)
  • l (symlink)
  • p (pipa bernama)
  • s (soket)
  • b (blokir perangkat)
  • D (pintu)
  • - (file biasa)


rmewakili izin baca.
wmewakili izin menulis dan
xmerupakan izin yang dapat dieksekusi.

Kombinasi pertama rwxmewakili izin untuk pemilik .
Kombinasi kedua rwxmewakili izin untuk grup .
Kombinasi ketiga rwxmerupakan izin untuk lainnya file.


Notasi oktal

Izin file juga dapat direpresentasikan dalam notasi oktal.
Dalam notasi oktal

Baca atau rdiwakili oleh 4,
Tulis atau wdiwakili oleh 2
Jalankan xdiwakili oleh 1.

Jumlah ketiga ini digunakan untuk mewakili izin.

stat perintah dapat digunakan untuk melihat izin file dalam notasi oktal

  stat -c "%a %n" /path/of/file

Sebagai contoh

   stat -c "%a %n" acroread 
   755 acroread

Di sini Anda bisa melihat

Untuk pemilik itu adalah 4 + 2 + 1 = 7 (111 dalam biner)
Untuk grup itu adalah 4 + 0 + 1 = 5 (101 dalam biner) dan
untuk lainnya adalah 4 + 0 + 1 = 5 (101 dalam biner).

g_p
sumber
19

Anda dapat menggunakan daftar panjang:

ls -l [filename]

Atau stat:

stat [filename]

Stat lebih komprehensif; itu menunjukkan Anda akses, memodifikasi dan mengubah waktu, serta informasi Inode dan ukuran, yang mungkin atau mungkin tidak berguna bagi Anda.

Viv Diwakar
sumber
Catatan: "itu tergantung", perintah itu akan menampilkan izin standar, namun, akses Anda dapat dibatasi dengan cara lain, acl, apparmor, dan selinux semua dapat membatasi akses di luar apa yang ditunjukkan oleh ls -l.
Panther
7

Terlepas dari Anda benar-benar menggunakan izin ACL, jika Anda memiliki aclpaket diinstal, Anda dapat menggunakan getfacl <path>untuk mendapatkan rincian izin yang cukup layak pada file itu.

$ getfacl /root/
# file: root/
# owner: root
# group: root
user::rwx
group::---
other::---

Jika Anda memang menggunakan izin ACL, itu akan memberi tahu Anda tentang izin itu lsdan stattidak bisa.

$ sudo setfacl -m u:oli:r /root
$ getfacl /root/
# file: root/
# owner: root
# group: root
user::rwx
user:oli:r--
group::---
mask::r--
other::---
Oli
sumber