Eigentlich gibt es einen Weg, es ist kein toller Weg, aber es ist ein Weg, haha!
Fügen Sie Folgendes zu Ihrem /etc/passwd
hinzu Datei:
~:x:1111:99:special Character user:/test:/sbin/nologin
ersetzen Sie die 1111
da die UID durch etwas Sinnvolles ersetzt wird /test
mit dem Verzeichnis, das ~~ nachahmen soll.
99
auf meinem System ist das nobody
group Ich empfehle, wenn Sie dies tun, um sicherzustellen, dass es sich um eine Gruppe ohne Berechtigungen für eine Datei handelt, die jemals verwendet wird. Theoretisch mit /sbin/nologin
als Shell sollte sie nicht verwendet werden können, sie wird auch keinen /etc/shadow
haben Eintrag, damit es kein Passwort hat. Theoretisch sollte das in Ordnung sein, aber stellen Sie sicher, dass Sie sich nicht irgendwie als Konto anmelden können.
Als Randbemerkung:Ich sage keineswegs, dass dies eine gute Idee ist, aber es wird die gewünschte Funktionalität erreichen.
EDIT:Der Vollständigkeit halber wurde dies von VarunAgw vorgeschlagen:Sie könnten den Benutzer wie gewohnt mit useradd -s /sbin/nologin -N tmp
hinzufügen und ändern Sie dann /etc/passwd
und /etc/shadow
um den Benutzer tmp
zu ändern bis ~
und ändern Sie die Position von home directory
Sie können CDPATH verwenden und ein Verzeichnis mit dem wörtlichen Namen ~~
erstellen in einer Ihrer CDPATH-Komponenten.
Ab man bash
(Aber CDPATH ist sogar in sh
verfügbar )
Der Suchpfad für den cd-Befehl. Dies ist eine durch Doppelpunkte getrennte Liste von Verzeichnissen, in denen die Shell nach Zielverzeichnissen sucht, die durch den Befehl cd angegeben wurden. Ein Beispielwert ist ".:~:/usr".
Damit können Sie cd ~~
ausführen .
Wenn Sie Dinge wie vi ~~/someFile
tun möchten von irgendwo im Verzeichnisbaum, dann haben Sie Pech, wenn Sie auf ~~
bestehen Wenn Sie Ihre Shell buchstäblich nicht hacken, können Sie jedoch Variablen oder Umgebungsvariablen verwenden, um Ihre magischen Verzeichnisse zu speichern, sodass Sie z. B. $tilda/someFile
ausführen können
Normalerweise lege ich häufig aufgerufene Dateien in kurz benannten Verzeichnissen in meinem Home-Verzeichnis ab, damit ich mit Pfaden wie ~/b
darauf zugreifen kann oder ~/l
.
Natürlich können Sie normalerweise Verzeichnisse beliebig oft durch symbolische Links zu Verzeichnissen ersetzen.