説明:
1、 このブログ投稿には、ユーザーの追加、ユーザーグループの追加、ユーザーの削除、ユーザーグループの削除など、CentOS7ユーザーアカウントの構成が記録されています。これには、ユーザーの構成ファイル、ディレクトリの分析、およびセキュリティについての検討が含まれます。
2、 ユーザー構成に関しては、CentOS7は以前のバージョンと何ら変わりはありません。
パート1ユーザーを知る
Centos 7システムは最小限のインストールであり、デフォルトの構成では、他のユーザーは作成されません。サーバーオペレーティングシステムとして、一般ユーザーは一般的に安全のために使用されます。これには、ユーザーとユーザーグループの作成と削除が含まれます。
さらに、他のバージョンのLinuxと同様に、CentOS 7には、対応するユーザー用の構成ファイルとディレクトリが次のようにあります。
/etc/passwd //ユーザーアカウント情報、ユーザー名を確認できます/etc/shadow //ユーザーアカウントの暗号化された情報(これに限定されません)/etc/passwdの情報/etc/group //グループアカウント情報、グループ名を確認できます/etc/gshadow //グループアカウントのセキュリティ情報(これに限定されません)/etc/グループ内の情報/etc/default/useradd //アカウント作成時のデフォルト値/etc/skel///デフォルトファイルを含むディレクトリ,具体的な役割は不明です/etc/login.defs //上記のセキュリティのデフォルト構成/etc/default/useraddは異なります
より重要な構成ファイル/ etc / default / useraddを見てみましょう。内容は次のとおりです。
# useradd defaults file
GROUP=100//開始GID値
HOME=/home //ホームディレクトリの場所
INACTIVE=-1//有効時間、負の値は永続的、正の数値は日数を表します
EXPIRE=
SHELL=/bin/bash //シェルパス
SKEL=/etc/skel //デフォルトの構成ファイルパス
CREATE_MAIL_SPOOL=yes //メールプールを作成するかどうか、特定の役割は後で学習します
/etc/login.defsファイルをもう一度見てみましょう。主な内容は次のとおりです。
MAIL_DIR /var/spool/mail
...
# Password aging controls:パスワード期間の構成
#
# PASS_MAX_DAYS Maximum number of days a password may be used.
# PASS_MIN_DAYS Minimum number of days allowed between password changes.
# PASS_MIN_LEN Minimum acceptable password length.
# PASS_WARN_AGE Number of days warning given before a password expires.
#
PASS_MAX_DAYS 99999
PASS_MIN_DAYS 0
PASS_MIN_LEN 8
PASS_WARN_AGE 7...
# Min/useraddでの自動uid選択の最大値最小値/最大UID設定
#
UID_MIN 1000//作成したユーザーのUIDは1000から始まります
UID_MAX 60000....
# Min/max values for automatic gid selection in groupadd
#
GID_MIN 1000
GID_MAX 60000....
CREATE_HOME yes //ホームディレクトリを作成するかどうか...
# Use SHA512 to encrypt password.//SHA512暗号化を使用する
ENCRYPT_METHOD SHA512
ファイルの内容から、/ etc /login.defsはセキュリティに重点を置いた比較的マクロな構成であることがわかります。
実際のプロセスで一般的に使用されるコマンドは次のとおりです。
useradd //ユーザーを追加する
passwd //ユーザーのパスワードを設定する
userdel //ユーザーを削除する
usermod //ユーザー情報を変更する
groupadd //ユーザーグループを追加
groupdel //ユーザーグループを削除する
groupmod //ユーザーグループ情報を変更する
groups //現在のプロセスのユーザーが属するユーザーグループを表示します
パート2ユーザーの作成
例1:ユーザーを作成する最も簡単な方法
次のコマンドを実行します。
useradd test
passwd test
例を図に示します。システムは長さや複雑さなどのパスワードを制限しますが、作成には影響しません。それは「暖かいリマインダー」として理解することができます。
testという名前のそのようなユーザーが作成されました。プロパティを見てみましょう。
コマンドを実行します:id test //ユーザー情報を表示します
テストユーザーグループにあるテストuid = 1000、gid = 1000は、パラメーターがない新しいユーザーがユーザー名と同じ名前の新しいユーザーグループを作成し、デフォルトで参加することを示しています。また、UIDとGIDの値、およびデフォルトも確認されました。構成ファイルでも同じままにします。構成ファイルが有効であることがわかります。新しいユーザーを作成することもできます。UIDとGIDの値を見ると、1001であることがわかります。試してみることができます。 / homeディレクトリに切り替えて、構成ファイルの設定と一致するユーザーディレクトリを確認できます。
例2:パラメータを使用してアカウントを作成する
前の例では、デフォルトの構成を使用しましたが、ユーザー名とパスワードを設定しました。今回は、UID、GIDなどを手動で設定します。まず、次のように、useraddのパラメーターを見てみましょう。
- b,--base-dir BASE_新しいDIRアカウントのホームディレクトリのベースディレクトリ
- c,--新しいアカウントのコメントコメントGECOSフィールド
- d,--home-dir HOME_新しいDIRアカウントのメインディレクトリ
- D,--defaultsは、デフォルトのuseradd構成を表示または変更します
- e,--expiredate EXPIRE_DATE新しいアカウントの有効期限
- f,--非アクティブINACTIVEパスワード新しいアカウントの非アクティブ期間
- g,--gidGROUP新しいアカウントマスターグループの名前またはID
- G,--groupsGROUPS新しいアカウントの追加のグループリスト
- h,--このヘルプ情報を表示して起動するのに役立ちます
- k,--skel SKEL_DIRはこのディレクトリをスケルトンディレクトリとして使用します
- K,--key KEY=VALUEは使用されていません/etc/login.defsのデフォルト値
- l,--no-log-initは、このユーザーを最近のログインおよびログイン失敗データベースに追加しません
- m,--create-homeはユーザーのホームディレクトリを作成します
- M,--no-create-homeはユーザーのホームディレクトリを作成しません
- N,--no-user-グループは同じ名前のグループを作成しません
- o,--non-一意の重複したUIDを持つユーザーを作成できます
- p,--passwordPASSWORD暗号化された新しいアカウントのパスワード
- r,--systemシステムアカウントを作成します
- R,--root CHROOT_ディレクトリへのDIRchroot
- s,--shellSHELL新しいアカウントのログインシェル
- u,--uidUID新しいアカウントのユーザーID
- U,--user-groupユーザーと同じ名前のグループを作成します
- Z,--selinux-ユーザーSEUSERは、SELinuxユーザーマッピングにSEUSERを指定します
UID = 501、GID = 600、30日間の有効期間、およびホームディレクトリ/ home / test5を使用して新しいユーザーtest4を作成します。
コマンド:
groupadd -g 600 test3 //GIDを作成する=600ユーザーグループテスト3
useradd -u 501-g 600-f 30-m -d /home/test5 test4
ユーザーファイル/ etc / passwdまたはidtest4を再度開くと、独自の構成が表示されます。
uid = 501(test4)gid = 600(test3)group = 600(test3)
3番目の部分はユーザー設定を変更します
ログインを許可するかどうかにかかわらず、ユーザーごとに必要な権限、シェルは異なります。この部分では、usermodコマンドを使用してユーザー構成を変更する必要があります。前の例でテストアカウントを作成しました。デフォルトのSHELLは/ bin / bashで、ログインできます。
ログイン禁止:
usermod -s /sbin/nologin test //-sはシェルを指定します
ユーザー名の変更:
usermod -l test88 test //-l新しいユーザー名
さらに、ホームディレクトリ、有効期限、グループの変更、ユーザーのロック、ユーザーのロック解除などのパラメータプラクティスを表示することもできます。
パートIVユーザー/グループの削除
エラーのあるユーザー/グループを作成する場合、ユーザー/グループを削除してから再作成する場合があります。 userdelコマンドを使用してユーザーを削除します。
注文の実行:
[ root@localhost home]# userdel test
[ root@localhost home]# useradd test
useradd:警告:このホームディレクトリはすでに存在します。
skelディレクトリからそのディレクトリにファイルをコピーしないでください。
メールボックスファイルの作成:ファイルが既に存在します
この問題は、ユーザーを削除したときに、セキュリティ上の理由からシステムが関連するファイルとディレクトリを削除しなかったために発生しました。 userdelパラメーターを確認してみましょう。
使用法:userdel[オプション]ログインする
オプション:
- f,--force force some actions that would fail otherwise
e.g. removal of user still logged in
or files, even if not owned by the user
- h,--このヘルプ情報を表示して起動するのに役立ちます
- r,--削除ホームディレクトリとメールプールの削除
- R,--root CHROOT_ディレクトリへのDIRchroot
- Z,--selinux-ユーザーは、ユーザーのすべてのSELinuxユーザーマッピングを削除します
パラメータ-rfを使用して、関連するファイルディレクトリを削除できます。この手順は危険です。ロールバック操作があるかどうかは明確ではありません。
注文の実行:
[ root@localhost home]# userdel -rf test
[ root@localhost home]# useradd test
このように、プロンプトはありません。
パート5ユーザーセキュリティ構成
オペレーティングシステムのセキュリティでは、ユーザー権限とファイル権限も非常に重要です。ここで、いくつかの小さなポイントを記録します。今回の主な目的は、rootユーザーが接続できないようにし、一般ユーザーがsudoコマンドを使用して権限を上げることを禁止することです。最後のステップで、テストユーザーを作成しました。sudoコマンドを入力すると、次のプロンプトが表示されます。
テストはsudoersファイルにありません。この件は報告されます。
この問題を解決するには、/ etc / sudoersにユーザーテストを追加するだけで済みます。コードは次のとおりです。
//次の行を見つけて、下に追加します.....
root ALL=(ALL) ALL
test ALL=(ALL) ALL //この行が追加されます
これで問題が解決するはずです。
新しい追加:仮想マシンにCentOS 7を再インストールし、少し実験しましたが、実際に成功しました。 / etc / sudoers属性は次のとおりです。
**setUID権限があれば、どのユーザーにもx(実行)権限があるので、sudoコマンドを実行できます。次の内容は、setUID権限の理解と見なされます。 ****
ps。他の部分はインターネット上の情報に基づいて設定されていますが、影響は感じられないため、改訂された部分とその目的を以下に掲載します。
//ファイルを変更する/usr/bin/sudoユーザーとユーザーグループ
chown root:root /usr/bin/sudo
//変更権限は4755であり、そのうち4はファイル所有者としての実行を表します。
chmod 4755/usr/bin/sudo
上記のコマンドは、ファイル/ usr / bin / sudoの所有者をrootに変更し、実行時にrootとして実行することを意味します。これは「4」の意味でもあります。権限を設定するときに「4755」を755に設定しないと、このエラーが発生します。
sudo:有効なユーザーIDは0ではありません。sudoはrootに属し、setuidビットを設定しますか?
解決策は、今述べたようにルート(uid = 0)として実行することです。
実際の環境では、ハッカーがルートアカウントを強引にクラックするのを防ぐために、通常、ルートアカウントのSSHリモート接続を禁止しています。操作は次のとおりです。
//変更する/etc/ssh/sshd.構成ファイル、
意志
# PermitRootLogin yes
着替える
PermitRootLogin no
//sshdサービスを再起動します
systemctl restart sshd.service
注:CentOS 7はサービスの使用をキャンセルします。それでも使用できる場合もありますが、最初にsystemctlを使用します。
また、最も重要なことは、異なるユーザー間での権限の分散だと思います。一時的に残し、後で実際の状況に基づいてメモを追加します。
みなさん、パラメータや実情に合わせて設定することもできます。誰もがお互いにコミュニケーションをとることができます。
( adsbygoogle = window.adsbygoogle || []).push({});
Recommended Posts