
私はSSHサーバーに接続するためにPHPスクリプトを使用しています。コマンドを実行して終了します。非対話型および非ログインのシェルに接続します。そのため、ファイルがロードされて.bashrc
いないか、そこから正しく設定.bash_profile
できません。 sshの内部動作に関する情報を検索してみると、sshが接続された後にファイルを使用していくつかのコマンドを実行umask
できるようです。~/.ssh/rc
私のもの~/.ssh/rc
サーバー上私は次に接続しています:
#!/bin/bash
echo "Setting umask to 002"
umask 002
echo "Umask set"
問題は私のumaskが間違って設定されていることです。スクリプトを実行してumask
サーバーでコマンドを実行すると、0022
umaskが表示されます。
Run: cd /local/web/ && umask
> Setting umask to 002
> Umask set
> 0022
なぜ動作しないのですか?
答え1
umask
組み込みコマンドで実行した場合のみ有効です。
スクリプトを名前で呼び出すのではなく、. script
現在のシェルプロセスで実行するように呼び出します。
0022
ただし、印刷された値が混乱している場合は022
違いがなく、値は同じです。
より理解しやすい出力のためにPOSIXを試してくださいumask -S
。