-1

lftp の misc.cc から。コードを教えてください。私は p = 600, 777 を試して、別の予想される許可を取得します。

// it does not prepend file type.
    const char *format_perms(int p)
    {
       static char s[10];
       memset(s,'-',9); // set - for all s[]
       if(p&0400) s[0]='r'; // set r
         if(p&0200) s[1]='w';  // set w
         if(p&0100) s[2]='x'; // set x
         if(p&0040) s[3]='r';  //set r
         if(p&0020) s[4]='w';  
         if(p&0010) s[5]='x';
         if(p&0004) s[6]='r';
         if(p&0002) s[7]='w';
         if(p&0001) s[8]='x';
         if(p&01000) s[8]=(p&0001?'t':'T');
         if(p&02000) s[5]=(p&0010?'s':'S');
         if(p&04000) s[2]=(p&0100?'s':'S');
         return s;
    }

T と S の目的は何ですか? どうもありがとう

4

1 に答える 1

0

format_permsの「s」と「T」を意味すると仮定します。chmodのマンページによると:

4000Set-user-ID-on-execution

2000set-group-ID-on-execution

1000 sTickyビット、chmod(2)を参照

強調、私の。

于 2012-12-04T04:42:15.707 に答える