How to check permissions of a specific directory?

UnixDirectory

Unix Problem Overview


I know that using ls -l "directory/directory/filename" tells me the permissions of a file. How do I do the same on a directory?

I could obviously use ls -l on the directory higher in the hierarchy and then just scroll till I find it but it's such a pain. If I use ls -l on the actual directory, it gives the permissions/information of the files inside of it, and not of the actual directory.

I tried this in the terminal of both Mac OS X 10.5 and Linux (Ubuntu Gutsy Gibbon), and it's the same result. Is there some sort of flag I should be using?

Unix Solutions


Solution 1 - Unix

Here is the short answer:

$ ls -ld directory

Here's what it does:

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

You might be interested in manpages. That's where all people in here get their nice answers from.

refer to online man pages

Solution 2 - Unix

You can also use the stat command if you want detailed information on a file/directory. (I precise this as you say you are learning ^^)

Solution 3 - Unix

$ ls -ld directory

ls is the list command.

- indicates the beginning of the command options.

l asks for a long list which includes the permissions.

d indicates that the list should concern the named directory itself; not its contents. If no directory name is given, the list output will pertain to the current directory.

Solution 4 - Unix

In GNU/Linux, try to use ls, namei, getfacl, stat.

For 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 ~]$ 

or

[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 ~]$

For 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 ~]$

or

[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 ~]$

Solution 5 - Unix

There is also

getfacl /directory/directory/

which includes ACL

A good introduction on Linux ACL here

Solution 6 - Unix

This displays files with its permisions

stat -c '%a - %n' directory/*

Solution 7 - Unix

In addition to the above posts, i'd like to point out that "man ls" will give you a nice manual about the "ls" ( List " command.

Also, using ls -la myFile will list & show all the facts about that file.

Solution 8 - Unix

On OS X you can use:

ls -lead

The e option shows ACLs. And ACLs are very important to knowing what the exact permissions on your system are.

Solution 9 - Unix

ls -lstr

This shows the normal ls view with permissions and user:group as well

Solution 10 - Unix

To check the permission configuration of a file, use the command:

ls –l [file_name]

To check the permission configuration of a directory, use the command:

ls –l [Directory-name]

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
Questionuser42228View Question on Stackoverflow
Solution 1 - UnixJohannes Schaub - litbView Answer on Stackoverflow
Solution 2 - UnixPiotr LesnickiView Answer on Stackoverflow
Solution 3 - UnixMehul JariwalaView Answer on Stackoverflow
Solution 4 - Unixuser7040344View Answer on Stackoverflow
Solution 5 - UnixTaylanView Answer on Stackoverflow
Solution 6 - UnixBrandon AguilarView Answer on Stackoverflow
Solution 7 - UnixFilip EkbergView Answer on Stackoverflow
Solution 8 - UnixTony TopperView Answer on Stackoverflow
Solution 9 - Unixuser2201302View Answer on Stackoverflow
Solution 10 - UnixAslam KhanView Answer on Stackoverflow