21

I just found this confusing output of the ls command:

    whodare@ubuntu~ $: ls -l /var/spool/cron/
    total 12
    drwxrwx--T 2 daemon daemon  4096 Oct 29 05:02 atjobs
    drwxrwx--T 2 daemon daemon  4096 Sep 15 21:09 atspool
    drwx-wx--T 2 root         crontab  4096 Dec 24 02:11 crontabs

I know 't' means sticky, but what does 'T' mean?

How can I setup this bit for a directory?

migrated from stackoverflow.com Dec 23 '09 at 19:31

This question came from our site for professional and enthusiast programmers.

14

t takes place of x so you need to be able to distinguish whether the x was supposed to be there and was overwritten by t

  • t == sticky + x
  • T == only sticky
  • Why is this not documented in the man page of ls? – Ini Nov 4 '18 at 21:26
7

Look for sticky bit in here.
Regarding your second question, look at this wikipedia entry on how to set it.

The difference between the two is that 'T' is present

on a file or directory without the execution bit set for the others category

4

t will be in place of others permission and in place of execute permission. So it means that t is for execute + sticky bit. T means only sticky bit without execute permission.

Example:

dr-xr-xr-t  2 scm scm 4096 Feb 15 17:48 log
drwxr-xr-T  2 scm scm 4096 Feb 15 18:04 rpm

Here, log has execute + sticky bit (others). rpm has only sticky bit.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy