1.UIDとGID
1.1 ユーザーアカウントとグループアカウントの概要
Linux は、ユーザー ID に基づいてリソース アクセスを制御します
● ユーザーアカウント
スーパーユーザー、共通ユーザー、プログラムユーザー
用户账号
根:ルートユーザーLinuxオペレーティングシステムにありますデフォルトのスーパーユーザー アカウント、このホストで最高の権限を持っています。スーパーユーザーはシステム内の唯一のユーザーです。
一般利用者:root または別の管理者ユーザーによって作成された、通常、あなたが持っている権限は制限されますユーザー自身のホーム ディレクトリでのみ完全な権限を持つ。
プログラム ユーザー: inux オペレーティング システムと一部のアプリケーションをインストールする場合、一部の特定の権限の低いユーザー アカウント、これらのユーザーは一般にシステムへのログインが許可されていません,システムまたはプログラムの通常の動作を維持するためにのみ使用されます、bin、demon、ftp、mailなど
●グループアカウント
基本グループ(非公開グループ)
追加グループ(公開グループ)
组账号
基本グループ(プライベートグループ):基本的なグループ アカウントは 1 つだけです、 いつものユーザー作成時に指定したグループ. /etc/passwd ファイルに記録されている 4 番目のフィールドは、ユーザーの基本グループ GID 番号です。
追加グループ(公開グループ): 基本グループに加えて、ユーザー指定されたグループをさらに追加する。
● UID と GID
UID(User IDentity、ユーザー識別番号)
GID(Group IDentity、グループ識別番号)
UID:ユーザー識別番号
GID:グループ識別番号
ルートユーザーアカウントUID 番号と GID 番号は固定値 0 です
プログラム ユーザーアカウントの UID および GID 番号のデフォルトはCentos5,6: 1~499,Centos7: 1~999
一般利用者UID および GID 番号のデフォルトはCentos5,6: 500~60000,Centos7:1000~60000
1.2 ユーザーアカウントファイル /etc/passwd
ユーザー名、ホスト ディレクトリ、ログイン シェルなどの基本情報を保存します。
ファイルの場所: /etc/passwd
各行はユーザーのアカウント レコードに対応します
root:x:0:0:root:/root:/bin/bash
第一字段root:用户名
第二字段x:占位符
第三字段0:用户的UID号
第四字段0:用户基本组的GID号
第五字段root:用户全名信息的描述
第六字段/root:用户的宿主目录,也就是家目录所在位置
第七字段/bin/bash:用户登录的shell信息(/bin/bash:默认的shell登录信息;/sbin/nologin:不允许登录的shell信息)
1.3 ユーザーアカウントファイル /etc/shadow
ユーザーのパスワード、アカウントの有効期限、その他の情報を保存します
ファイルの場所: /etc/shadow
各行はユーザーのパスワード レコードに対応します
root:$6$rn9yK8kuso3pcHaI$mi0mdf/UQf9p2PdB/zkG1Zmyh7DtvL2Ckgr1aFjTJP1tFPKwRLaKUzUxLtKvR2b995g4JqOcTuWd6EF/ad4xa0::0:99999:7:::
第一字段root:用户名
第二字段$6$rn9yK8kuso3pcHaI$mi0mdf/UQf9p2PdB/zkG1Zmyh7DtvL2Ckgr1aFjTJP1tFPKwRLaKUzUxLtKvR2b995g4JqOcTuWd6EF/ad4xa0:MD5算法加密(当为"*"或"!!"时表示此用户不能登录到系统。若该字段内容为空,则该用户无须密码即可登录系统)
第三字段:::上次修改密码的时间
第四字段0:密码的最短有效天数
第五字段99999:密码的最长有效天数
第六字段7:提前多少天警告用户密码将过期,默认为7
第七字段:::密码过期之后多少天禁用此用户
第八字段:::账号失效时间
第九字段:保留字段(未使用)
2.UID
2.1 ユーザー アカウントの追加
useradd命令
useradd コマンド形式: useradd [オプション]…ユーザー名
常用选项:
-u、-d、-e、-g、-G、-M、-s
[root@clr ~]# which useradd #查看外部命令useradd在系统中的位置
/usr/sbin/useradd
[root@clr ~]# ll /usr/sbin/useradd
-rwxr-xr-x. 1 root root 137616 8月 9 2019 /usr/sbin/useradd
[root@clr ~]# which adduser #查看外部命令adduser在系统中的位置
/usr/sbin/adduser
[root@clr ~]# ll /usr/sbin/adduser
lrwxrwxrwx. 1 root root 7 3月 23 00:42 /usr/sbin/adduser -> useradd #adduser是个软链接指向useradd
useradd -d ## -e ## -s ##コマンド: ユーザーのホーム ディレクトリの場所、アカウントの有効期限、およびログイン シェル情報を指定します。
[root@clr ~]# useradd -d /admin -e 2024-01-01 -s /sbin/nologin admin1 #添加用户admin1,指定家目录/admin;指定失效时间:2024-01-01;指定不能登录到系统的shell命令
[root@clr ~]# useradd -u 2000 -g gaozhenyang -G 1002 admin2 #指定用户admin2的UID号为2000;指定基本组名为gaozhenyang;指定附加组的GID号为1002(admin1)
[root@clr ~]# vim /etc/passwd
admin2:x:2000:1001::/home/admin2:/bin/bash
[root@clr ~]# id admin2
uid=2000(admin2) gid=1001(gaozhenyang) 组=1001(gaozhenyang),1002(admin1) #查看可得,用户admin2的UID为2000;基本组的GID为1001(gzozhenyang);附加组的GID号为1002(admin1)
プログラム ユーザーを作成します: useradd -M -s コマンド: ホスト ディレクトリを作成せず、ユーザーのログイン シェル情報を指定します。
[root@clr ~]# useradd -M -s /sbin/nologin ergouzi #创建程序用户ergouzi,不建立宿主目录,shell登录信息,设置为不允许登录
[root@clr ~]# vim /etc/passwd
ergouzi:x:2001:2001::/home/ergouzi:/sbin/nologin
2.2 ユーザーパスワードの設定・変更 passwd
passwd命令
passwd コマンドの形式: passwd [オプション]…ユーザー名
常用选项:
-d、-l、-S、-u
ユーザー名が指定されていない場合は、現在のアカウントのパスワードを変更します
passwd -d コマンド: 指定したユーザーのパスワードをクリアし、ユーザー名のみを使用してシステムにログインします
[root@clr ~]# passwd -d gaozhenyang
清除用户的密码 gaozhenyang。
passwd: 操作成功
passwd -l コマンド: ユーザー アカウントをロックします。ロックされたユーザー アカウントはシステムにログインできなくなります。
[root@clr ~]# passwd -l gaozhenyang #锁定用户账户,锁定的用户账户将无法再登录系统
锁定用户 gaozhenyang 的密码 。
passwd: 操作成功
[root@clr ~]# passwd -l ergouzi
锁定用户 ergouzi 的密码 。
passwd: 操作成功
passwd -S コマンド: ユーザー アカウントの状態を確認する (ロックされているかどうか)
[root@clr ~]# passwd -S gaozhenyang #查看用户账户的状态是否被锁定
gaozhenyang LK 2023-04-02 0 99999 7 -1 (密码已被锁定。)
passwd -u コマンド: ユーザー アカウントのロックを解除
[root@clr ~]# passwd -u gaozhenyang #解锁用户账户gaozhenyang
解锁用户 gaozhenyang 的密码。
passwd: 警告:未锁定的密码将是空的。
passwd: 不安全的操作(使用 -f 参数强制进行该操作)
[root@clr ~]# passwd -u -f gaozhenyang #-f命令,强制解锁用户
解锁用户 gaozhenyang 的密码。
passwd: 操作成功
ユーザーパスワードの設定方法 2: echo "password" | passwd --stdin ユーザー名
[root@clr ~]# echo "abc" | passwd --stdin gaozhenyang #将用户gaozhenyang的密码修改为abc
更改用户 gaozhenyang 的密码 。
passwd:所有的身份验证令牌已经成功更新。
ユーザーパスワードの設定方法 3: echo <username>:<password> | chpasswd
[root@clr ~]# echo gaozhenyang:123 | chpasswd #将用户gaozhenyang的密码修改为123
2.3 ユーザー アカウント属性 usermod の変更
usermod命令
usermd コマンド形式: usermod [オプション]…ユーザー名
常用选项:
-l、-l、-u
次のオプションは、useradd コマンドと同じ意味を持ちます。
-u、-d、-e、-g、-G、-s
usermod -l コマンド: ユーザー アカウントのログイン名を変更します。
[root@clr ~]# usermod -l CLR cCLR #更改用户账户cCLR的登录密码
[root@clr ~]# vim /etc/passwd
CLR:x:1000:1000:CLR:/home/cCLR:/bin/bash
usermod -s コマンド: ユーザーのログイン シェルを指定します。
[root@clr ~]# usermod -s /bin/bash ergouzi #修改用户账户ergouzi的登录方式,修改为可登录/bin/bash
[root@clr ~]# vim /etc/passwd
ergouzi:x:2001:2001::/home/ergouzi:/bin/bash
usermod -d コマンド: ユーザーのホーム ディレクトリの場所を変更します。
[root@clr ~]# usermod -d /admin CLR #修改用户CLR的宿主目录位置为/admin
[root@clr ~]# vim /etc/passwd
CLR:x:1000:1000:CLR:/admin:/bin/bash
"/etc/passwd" 50L, 2568C
usermod -e コマンド: ユーザーのアカウントの有効期限を変更します。YYYY-MM-DD の日付形式を使用できます
[root@clr ~]# usermod -e 2023-12-31 admin1 #修改账户用户admin1的失效时间
[root@clr ~]# vim /etc/shadow
admin1:!!:19449:0:99999:7::19722:
usermod -L コマンド: ユーザー アカウントのロック
[root@clr ~]# usermod -L ergouzi #锁定用户账户ergouzi
[root@clr ~]# passwd -S ergouzi #查看用户账户ergouzi的状态,是否已被锁定
ergouzi LK 2023-04-02 0 99999 7 -1 (密码已被锁定。)
usermod -U コマンド: ユーザー アカウントのロック解除
[root@clr ~]# echo ergouzi:123 | chpasswd #为用户账户ergouzi设置密码123
[root@clr ~]# usermod -U ergouzi #解锁用户账户ergouzi
[root@clr ~]# passwd -S ergouzi #查看用户账户ergouzi的状态(是否已被锁定)
ergouzi PS 2023-04-02 0 99999 7 -1 (密码已设置,使用 SHA512 算法。)
2.4 ユーザー アカウント userdel の削除
userdel命令
userdel コマンド形式: userdel [-r] ユーザー名
-r オプションを付けると、ユーザーのホームディレクトリも削除されることを意味します
userdel -r コマンド: ユーザーを削除し、そのホーム ディレクトリを削除します
[root@clr ~]# userdel -r admin2 #删除用户admin2,并且连同家目录也一并删除
[root@clr ~]# ls /home/ #admin2的家目录已被删除
gaozhenyang
-
システム内のユーザー アカウントの場合不要になりました(従業員が会社を退職した場合など)、userdel コマンドを使用してユーザー アカウントを削除します。。
-
userdel コマンドを使用するアカウント名をパラメーターとして指定する必要があります、「-r」オプションを追加すると、ユーザーのホストディレクトリも削除されます。
3.GID
3.1 ユーザーアカウントの初期設定ファイル
文件来源
● useradd コマンドで新しいユーザー アカウントを追加すると、ユーザーのホーム ディレクトリにいくつかの初期構成ファイルを作成します。。
●これらのファイルはアカウント テンプレート ディレクトリ /etc/skel/、これらは基本的に隠しファイルです。
主要的用户初始配置文件
● ~/.bash_profile
● ~/.bashrc
● ~/.bash_logout
テンプレート ディレクトリ /etc/skel/ の隠しファイルを表示します。
[root@clr ~]# ls /etc/skel/ -a #查看账号模板目录/etc/skel/下的隐藏文件
. .. .bash_logout(用户退出系统时,加载的文件) .bash_profile(用户登录时,自动加载的环境变量配置文件) .bashrc .mozilla
.bash_profile ファイルを表示する
[root@clr ~]# vim .bash_profile #查看并修改.bash_profile文件
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc #./bash_profile文件会调用该用户的~/.bashrc文件
.bashrc ファイルを表示する
[root@clr ~]# vim .bashrc #查看并修改.bashrc文件
# .bashrc
# User specific aliases and functions
alias rm='rm -i' #每次登录系统或shell环境时,都会自动执行的程序代码
alias cp='cp -i'
alias mv='mv -i'
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc #./bashrc文件会调用./etc/bashrc文件
作用范围:
etc/profile /etc/bashrc 対すべてのユーザーに有効
~/.bash_profile ~/.bashrc = のみ現在のユーザーに有効
功能用途:
プロフィール:システムの起動後、ユーザーはログインして直接実行しますファイル内のコマンドまたは構成
.bashrc:ユーザー ログインまたはユーザー スイッチ シェル環境ファイル内のコマンドまたは構成が実行されます
调用关系:
/etc/profile -> /etc/profile.d/xxx. し
~/.bash_profile -> ~/.bashrc -> /etc/bashrc
注意:
-
/etc/profile 内のファイル、システムの起動時に自動的に実行されます;
-
~/.bash_profile ファイル、のみ指定したユーザーがログインまたはシェル環境を切り替えたとき、実行されます。
3.2 グループアカウントファイル
ユーザー アカウント ファイルに類似
-
/etc/group: 保存グループアカウントの基本情報
-
/etc/gshadow:保存グループアカウントのパスワード情報
グループアカウント /etc/group の基本情報を確認
[root@clr ~]# vim /etc/group
kvm:x:36:qemu
组名:密码占位符:组的GID号:组中用户
[root@clr ~]# useradd -G admin1 zhangsan #添加用户zahngsan,并指定附加组为admin
[root@clr ~]# vim /etc/group
admin1:x:1002:lisi,zhangsan #admin1中有组员lisi和zhangsan
3.3 グループ アカウントの追加 groupadd
groupadd命令
groupadd コマンド形式: groupadd [-g GID] グループアカウント名
示例
groupadd -g コマンド: グループを追加し、指定したグループ アカウントを設定します
[root@clr ~]# groupadd -g 2345 mygirl #添加组mygirl,并设置组GID号为2345
[root@clr ~]# vim /etc/group
mygirl:x:2345:
3.4 グループメンバー gpasswd の追加と削除
gpasswd命令
●グループ アカウントのパスワードの設定 (ほとんど使用されません)、グループ メンバーの追加/削除
gpasswd コマンド形式:gpasswd [オプション]…グループアカウント名
`共通オプション
● -a: グループにユーザーを追加します
● - d: グループからユーザー メンバーを削除します。
● -M: コンマで区切られたグループ メンバーのリストを定義します。
gpasswd -a コマンド: ユーザーをグループに追加する
[root@clr ~]# gpasswd -a zhangsan mygirl #用户zhangsan加入到mygirl组中
正在将用户“zhangsan”加入到“mygirl”组中
[root@clr ~]# id zhangsan
uid=2004(zhangsan) gid=2004(zhangsan) 组=2004(zhangsan),1002(admin1),2345(mygirl)
gpasswd -d コマンド: グループからユーザー メンバーを削除する
[root@clr ~]# gpasswd -d zhangsan admin1 #将用户zhangsan从admin1组中删除
正在将用户“zhangsan”从“admin1”组中删除
[root@clr ~]# id zhangsan
uid=2004(zhangsan) gid=2004(zhangsan) 组=2004(zhangsan),2345(mygirl)
gpasswd -M コマンド: コンマで区切られたグループ メンバーのリストを定義します。
[root@clr ~]# useradd xiaohua #分别创建三个用户xiaohua,xiaowang,xiaozhang
[root@clr ~]# useradd xiaowang
[root@clr ~]# useradd xiaozhang
[root@clr ~]# gpasswd -M xiaohua,xiaowang,xiaozhang mygirl #将这三个用户xiaohua,xiaowang,xiaozhang,一次性加入到mygirl组中(-M定义组成员列表,定义即覆盖)
[root@clr ~]# vim /etc/group
mygirl:x:2345:xiaohua,xiaowang,xiaozhang
3.5 グループ アカウント groupdel の削除
groupdel命令
groupdel コマンドの形式: groupdel グループ アカウント名
示例