$ touch file && chmod a+x file
Die Erklärungen in anderen Antworten sind hervorragend. Ich möchte etwas hinzufügen, das tatsächlich eine Antwort auf die Frage gibt,
Wie kann das behoben werden?
mit spezifischem Code. @ Scott sagte, wie das geht,
Sie müssen die Datei erstellen und dann chmod
.
Der Code in meiner Antwort zeigt, wie es geht, und hebt ihn hervor, indem er an erster Stelle steht.
Weitere Erläuterungen
Zu Beginn füge ich der Einfachheit halber einfach den touch
Befehl hinzu, der vom OP gegeben touch file
wird touch file && chmod a+x file
.
someuser@someuser-MS-7816:/opt/lampp/htdocs/project$ touch file && chmod a+x file
someuser@someuser-MS-7816:/opt/lampp/htdocs/project$ mkdir dir
someuser@someuser-MS-7816:/opt/lampp/htdocs/project$ ls -l
total 4
drwxrwsrwx+ 2 someuser webs 4096 paź 31 13:35 dir
-rwxrwxrwx 1 someuser webs 0 paź 31 13:35 file
Hier richte ich dieselbe Situation auf meinem Computer (Cygwin) ein, um zu zeigen, dass sie funktioniert, und mache dann dasselbe auf einer virtuellen Ubuntu-Box, um die Unterschiede im Setup anzuzeigen. (Beachten Sie, dass sich der eigentliche Befehl zum Beheben von Problemen nicht ändert. Ich möchte lediglich einige mögliche Unterschiede setfacl
aufzeigen und selbst überprüfen, ob er funktioniert.)
$ uname -a | head -n 1
CYGWIN_NT-10.0 my_machine 2.10.0(0.325/5/3) 2018-02-02 15:16 x86_64 Cygwin
$ pwd
/home/me
$ mkdir user294034
$ setfacl -m u::rwx user294034/
$ setfacl -m d:u::rwx user294034/
$ setfacl -m g::rwX user294034/
setfacl: illegal acl entries
$ setfacl -m g::rws user294034/
setfacl: illegal acl entries
$ # I guess I don't know how to get the `flags: -s-` on Cygwin
$ setfacl -m g::rwx user294034/
$ setfacl -m d:g::rwx user294034/
$ setfacl -m o::rwx user294034/
$ setfacl -m d:o::rwx user294034/
$ cd user294034
$ getfacl .
# file: .
# owner: me
# group: my_group
user::rwx
group::rwx
other:rwx
default:user::rwx
default:group::rwx
default:other:rwx
$ # I admitted that I don't know how to get `# flags: -s-`
$ umask
0022
$ umask 0000
$ touch file
$ mkdir dir
$ # Here, we'll see the same problem
$ ls -l
total 0
drwxrwxrwx+ 1 me my_group 0 Sep 18 20:31 dir
-rw-rw-rw- 1 me my_group 0 Sep 18 20:31 file
$ # Here, we'll fix the problem
$ rm file
$ touch file && chmod a+x file
$ ls -l
total 0
drwxrwxrwx+ 1 me my_group 0 Sep 18 20:31 dir
-rwxrwxrwx 1 me my_group 0 Sep 18 20:32 file
user
,group
undother
ACL - Einträge. Wenn Sie Standard-ACL-Einträge für benannte Benutzer oder Gruppen haben, werden diese wie angegeben vererbt, oder?