GNU/Linux >> Linux の 問題 >  >> Linux

Linuxユーザー環境をカスタマイズする方法

システムのセキュリティは大きな懸念事項です。システム管理者として、私が前に述べたように、それはあなたの主な関心事です。システムにユーザーを追加すると、セキュリティが低下します。あなたの仕事は、ユーザーにとって使いやすく安全な環境を作ることです。保護する企業資産、維持するシステム、満足するユーザーがいます。ご存知のように、システム管理のこれら3つの側面の間にはしばしば矛盾があります。 3つすべてを満たす1つの方法は、企業標準を実装および適用することにより、ユーザーの環境をカスタマイズすることです。ユーザーの生産性とシステムセキュリティのバランスをとることは簡単ではありません。特定の状況に合わせて仕様を書くことはできませんが、必要な変更を加える場所を示して、それができるようにすることはできます。

この記事では、/etc/skelにあるファイルを使用してユーザーの環境をカスタマイズする方法について説明します。 および/etc/profile.d ディレクトリ。システムを新しくインストールすると、 / etc / skel:の下に3つのファイルがあります。 .bash_logout.bash_profile 、および.bashrc 。システムで新しいユーザーアカウントを作成すると、これら3つのファイルがユーザーのホームディレクトリにコピーされ、ユーザーが所有します。わからない場合は、いわゆる dot ファイル(前にドット(。)が付いた名前のファイルは、標準のファイルリストから非表示になります。ファイルを表示するには、-aを使用する必要があります。 lsコマンドで切り替えます。

-rw-r--r--.  1 root root   18 Mar 31 21:17 .bash_logout
-rw-r--r--.  1 root root  193 Mar 31 21:17 .bash_profile
-rw-r--r--.  1 root root  231 Mar 31 21:17 .bashrc

ご覧のとおり、これらのファイルはrootが所有しており、rootユーザーのみが編集または変更できます。

.bash_profile

.bash_profile ファイルは、リストされている3つのファイルの中で最も重要です。これは、リスト内の唯一の「必須」ファイルであるため、最も重要です。ユーザーがシステムにログインするたびに実行され、.bashrcを起動します。 ファイルを作成し、PATH変数を定義してエクスポートします。デフォルト設定はシンプルです。

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
	. ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/.local/bin:$HOME/bin

export PATH

.bash_profile カスタムシェルプロンプトを定義したり、選択したエディターを定義したり、ユーザーのファイルに配置したいその他のものを定義したりするためにも使用できます。

[次のこともお勧めします:Linux環境変数のヒントとコツ]

.bashrc

.bashrcファイルの内容は、デフォルトでは、/etc/bashrcのみを呼び出します。 ファイル。 /etc/bashrc ファイルは、すべてのユーザーに対して構成できる設定で構成されています。

# .bashrc

# Source global definitions
if [ -f /etc/bashrc ]; then
	. /etc/bashrc
fi

# Uncomment the following line if you don't like systemctl's auto-paging feature:
# export SYSTEMD_PAGER=

# User specific aliases and functions

特定のユーザーグループ用に構成された他のファイルを呼び出すこともできます。たとえば、ユーザーが財務グループのメンバーである場合、ファイルを呼び出して、財務グループのすべてのユーザーに特定の変数のセットを設定できます。

/ etc/bashrcおよび/etc/ profile

/etc/bashrcのリスト この会場には長すぎますが、それを見て、それが何をするのかを見ることができます。 /etc/bashrc ファイルは/etc/profileを参照します その他の環境変数と設定については、ファイルを参照してください。どちらのファイルにも次の警告があります。

# It's NOT a good idea to change this file unless you know what you
# are doing. It's much better to create a custom.sh shell script in
# /etc/profile.d/ to make custom changes to your environment, as this
# will prevent the need for merging in future updates.

つまり、ユーザー環境のカスタマイズは思ったほど簡単ではありません。

/etc/profile.d

/etc/profile.dにファイルをリストする場合 、次のように表示されます:

-rw-r--r--.  1 root root  771 Mar 31 21:50 256term.csh
-rw-r--r--.  1 root root  841 Mar 31 21:50 256term.sh
-rw-r--r--.  1 root root  196 Mar 24  2017 colorgrep.csh
-rw-r--r--.  1 root root  201 Mar 24  2017 colorgrep.sh
-rw-r--r--.  1 root root 1741 Aug  6  2019 colorls.csh
-rw-r--r--.  1 root root 1606 Aug  6  2019 colorls.sh
-rw-r--r--.  1 root root   80 Mar 31 23:29 csh.local
-rw-r--r--.  1 root root 1706 Mar 31 21:50 lang.csh
-rw-r--r--.  1 root root 2703 Mar 31 21:50 lang.sh
-rw-r--r--.  1 root root  123 Jul 30  2015 less.csh
-rw-r--r--.  1 root root  121 Jul 30  2015 less.sh
-rw-r--r--.  1 root root   81 Mar 31 23:29 sh.local
-rw-r--r--.  1 root root  164 Jan 27  2014 which2.csh
-rw-r--r--.  1 root root  169 Jan 27  2014 which2.sh

多くのファイルがCシェルで使用されていることがわかります。この記事の焦点として最も重要なファイルはsh.localです。 。 sh.localの内容 以下にリストされています。

#Add any required envvar overrides to this file, it is sourced from /etc/profile

メッセージからわかるように、現在構成されているenvvar(環境変数)エントリを企業標準で上書きする場合は、このファイルにエントリを作成してください。

警告

ユーザーが自分の環境やGoogleのことについてさらに学ぶにつれて、ユーザーは自分自身をカスタマイズします。多くの場合、ユーザーは不利益を被ります。自由放任主義のシステム管理者と強引な独裁者のシステム管理者との間でバランスを取る必要があります。ユーザーの生産性を高めながら、自分の環境をある程度制御できるようにする必要があります。双方を満足させるための私の提案は、すべての企業標準ユーザー環境パラメーターを/etc/bashrcに設定することです。 および/etc/profile.d/sh.local 編集または変更したくないこと。

/home/user/.bash_profileであることを認識してください 、.bashrc 、および.bash_logout ユーザーが編集可能なファイルです。これを回避する唯一の方法は、アカウントを作成した後、rootユーザースクリプトを使用してこれらのファイルのアクセス許可を変更することです。つまり、ユーザーアカウントを作成した後でスクリプトを実行して、/home/user/.bash*の権限を変更します。 root: rw-r--r-- 。ユーザーはファイルを変更できなくなります。

.bash*を変更して環境をロックダウンする場合 ファイルをルート所有権にすると、/etc/skelに新しいファイルを作成できます。 .userなど ユーザーが編集して.bash_profileに含めることができるファイル ファイル。

[セキュリティについてもっと知りたいですか? ITセキュリティとコンプライアンスのチェックリストを確認してください。 ]

まとめ

ユーザーの環境をカスタマイズすることで、システムのセキュリティを強化し、ユーザーに表示される内容とシステムとの対話方法を標準化できます。本番システムへのシェルアクセスを許可することには独自の意味がありますが、ユーザーの生産性を最大化し、システムのセキュリティを最大化するには、ユーザーにリソースを提供する必要があります。その完璧なバランスを見つけたら、EnableSysadminの記事にそれを書き込んでください。私自身の経験では、すべてのユーザーは、自分たちが企業標準の例外であると感じており、まもなく、多数の例外が発生し、企業標準はまったくなくなります。


Linux
  1. Linuxでユーザー名を変更する方法

  2. Linuxですべてのファイルをサイズ別に一覧表示または並べ替える方法

  3. Linuxでユーザーをグループに追加する方法

  1. LinuxでユーザーのSudo権限を設定する方法

  2. Linuxマシンでrootユーザーのリモートログインを無効にする方法

  3. Linux マシンで root ユーザーとして Elasticsearch 2.1.1 を実行する方法

  1. LinuxでBashプロンプトをカスタマイズする方法

  2. KaliLinuxでroot権限をユーザーに提供する方法

  3. Linuxでユーザーを一覧表示する方法