ドメインアカウントのデフォルトシェルを変更する方法


13

samba4ドメインアカウントを使用してラップトップにログインします。試しzshてみたかったのですが、ユーザーが住んでいないため、ユーザーが/etc/passwd見つかりませんchsh。誰が私が私を変えることができるかアドバイスできますlogin_shellか?

私は自分で何も見えなかったldap.confnssswitch.confまたはに何も/etc/pam.d助けたことを...

ドメインコントローラーを見ると、samba-toolを使用できるかもしれないと思ったが、正しい方向を指し示す助けは何もなかった...

回答:


24

Freenodeの#suseチャネルでこれについて尋ねたところ、MiukuはArulと同じことを提案しましたが、Windowsドメインを使用している場合はloginShell属性を設定できるという2つのことを述べました。

悲しいことに、私はsambaドメインにいるので、助けにはなりませんでした。しかし、彼の最後の提案は完璧であり、次の結果を得ます。

getent passwd USERNAME

これにより、ユーザーの/ etc / passwdに相当する有効なエントリが作成され、これを/ etc / passwdに貼り付けて、最後に使用するシェルの有効なパスのシェルを更新します。この方法では、すべてのユーザーに対して変更されるわけではなく、変更を行う前に、これを構成しているマシン上にシェルがあることを確認できます。


コピーして貼り付けたくない場合は、次を使用できますgetent passwd `id -un` | sudo tee -a /etc/passwd。すべてのシェルで動作するかどうかはわかりませんが、少なくともbashとtcshは問題ありません。
トムサリーバ

Windows ADドメインに接続されたRHEL 7ボックスでこれを行うと、/ etc / passwdファイルから行が削除されるまでサーバーからロックアウトされました...
Taegost

情報@Taegostをありがとう、RHELで試したことはありませんでした
ランブルズ

5

私はまったく同じ問題を抱えていました。ドメイン内のすべてのマシンにzshがインストールされているわけではなく、すべてのユーザーに影響を与えたくないため、最終的に.bashrcを追加しました。

if [ -x /usr/bin/zsh ]; then
  echo 'starting zsh'
  # export SHELL=/bin/zsh #edit: this is probably not what you want, see the comment.
  exec /usr/bin/zsh
fi

これは洗練されていないかもしれませんが、少なくとも仕事は完了しています。


私の仕事の誰かが最近似たようなことをしていましたが、彼はメソッドが.zshrcファイルをロードしないという問題を抱えていました。あなたの方法がその点で機能するかどうかはわかりませんが、試しましたか?また、SHELL変数はzsh binへのパスと同じではありません、それは正しいですか?私は、passwdファイルでそれを設定する私の方法に自分の設定を変更する
猫写真アーカイブ

興味深い-私の.zshrcは正しく読み込まれます。あなたの2番目の点について、それを埋めてくれてありがとう、それは私の側からの間違いでした。その答えは、ここを参照してください:unix.stackexchange.com/questions/330233/...
マッテオジアーニ

まあそれは間違いなくそれを行う1つの方法です、bashを起動せずにbshでzshをロードしないので、私はまだ受け入れられている答えと同じように/ etc / passwdファイルに設定することを好みますあなたの設定はbashシェルにドロップされますか?)-zshがインストールされていることを確認し、管理者が変更を加えることをユーザーに要求する必要があります
-Rumbles

/usr/bin/zsh使用exec /usr/bin/zshする代わりに、bashシェルプロセスをシェルプロセスに置き換えるために使用する方が良いとzsh思いませんか?
トリップキネティクス

@TrippKineticsが正しいと思います。
マッテオジャニ

2

sambaドメインコントローラーの構成を編集するアクセス権がある場合は、smb.confでシェルを設定できる次のプロパティを設定できます。

template shell    = /bin/zsh

zshがインストールされていないマシンにログインするとどうなるかわかりません(デフォルトではすべてのディストリビューションにzshがインストールされているわけではありません)

単に試してみたい場合は、zshと入力してサブシェルを取得してください。


感謝しますが、それは私のユーザーだけでなく、すべてのユーザーに影響しませんか?
ランブルズ

はい、これはすべてのユーザーに影響するグローバルパラメーターです。この場合、zshインストールしたすべてのユーザー。これを特定のユーザーに制限できるかどうかはわかりidmap uidませんが、それを可能にするパラメーターを確認します。
アルルセルバン

ありがとう、でもそれは私が望んでいることではない。全員のシェルを変更するのではなく、シェルを変更するだけです。ローカルのsmb.confでこの設定を変更しようとしましたが、再起動後は効果がありません
でした-Rumbles
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.