実際には方法があります。それは素晴らしい方法ではありませんが、方法です (笑)!
以下を /etc/passwd
に追加します ファイル:
~:x:1111:99:special Character user:/test:/sbin/nologin
1111
を置き換えます 意味のあるUIDとして、/test
を置き換えます ~~ に模倣させたいディレクトリで。
99
私のシステムでは nobody
です これを行う場合は、使用されるファイルに対するアクセス許可がないグループであることを確認することをお勧めします。理論上は /sbin/nologin
シェルとして、使用できないはずです。また、/etc/shadow
もありません。 エントリなので、パスワードはありません。理論的には問題ありませんが、アカウントとしてログインできないことを確認してください。
補足として:これが良いアイデアだと言っているわけではありませんが、必要な機能は実現します。
編集:完全を期すために、これは VarunAgw によって提案されました:useradd -s /sbin/nologin -N tmp
で通常どおりユーザーを追加できます /etc/passwd
を変更します および /etc/shadow
ユーザー tmp
を変更するには ~
へ home directory
の場所を変更します
CDPATH を利用して、文字通り ~~
という名前のディレクトリを置くことができます CDPATH コンポーネントの 1 つで。
man bash
から (ただし、CDPATH は sh
でも使用できます )
cd コマンドの検索パス。これは、シェルが cd コマンドで指定された宛先ディレクトリーを探すための、コロンで区切られたディレクトリーのリストです。サンプル値は「.:~:/usr」です。
これにより、 cd ~~
を実行できます .
vi ~~/someFile
のようなことをしたい場合 ディレクトリ ツリーのどこからでも ~~
に固執するのは運が悪い ただし、シェルをハッキングしない限り、文字通り、変数または環境変数を使用してマジックディレクトリを保存できるため、たとえば $tilda/someFile
のようにできます
~/b
などのパスでアクセスできるように、頻繁にアクセスするファイルをホーム ディレクトリの短い名前のディレクトリに配置することがよくあります。 または ~/l
.
当然のことながら、通常はディレクトリをディレクトリへのシンボリック リンクにいくらでも置き換えることができます。