What is the meaning of 'T' in the execution permissions of a directory?

22

5

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?

Adaptee

Posted 2009-12-23T19:25:02.390

Reputation:

Answers

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

smokku

Posted 2009-12-23T19:25:02.390

Reputation: 336

Why is this not documented in the man page of ls? – Ini – 2018-11-04T21:26:51.990

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

Alberto Zaccagni

Posted 2009-12-23T19:25:02.390

Reputation: 586

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.

ash

Posted 2009-12-23T19:25:02.390

Reputation: 41