ユーザーアカウントのプロフィール
rootユーザーがシステムの経営トップであるシステムを、ログに記録するだけで、ユーザーアカウントの資格情報で、ユーザーのUIDは、ユーザーおよびグループアカウント設定ファイルに関連付けられている、0であり
- / etc / passwdファイル
- の/ etc /影
- / etc / groupを
- の/ etc / gshadowの
ユーザーアカウントカテゴリー
- rootユーザー
また、スーパー管理者として知られている最高の権限を持つユーザーIDのルートUID UID = 0、によって、ユーザーの役割。(通常のシステムの許容範囲内)ファイルやディレクトリのすべてのユーザーとグループを超えて、読み取り、変更、および削除持ち、実行可能プログラムの実行や終了を制御することができ、あなたが、実行の作成および削除するためにハードウェアデバイスを追加することができますおよびその他の操作、プロパティも変更することができ、ファイルやディレクトリのパーミッションは、システム管理のニーズを満たすために。
- システムユーザー
また、仮想ユーザー、ユーザー擬似または偽のユーザーとしても知られ、そのようなユーザーは、Linuxシステムにログオンする能力を持っていないだけで、ユーザーがあるなど、ビン、デーモン、ADM、FTP、メール、などのシステム・ユーザーを、実行することが不可欠ですシステム自体は、システムのユーザのUIDは999から1でました。
- 普通のユーザー
このタイプのユーザーは、作成するために、制限された権限のシステムを使用して、独自のコンテンツのディレクトリを操作することができ、システム管理者です。60,000 1000の一般的なユーザーのUID。
/ etc / passwdファイル
すべてのユーザーは、/ etc / passwdファイルの内容を読み取ることができます。例えば:
[root@localhost ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin sync:x:5:0:sync:/sbin:/bin/sync shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown halt:x:7:0:halt:/sbin:/sbin/halt mail:x:8:12:mail:/var/spool/mail:/sbin/nologin operator:x:11:0:operator:/root:/sbin/nologin games:x:12:100:games:/usr/games:/sbin/nologin ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin nobody:x:99:99:Nobody:/:/sbin/nologin systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin dbus:x:81:81:System message bus:/:/sbin/nologin polkitd:x:999:998:User for polkitd:/:/sbin/nologin sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin postfix:x:89:89::/var/spool/postfix:/sbin/nologin chrony:x:998:996::/var/lib/chrony:/sbin/nologin linux:x:1000:1000:linux:/home/li:/bin/bash
フィールド | フィールド意味 |
---|---|
ユーザー名 | また、ログイン名を呼ばれ、システム内のユーザー名は一意である必要があります。本実施形態では、Liがユーザ名 |
パスワード | ストアのxを参照して、ユーザパスワードを暗号化し、実際には、パスワードは/ etc / shadowファイルにマッピングされています |
ユーザ識別番号(UID) | 整数は、ユーザIDを特定することにより、システムにおいて、各ユーザのUIDが一意である、rootユーザーのUIDが1000から通常のユーザUIDのデフォルトの開始、蓋ユーザのUID 1000の本実施形態0であります |
グループ識別番号(GID) | ユーザを識別する整数システムID番号内の主要なグループに属し、GIDの各グループは固有のものです |
フルネームをユーザー名 | ユーザー名説明、提供することはできません。本実施形態では、(ユーザーのフルネームのusermodの-cユーザ名を使用して)LinuxユーザーのフルネームのLinuxユーザは、ユーザのフルネームを変更することができます。 |
ホームディレクトリ | システム最初のディレクトリにユーザーがログインした後に、ユーザのホームディレクトリにlinuxは/ home /李 |
ログインシェル | シェル型、Linuxのユーザーは、システムのデフォルトのシェルを使用している/ binに/ bashの |
ユーザーUID
これは、ユーザID、一意性、60,000 UID範囲0を識別する。いくつかのコマンドは、UIDがシステムの最大値を使用して表示することができます
[root@localhost ~]# cat /etc/login.defs |grep UID_MAX
UID_MAX 60000
SYS_UID_MAX 999
ルートのスーパー管理者ユーザーは、ユーザーのUIDが0で変更した場合、ユーザーは、rootユーザーの権限を使用してくださいます。
/ etc / shadowファイル
文書が含まれます:ユーザーと暗号化されたパスワード、およびその他の/ etc / passwdファイルなどのユーザーアカウントの有効期限などのコンテンツが含まれていません。これは、/ etc / passwdファイルshadowファイルである、が、/ etcによって/補完関係に対応して作成passwdにありません。/ rootだけでetc / shadowファイルには、これは非常に危険なことができ、読み、操作し、ちょうど他のユーザーを読み取るために、ファイルのパーミッションを変更することはできません。/ etc / shadowファイルには、あなたは9ダン、ダンの間で、それぞれを含めることができます「:」部門、次はファイルの中身のは/ etc /影の部分です。
[root@localhost ~]# cat /etc/shadow
root:$6$M/6IGwJsnpEbbRVM$QIVH755.NUulvLKYT40jztl8bpHenliMuLu.ijsfuAXDss3OYlfXQBAg7rYvAG0e1vIXD1Jw7V4YTA46zjvY30::0:99999:7::: bin:*:17834:0:99999:7::: daemon:*:17834:0:99999:7::: adm:*:17834:0:99999:7::: lp:*:17834:0:99999:7::: sync:*:17834:0:99999:7::: shutdown:*:17834:0:99999:7::: halt:*:17834:0:99999:7::: mail:*:17834:0:99999:7::: operator:*:17834:0:99999:7::: games:*:17834:0:99999:7::: ftp:*:17834:0:99999:7::: nobody:*:17834:0:99999:7::: systemd-network:!!:18056:::::: dbus:!!:18056:::::: polkitd:!!:18056:::::: sshd:!!:18056:::::: postfix:!!:18056:::::: chrony:!!:18056:::::: linux:$6$BHFHeYTp$5BT6uGhmira9H/Qr9FJAJy/0VeRnXwVq9/NRebt.n18wJRGfm.q52IEnbXyoqbzwmZ2saeumlookJtNvv0uzJ1:18058:0:99999:7:::
フィールド | フィールド意味 |
---|---|
ユーザー名 | ここでは、ユーザー名とユーザー名は/ etc / passwdに |
暗号化されたパスワード | パスワードや暗号化なども、一部のユーザーがここに示されている「!!」、それはユーザーがパスワードを設定していないことを意味し、あなたは、システムにログインすることはできません |
ユーザーがパスワードを変更する最後の時間 | 1970年1月1日の日付からの最後の時間にパスワードが日間隔の数でした。 |
交換前の日のパスワードの許容数 | 0に設定すると、この機能は無効になっています。このフィールドは、ユーザーがパスワードを変更できる日数です |
日数パスワードを交換する必要があります | 0に設定すると、この機能は無効になっています。このフィールドは、ユーザーがパスワードを変更しなければならないこと日数です |
パスワードの交換前の警告の日数 | システム内のユーザーがログインした後、システムのログインプログラムは、新しいユーザーのパスワードが期限切れになる発行します |
アカウントが数日前にキャンセルされた活性化 | ユーザーのパスワードの有効期限が切れるまでの日数を表し、システムがこのユーザーを無効にします、このシステムは、ユーザーが期限切れを求められることはありません、それは完全に無効化され、ユーザがログインできるようになることを意味します。 |
ユーザーアカウントの有効期限 | このフィールドが空の場合、アカウントは永久に利用できる、(無効考慮して数日開始し1970年1月1日から)無効なユーザーアカウントを指定した日数。 |
予約フィールド | 現在空、使用の準備ができたときに、将来のLinuxシステムの開発。 |
ユーザー・アカウントの設定
- useraddの
- USERMOD
- userdelの
アカウントを作成します。
新しいアカウントを作成--->新しいデフォルト・アカウントを作成するには、新しいユーザー、グループ、ホームディレクトリとログインシェルや他のリソースに対するユーザのUIDを割り当てますがロックされている、あなたが使用することはできません、あなたはパスワードを設定するには、passwd後にディレクトリを使用する必要があります。ユーザーアカウントを作成すると、/ etc / passwdファイルにある、は、/ etc / shadonを更新中および/ etc / groupファイルを新しいユーザーのためのレコードを追加
構文:useraddの[オプション] [ユーザー名]
オプション | 意味 |
---|---|
-d(ホームディレクトリ) | 使用される各新しいアカウントのログインディレクトリに注意してください。 |
-e(有効期限) | アカウントの有効期限を設定し、加えて、ユーザは、停止日を占め、日付の形式は、MM / DD / YYです |
-f(有効期限) | 失敗した状態に設定されたパスワードの有効期限パスワード日後の数を設定 |
-c(ユーザ名フルネーム) | ユーザーアカウントのユーザー名のフルネームを設定します |
-g(主にグループ名) | メイングループ指定されたユーザーアカウントが属しています。グループ名は、既存のプレゼンスの名前でなければなりません。 |
-G(セカンダリグループ名) | ユーザーアカウントが、二次の複数のグループのメンバーであることを指定します。各グループの使用「」分離します |
-m | それが存在しない場合は、ユーザーのホームディレクトリが自動的に作成されます |
-M | それはに/etc/login.defs文書は、ユーザーのホームディレクトリを確立するために設定した場合でも、ユーザのホームディレクトリを作成しません。 |
-r | システムのユーザーアカウントを作成します。それはないファイルに/etc/login.defsで定義された値に応じて、ユーザのホームディレクトリを作成しません。 |
-s(シェル型) | ログインユーザを使用して、シェル型 |
-u(ユーザUID) | ユーザーのUID値。デジタルは負にすることはできません |
例:ユーザーアカウントとパスワードを作成しますzhangsan
[root@localhost ~]# useradd zhangsan
[root@localhost ~]# cat /etc/passwd|grep zhangsan
zhangsan:x:1001:1001::/home/zhangsan:/bin/bash [root@localhost ~]# passwd zhangsan
ユーザーアカウントのパスワードの比較、およびパスワードが設定されていません
root@localhost ~]# useradd lisi
[root@localhost ~]# useradd wangwu
[root@localhost ~]# passwd wangwu
Changing password for user wangwu.
New password: BAD PASSWORD: The password is shorter than 8 characters Retype new password: passwd: all authentication tokens updated successfully. [root@localhost ~]# cat /etc/passwd|grep lisi lisi:x:1002:1002::/home/lisi:/bin/bash [root@localhost ~]# cat /etc/shadow|grep lisi lisi:!!:18097:0:99999:7::: [root@localhost ~]# cat /etc/passwd|grep wangwu wangwu:x:1003:1003::/home/wangwu:/bin/bash [root@localhost ~]# cat /etc/shadow|grep wangwu wangwu:$6$VO0QCht/$XMMLXG/GkOn7YaInrquUnjzDSiju.JzZhYodLIAPZ2uR5BOHXRcWOTAJ/mXPLQGG4AnHNOQMKJENQio8Bedst1:18097:0:99999:7:::
表示するには、/ etc / shadowファイル「!」のユーザーリージのパスワードフィールドに表示され、ユーザーがパスワードを設定していないことを示すをチェックし、あなたは、Linuxシステムにログインすることはできません。
/ etc / shadowファイルをチェックし、パスワードフィールドは、パスワードを暗号化されてwangwuユーザーに表示され、パスワードはユーザーがLinuxシステムにログインできることを意味します。
例:ユーザーの月を作成し、ユーザーのUID 1010を設定します
[root@localhost ~]# useradd -u 1010 moon
[root@localhost ~]# cat /etc/passwd|grep moon
moon:x:1010:1010::/home/moon:/bin/bash
例:ユーザーNEWUSERを作成し、ユーザのホームディレクトリは/ホーム/ WWWで設定します
[root@localhost ~]# useradd -d /home/www newuser
[root@localhost ~]# cat /etc/passwd|grep newuser
newuser:x:1011:1011::/home/www:/bin/bash
図では、ユーザのホームディレクトリのNEWUSERは/ www /の家であることを示しています
[root@localhost ~]# ls -l /home
total 0
drwx------. 2 linux li 83 Jun 11 09:42 li drwx------. 2 lisi lisi 62 Jul 20 05:06 lisi drwx------. 2 1004 1004 62 Jul 20 05:13 moon drwx------. 2 wangwu wangwu 62 Jul 20 05:06 wangwu drwx------. 2 newuser newuser 62 Jul 20 05:19 www drwx------. 2 zhangsan zhangsan 62 Jul 20 05:01 zhangsan
長いlsコマンドを使用して、ユーザーを作成する際、ユーザーのホームディレクトリを表示して作成することができます
例:ユーザーPPを作成し、ユーザがグループ・ルートのメンバーであることを指定します。
[root@localhost ~]# useradd -g root pp
[root@localhost ~]# cat /etc/passwd|grep pp
pp:x:1012:0::/home/pp:/bin/bash
显示用户pp的GID字段是0,0为root组群的GID.下面使用id命令,显示用户pp是属于组群root的成员。
[root@localhost ~]# id pp
uid=1012(pp) gid=0(root) groups=0(root)
修改用户账户
命令语法:usermod [选项] [用户名]
选项 | 含义 |
---|---|
-G | 修改用户所属的次要组群(附加组群) |
-l(新登录名) | 修改用户账户名称 |
-L | 锁定用户密码,使密码无效 |
-s(shell类型) | 修改用户登录后使用的shell。如果没有,系统将选用系统预设的shell |
-U | 解除密码锁定 |
-u | 修改用户的UID |
-C | 修改用户账户的用户名全称 |
-d | 修改用户登录时的主目录,如果指定-m选项,用户旧目录会移动到新的目录中,如旧目录不存在,则新建目录.单独使用-d时,必须使用mkdir命令手动创建主目录。 |
-e | 修改账户的有效期限,加上用户账户停止日期,日期格式为MM/DD/YY |
-f | 修改在密码过期后多少天即设定密码为失效状态 |
-g | 修改用户所属的主要组群,组群名必须已存在 |
-o | 允许使用重复的UID |
-m | 移动主目录的内容到新的位置 |
例子:修改用户王五的主目录为/home/opop,并自动创建/home/opop
[root@localhost ~]# ls /home
li lisi moon pp wangwu www zhangsan
[root@localhost ~]# cat /etc/passwd|grep wangwu
wangwu:x:1003:1003::/home/wangwu:/bin/bash [root@localhost ~]# usermod -d /home/opop -m wangwu [root@localhost ~]# ls /home li lisi moon opop pp www zhangsan [root@localhost ~]# cat /etc/passwd|grep wangwu wangwu:x:1003:1003::/home/opop:/bin/bash
例子:修改用户zhangsan账户的过期日期为2028年12月12日
[root@localhost ~]# cat /etc/shadow|grep zhangsan
zhangsan:$6$0ac0Spe6$TjT3lG36EEZTXhU/2d6ecpDRC0.mJXB/UJvHkgrF0FxYd6iSnCD2Zfq2br/rpNrCfjtkWTJmcdNLkug1mH3l3.:18097:0:99999:7::: [root@localhost ~]# usermod -e 12/12/2028 zhangsan [root@localhost ~]# cat /etc/shadow|grep zhangsan zhangsan:$6$0ac0Spe6$TjT3lG36EEZTXhU/2d6ecpDRC0.mJXB/UJvHkgrF0FxYd6iSnCD2Zfq2br/rpNrCfjtkWTJmcdNLkug1mH3l3.:18097:0:99999:7::21530:
查看/etc/shadow文件,显示用户zhangsan的账户过期日期以及更改,21530是2028年12月12日减去1970年1月1日的天数
例子:修改用户zhangsan的shell类型为/bin/ksh
[root@localhost ~]# cat /etc/passwd|grep zhangsan
zhangsan:x:1001:1001::/home/zhangsan:/bin/bash [root@localhost ~]# usermod -s /bin/ksh zhangsan [root@localhost ~]# cat /etc/passwd|grep zhangsan zhangsan:x:1001:1001::/home/zhangsan:/bin/ksh
删除用户账户
命令语法:userdel [选项] [用户名
选项 | 含义 |
---|---|
-r | 在删除用户是,把用户的主目录和本地邮件存储的目录或文件一同删除 |
-f | 强制删除用户 |
例子:删除用户lisi
[root@localhost ~]# userdel lisi
userdel: user 'lisi' does not exist
[root@localhost ~]# ls /home li lisi moon opop pp www zhangsan
使用userdel命令删除用户账户并不会删除该用户的主目录
例子:删除用户moon,并且在删除该用户的同时一起主目录
[root@localhost ~]# ls /home
li lisi moon opop pp www zhangsan
[root@localhost ~]# userdel -rf moon
[root@localhost ~]# ls /home li lisi opop pp www zhangsan
组群账户
含义:具有某种共同特征的用户集合就是组群。
- 分类法一
私有组群:当创建一个新的用户账户时,如果没有指定该用户属于哪一个组群,那么linux就会创建一个和该用户同名的组群,在这个私有组群中只包含这个用户。
标准组群:普通组群,可以包含多个用户账户,如果使用标准组群,那么在创建一个新的用户账号时,一个指定该用户属于那个组群。
两者关系:当把其他用户加入到私有组群中,那么这个私有组群就变成标准组群了。
- 分类法二
主要组群:当一个用户账号属于多个组群成员时,登录后所属的组群是主要组群,其他的组群是次要的组群,一个用户账户只能属于一个主要组群。
次要组群:也称附加组群,一个用户账号可以属于多个次要组群。
配置文件
- /etc/group
文件内容包括组群名、组群密码、GID及该组群所包含的用户,每个组群一条记录,一行有4隔断我,每个段位用“:”分隔。
字段 | 含义 |
---|---|
组群名 | 组群名称,如组群名root |
组群密码 | 存放加密的组群密码,看到一个x,密码已被映射到/etc/gshadow文件中 |
组群标识号(GID) | 在系统内用一个整数标识组群GID,每个组群的GID都是唯一的,默认普通组群的GID从1000开始,root组群的GID是0 |
组群成员 | 属于这个组群的成员,如root组群的成员只有root |
组群GID:类似UID,是一个0开始的正整数,GID为0的组群是roo组群。linux会预留GID号1~999给系统虚拟组群使用,创建新组群GID是从1000开始的,查看系统创建组群默认的GID 范围应该查看/etc/login.defs中的GID_MIN和GID_MAX值,可以使用以下命令查看
[root@localhost ~]# cat /etc/login.defs|grep GID
GID_MIN 1000
GID_MAX 60000
SYS_GID_MIN 201
SYS_GID_MAX 999
- /etc/gshadow 含义:/etc/gshadow是/etc/group的加密文件,组群密码就是存放在这个文件中。两者是互补的两个文件;每个组群都有一条记录,一行有4个段位,每个段位用":"分隔。
字段 | 含义 |
---|---|
组群名 | 组群的名称 |
组群密码 | 密码已经加密,如果有些组群在这里显示的是"!",表示这个组群没有密码。本例中组群zhangsan没有密码。 |
组群管理者 | 组群的管理者有权在该组群中添加、删除用户 |
组群成员 | 属于该组群的用户成员列表,如果有多个用户则用逗号分隔 |
组群的账户设置
- groupadd
- groupmod
- groupdel
1.创建组群账户 命令语法:groupadd [选项] [组群名]
选项 | 含义 |
---|---|
-g | 为组群设置GID |
-r | 创建系统组群 |
-o | 允许使用和别的组群相同的GID创建组群 |
-f | 即使组群已经存在,还是强制创建组群 |
-p | 为新组群设置加密的密码 |
例子:创建名为ou的组群,并且设置该组群的GID为1300
[root@localhost ~]# groupadd -g 1300 ou [root@localhost ~]# cat /etc/group|grep ou dialout:x:18: systemd-journal:x:190: ou:x:1300:
创建名为chinese的系统组群
[root@localhost ~]# groupadd -r chinese
[root@localhost ~]# cat /etc/group|grep chinese
chinese:x:995:
2.修改组群账户 命令语法:groupmod [选项] [组群名]
选项 | 含义 |
---|---|
-g | 设置组群GID |
-o | 重复使用组群GID |
-n | 更改组群名称 |
例子:修改组群ou的新组群名为shanghai
[root@localhost ~]# groupmod -n shanghai ou
[root@localhost ~]# cat /etc/group|grep shanghai
shanghai:x:1300:
3.删除组群账户 命令语法:groupdel [组群名] 例子:删除组群shanghai
root@localhost ~]# groupdel shanghai
[root@localhost ~]# cat /etc/group|grep shanghai
用户和组群账户维护
- passwd
- gpasswd
- su newgrp
- groups
- id
命令语法:passwd [选项] [用户名]
选项 | 含义 |
---|---|
-d | 删除用户密码,仅能以root用户操作 |
-k | 保持身份验证令牌不过期 |
-l | 锁住用户账户的密码 |
-u | 为用户账户解除密码 |
-e | 终止指名账户的密码 |
-x | 密码的最长有效时限(天) |
-n | 密码的最短有效时限(天) |
-w | 在密码过期前多少天开始提醒用户 |
-i | 当密码过期后结果多少天该账户会被禁用 |
-S | 查询用户的密码状态 |
-f | 强制执行操作 |
命令语法:gpasswd [选项] [组群名]
选项 | 含义 |
---|---|
-a | 将一个用户加入到一个组群中 |
-d | 将一个用户从一个组群中删除掉 |
-r | 取消一个组群的组群密码 |
-R | 限制其成员访问组 |
-A | 指定组群的管理员 |
-M | 设置组群的成员列表 |
命令语法:su [选项] [用户]
选项 | 含义 |
---|---|
- | 改变登陆shell |
-l | 登陆并改变用户shell环境 |
-f | 适用于csh与tsch,使shell不用去读取启动文件 |
-m | 不设置环境变量 |
-s | 指定要执行的shell类型 |
-c | 执行一个命令,然后退出所在的用户环境 |
例子:把用户root切换为用户it进行登录,并且连shell环境也切换
[root@localhost ~]# su - it
[it@localhost ~]$ pwd
/home/it
root切换为用户it登录,shell环境不需要切换时
[root@localhost ~]# su it
[it@localhost root]$ pwd
/root
- newgrp命令可以让用户账户以另一个组群的身份进行登陆。如果不指定组群名称,则呢武功人品命令会登陆该用户名称的预设组群。
命令语法:newgrp [组群名]
-
groups命令:可以显示指定用户账户的组群成员身份 groups [用户名]
-
id命令:可以显示用户的UID以及该用户所属组群的UID 命令语法:id [选项] [用户名] 选项|含义 ---|--- -g|显示用户所属主要组群的GID -G|显示用户所属组群的GID(主要组群和次要组群都会列出来) -u|显示用户UID 例子:显示用户it的UID、主要组群的GID以及归属组群的情况
[root@localhost ~]# id it
uid=1013(it) gid=1013(it) groups=1013(it)
摘自:《Linux实用教程》人民邮电出版社出版发行 於岳编著