私はシステムからユーザーを無効にするプログラムを書いています/bin/bash
。/bin/false.
例
xxx:x:1:22:xx:/export/home/xx:**/bin/bash**
置き換える
xxx:x:1:22:xx:/export/home/xx:**/bin/false**
bash スクリプトを使用して実行したいと思います。
これを行う 1 つの方法は を使用することだとわかっていますsed
。しかし、私は正規表現が得意ではありません。
誰か助けてくれませんか?
答え1
まあ、正規表現ではまったくそんなことはしませんsed
。プログラムを使うだけですchshユーザーのシェルを変更します。
chsh -s /bin/false username
あるいは:
usermod -s /bin/false username
実際のシェルに置き換えたい場合は、それが にリストされていることも確認する必要があります/etc/shells
。
答え2
chsh
常に利用できるわけではないので注意してください!高山例えばLinuxや組み込みシステムではビジーボックス..
シンプルなインラインsed
コマンド:
sed -i '/www-data/s/false/sh/g' /etc/passwd
(この例ではシェルを/bin/偽にバイナリユーザー向けwwwデータ)