Bagaimana cara memeriksa izin direktori tertentu?


315

Saya tahu itu menggunakan ls -l "directory/directory/filename" memberi tahu saya izin file. Bagaimana saya melakukan hal yang sama pada direktori?

Saya jelas dapat menggunakan ls -lpada direktori yang lebih tinggi dalam hierarki dan kemudian gulir sampai saya menemukannya tetapi itu menyebalkan. Jika saya gunakan ls -lpada direktori aktual, itu memberikan izin / informasi dari file di dalamnya, dan bukan dari direktori aktual.

Saya mencoba ini di terminal Mac OS X 10.5 dan Linux (Ubuntu Gutsy Gibbon), dan hasilnya sama. Apakah ada semacam bendera yang harus saya gunakan?

Jawaban:


418

Inilah jawaban singkatnya:

$ ls -ld directory

Inilah fungsinya:

-d, --directory
    list directory entries instead of contents, and do not dereference symbolic links

Anda mungkin tertarik pada halaman manual . Di situlah semua orang di sini mendapatkan jawaban yang bagus.

lihat halaman manual online


24
Saya pikir halaman manual adalah kata-kata yang buruk. Saya menyisirnya lima kali sebelum mulai googling. Saya tidak ingin direktori 'entri' (hal 'dimasukkan' ke direktori? Seperti file dan sub-direktori mereka?) Atau 'konten' mereka (mereka terdengar seperti konsep yang sama dengan saya), saya ingin direktori itu sendiri .
user151841

2
itu sepenuhnya terminologi standar, direktori itu sendiri adalah entri direktori, yaitu entri dalam sistem file
alldayremix

33
Ini mungkin terminologi standar, tetapi bagi seseorang yang mungkin akan mengajukan pertanyaan seperti itu, itu mungkin jargon yang membingungkan.
CatShoes

60

Anda juga dapat menggunakan statperintah jika Anda menginginkan informasi terperinci pada file / direktori. (Saya tepat seperti yang Anda katakan Anda sedang belajar ^^)


4
stat akan menunjukkan kepada Anda di antara banyak hal izin: (0755 / drwxr-xr-x)
zzapper

2
ini berguna sehingga Anda dapat melihat format izin numerik juga - ty
mendarat

2
"stat -c% a direktori" ini akan ditampilkan secara numerik
Nerius Jok

2
Yang sesuai pada macOS adalah stat -f %A dir_or_filename.
iled

12

Ada juga

getfacl /directory/directory/

yang termasuk ACL

Pengantar yang bagus untuk Linux ACL di sini


10

Di GNU / Linux, cobalah untuk menggunakan ls, namei, getfacl, stat.

Untuk Dir

[flying@lempstacker ~]$ ls -ldh /tmp
drwxrwxrwt. 23 root root 4.0K Nov  8 15:41 /tmp
[flying@lempstacker ~]$ namei -l /tmp
f: /tmp
dr-xr-xr-x root root /
drwxrwxrwt root root tmp
[flying@lempstacker ~]$ getfacl /tmp
getfacl: Removing leading '/' from absolute path names
# file: tmp
# owner: root
# group: root
# flags: --t
user::rwx
group::rwx
other::rwx

[flying@lempstacker ~]$ 

atau

[flying@lempstacker ~]$ stat -c "%a" /tmp
1777
[flying@lempstacker ~]$ stat -c "%n %a" /tmp
/tmp 1777
[flying@lempstacker ~]$ stat -c "%A" /tmp
drwxrwxrwt
[flying@lempstacker ~]$ stat -c "%n %A" /tmp
/tmp drwxrwxrwt
[flying@lempstacker ~]$

Untuk file

[flying@lempstacker ~]$ ls -lh /tmp/anaconda.log
-rw-r--r-- 1 root root 0 Nov  8 08:31 /tmp/anaconda.log
[flying@lempstacker ~]$ namei -l /tmp/anaconda.log
f: /tmp/anaconda.log
dr-xr-xr-x root root /
drwxrwxrwt root root tmp
-rw-r--r-- root root anaconda.log
[flying@lempstacker ~]$ getfacl /tmp/anaconda.log
getfacl: Removing leading '/' from absolute path names
# file: tmp/anaconda.log
# owner: root
# group: root
user::rw-
group::r--
other::r--

[flying@lempstacker ~]$

atau

[flying@lempstacker ~]$ stat -c "%a" /tmp/anaconda.log
644
[flying@lempstacker ~]$ stat -c "%n %a" /tmp/anaconda.log
/tmp/anaconda.log 644
[flying@lempstacker ~]$ stat -c "%A" /tmp/anaconda.log
-rw-r--r--
[flying@lempstacker ~]$ stat -c "%n %A" /tmp/anaconda.log
/tmp/anaconda.log -rw-r--r--
[flying@lempstacker ~]$

10

Direktori $ ls -ld

(ls) menunjukkan daftar file dan direktori.

(-) menunjukkan bahwa file tersebut adalah file biasa.

(l) menunjukkan daftar panjang.

(D) menunjukkan bahwa file tersebut adalah direktori, yang pada dasarnya adalah jenis file khusus.



5

Selain posting di atas, saya ingin menunjukkan bahwa "man ls" akan memberi Anda panduan yang bagus tentang perintah "ls" (List ").

Juga, menggunakan ls -la myFile akan mendaftar & menunjukkan semua fakta tentang file itu.


5

Pada OS X Anda dapat menggunakan:

ls -lead

Opsi e menunjukkan ACL. Dan ACL sangat penting untuk mengetahui apa hak akses pada sistem Anda.


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.