我需要使用以下权限创建一个文件
srw-rw-rw- 1 own group 0 Feb 6 22:12 myfile
我知道chmod 666会创建'rw',但用什么命令来创建第一个s?
答案 0 :(得分:2)
正如vjayalakshmi指出的那样,第一个字符是文件类型(普通,目录,fifo,套接字等)。 chmod +s
只设置setuid / setgid位。这些比特意味着可执行性,这就是为什么ls
将“{1}}置于其中”的原因。其中' x'通常会去 - 它会告诉你两个带有一个字符的东西(可执行文件,另外还有设置用户/组ID),在你用-rwsrwsrw-
尝试+ s后,会看到你看到的chmod
结果。 IOW,chmod
正如其名称所暗示的那样 - 它设置文件访问模式,这与文件类型无关。
通常情况下,要创建一个套接字,您希望在程序中执行此操作(即使用socket(2)
系统调用)。
如果您真的想从命令行创建套接字(当然,这取决于您尝试执行的操作),您可以尝试使用nc
命令。此外,Tcl有一个socket
命令 - 有关详细信息,请参阅http://www.tcl.tk/man/tcl8.4/TclCmd/socket.htm。
答案 1 :(得分:0)
文件权限中的第一位是关于文件类型的。您正在创建的文件应该是条目类型套接字,以便在第一个位中包含该字符。 请参阅此链接http://www.cyberciti.biz/faq/explain-the-nine-permissions-bits-on-files/
条目类型
共有10位-rw-r - r--:在-l下打印的文件模式 选项包括条目类型(第1位)和权限(9 位)。条目类型字符描述文件的类型,如 如下:
- 常规文件。 b阻止特殊文件(存储在/ dev中)。 c字符特殊文件(存储在/ dev中)。 d目录。 l符号链接。 p FIFO。小号 插座。 w Whiteout。