記事ディレクトリ
質問:
説明: 別のサーバーにログインすると、root ユーザーは docker コマンドを操作できず、docker グループのみが操作できることがわかります。次のコマンドを使用して問題を解決します。以下は学習の要約です。
groups //查看当前用户所属组 发现组是
sudo gpasswd -a root docker // 把root用户加到docker组中
序文: ユーザーとユーザーグループの概念
はじめに 1. ユーザー
Linux には、スーパー ユーザー、システム ユーザー、一般ユーザーの 3 種類のユーザーがあります。
スーパーユーザー:
root にはすべての操作権限があるため、root アカウントで安易にファイルを操作しないでください。Linux オペレーティング システムの文字インターフェイスでは、root アカウントのプロンプトは # で、デフォルトでは root ユーザーの UID は 0 です。システム ユーザー:
システム ユーザーは、Linux システムの通常の操作に必要な組み込みユーザーであり、通常は管理サービスに使用されます。bin、daemon、lp、その他のユーザーなどのシステム ユーザーはログインに使用できません。システム ユーザーの UID は通常 1 ~ 499 で、シェルは /sbin/nologin です。一般ユーザー:
一般ユーザーは、ユーザーが Linux システム リソースを使用できるようにするために設定され、ユーザーによって作成されるアカウントは通常、通常のアカウントです。Linux オペレーティング システムの文字インターフェイスでは、一般ユーザーのプロンプトは $ で、一般ユーザーの UID はデフォルトで 1000 ~ 60000 です。
はじめに 2. ユーザーグループ
基本グループ(プライベートグループ):
ユーザー作成時にユーザーと同名のグループが自動的に作成されます。たとえば、mike ユーザーを作成すると、同時に mike グループが作成され、mike ユーザーは mike グループに所属します。
追加グループ(共有グループ):ユーザーが所属する基本グループ以外の他のグループ
1. ユーザーとユーザーグループを追加する
1. ユーザーを追加するには、まず adduser コマンドを使用して共通ユーザーを追加します。コマンドは次のとおりです。
adduser tommy //添加用户
passwd tommy //修改密码
groupadd tom //创建用户组
次に、ユーザー グループ コマンドを表示します。
whoami //查看当前用户
id //查看当前用户信息
[root@www wei]# id wei
uid=1000(wei) gid=1000(wei) 组=1000(wei),10(wheel)
groups tom//查看用户所属组
cat /etc/groups //查看所有用户组
/
3. ユーザーグループの管理
方法 1、gpasswd コマンド
用法:gpasswd[-a user][-d user][-A user,...][-M user,...][-r][-R]groupname
参数:
-a:添加用户到组
-d:从组删除用户
-A:指定管理员
-M:指定组成员和-A的用途差不多
-r:删除密码
-R:限制用户登入组,只有组中的成员才可以用newgrp加入该组
例 1: ユーザーをグループに追加するにはどうすればよいですか?
gpasswd -a user1 group1
cat /etc/group //查看
group1:x:1011:user1,user2
例 2: グループのメンバー全員を置き換えるにはどうすればよいですか?
gpasswd -M user2,user3 group1
cat /etc/group //查看,组中的用户全部被替换
group1:x:1011:user2,user3
例 3: グループ内のユーザーを削除する
gpasswd -d user1 group1
方法 2、newgrp コマンド
newgrp: 現在のユーザーのユーザー グループを一時的に切り替えます (変更された有効なユーザー グループは一時的な環境でのみ機能し、シェルを閉じると無効になります。これは一時的な環境変数に相当します)。
方法 3、usermod コマンド
usermod -g root tommy //ユーザー tommy を root グループに属するように変更します
ユーザーグループの戦闘: ユーザーに root 権限を付与する
2.root権限を与える
方法 1:
/etc/sudoers ファイルを変更し、次の行を見つけて、前のコメント (#) を削除します。
%wheel ALL=(ALL) ALL
次に、ルート グループ (wheel) に属するようにユーザーを変更します。コマンドは次のとおりです。
usermod -g root tommy
変更後は、tommy アカウントでログインし、コマンド su - を使用して操作のための root 権限を取得できるようになります。
方法 2:
/etc/sudoers ファイルを変更し、次の行を見つけて、次のように root の下に行を追加します。
root ALL=(ALL) ALL
tommy ALL=(ALL) ALL
変更後は、tommy アカウントでログインし、コマンド su - を使用して操作のための root 権限を取得できるようになります。
方法 3: /etc/passwd ファイルを変更し、次の行を見つけて、次に示すようにユーザー ID を 0 に変更します。
tommy:x:500:500:tommy:/home/tommy:/bin/bash
修改后如下
tommy:x:0:500:tommy:/home/tommy:/bin/bash
保存し、tommyアカウントでログイン後、rootアカウントの権限を直接取得します。
注: 方法 3 は簡単で便利に見えますが、一般には推奨されず、方法 2 が推奨されます。
4. ファイル変更許可コマンド chmod、chgrp、chown の詳細説明
4.1、chmodコマンド
chmod [who] [+ | – | =] [mode] ファイル名//ファイル操作権限の変更
4.1.1. コマンドオプション
命令中各选项的含义为:
操作对象who可是下述字母中的任一个或者它们的组合:
u 表示“用户(user)”,即文件或目录的所有者。
g 表示“同组(group)用户”,即与文件属主有相同组ID的所有用户。
o 表示“其他(others)用户”。
a 表示“所有(all)用户”。它是系统默认值。
操作符号可以是:
+ 添加某个权限。
– 取消某个权限。
= 赋予给定权限并取消其他所有权限(如果有的话)。
设置mode所表示的权限可用下述字母的任意组合:
r 可读。
w 可写。
x 可执行。
X 只有目标文件对某些用户是可执行的或该目标文件是目录时才追加x 属性。
s 在文件执行时把进程的属主或组ID置为该文件的文件属主。方式“u+s”设置文件的用户ID位,“g+s”设置组ID位。
t 保存程序的文本到交换设备上。
u 与文件属主拥有一样的权限。
g 与和文件属主同组的用户拥有一样的权限。
o 与其他用户拥有一样的权限。
-c : 若该档案权限确实已经更改,才显示其更改动作
-f : 若该档案权限无法被更改也不要显示错误讯息
-v : 显示权限变更的详细资料
-R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更)
–help : 显示辅助说明
–version : 显示版本
文件名:以空格分开的要改变权限的文件列表,支持通配符。在一个命令行中可给出多个权限方式,其间用逗号隔开。例如:chmod g+r,o+r example使同组和其他用户对文件example 有读权限。
4.1.2. テキストの設定方法
例1:
$ chmod a+x sort
即设定文件sort的属性为:
文件属主(u) 增加执行权限
与文件属主同组用户(g) 增加执行权限
其他用户(o) 增加执行权限
例2:
$ chmod ug+w,o-x text
即设定文件text的属性为:
文件属主(u) 增加写权限
与文件属主同组用户(g) 增加写权限
其他用户(o) 删除执行权限
例3:
$ chmod u+s a.out
假设执行chmod后a.out的权限为(可以用ls – l a.out命令来看):
–rws--x--x 1 inin users 7192 Nov 4 14:22 a.out
并且这个执行文件要用到一个文本文件shiyan1.c,其文件存取权限为“–rw——-”,即该文件只有其属主具有读写权限。
4.1.3. デジタル設定方法
まず、数字で表される属性の意味を理解し、0 は権限なし、1 は実行可能権限、2 は書き込み可能権限、4 は読み取り可能権限を意味し、それらを合計する必要があります。したがって、数値属性の形式は、0 ~ 7 の 3 つの 8 進数を (u)(g)(o) の順序で指定する必要があります。
たとえば、ファイルの所有者に「読み取り/書き込み」権限を与えたい場合は、4 (読み取り可能) + 2 (書き込み可能) = 6 (読み取り/書き込み) を設定する必要があります。
デジタル設定メソッドの一般的な形式は次のとおりです。 chmod [モード] ファイル名 1/4
例1:
$ chmod 644 mm.txt
$ ls –l
即设定文件mm.txt的属性为:
-rw-r--r-- 1 inin users 1155 Nov 5 11:22 mm.txt
文件属主(u)inin 拥有读、写权限
与文件属主同组人用户(g) 拥有读权限
其他人(o) 拥有读权限
例2:
$ chmod 750 wch.txt
$ ls –l
-rwxr-x--- 1 inin users 44137 Nov 12 9:22 wchtxt
即设定wchtxt这个文件的属性为:
文件主本人(u)inin 可读/可写/可执行权
与文件主同组人(g) 可读/可执行权
其他人(o) 没有任何权限
4.2、chownコマンド
機能: ファイルまたはディレクトリの所有者とグループを変更します。このコマンドもよく使われます。たとえば、ユーザー root が自分のファイルをユーザー yusi にコピーすると、ユーザー yusi がこのファイルにアクセスできるようにするには、ユーザー root がこのファイルの所有者を yusi に設定する必要があります。そうしないと、ユーザー yusi はこのファイルにアクセスできなくなります。
構文: chown [オプション] ユーザーまたはグループ ファイル
4.2.1. パラメータの説明:
user : 新的档案拥有者的使用者 ID
group : 新的档案拥有者的使用者群体(group)
-c : 若该档案拥有者确实已经更改,才显示其更改动作
-f : 若该档案拥有者无法被更改也不要显示错误讯息
-h : 只对于连结(link)进行变更,而非该 link 真正指向的档案
-v : 显示拥有者变更的详细资料
-R : 对目前目录下的所有档案与子目录进行相同的拥有者变更(即以递回的方式逐个变更)
–help : 显示辅助说明
–version : 显示版本
4.2.1. 例:
例1:把文件yusi123.com的所有者改为yusi。
$ chown yusi yusi123.com
例2:把目录/demo及其下的所有文件和子目录的属主改成yusi,属组改成users。
$ chown - R yusi.users /demo
例如:chown qq /home/qq (把home目录下的qq目录的拥有者改为qq用户)
例如:chown -R qq /home/qq (把home目录下的qq目录下的所有子文件的拥有者改为qq用户)
4.3、chgrpコマンド
機能: ファイルまたはディレクトリが属するグループを変更します。
構文: chgrp [オプション] グループ ファイル名 1/4
4.3.1. パラメータの説明:
-c或–changes 效果类似”-v”参数,但仅回报更改的部分。
-f或–quiet或–silent 不显示错误信息。
-h或–no-dereference 只对符号连接的文件作修改,而不更动其他任何相关文件。
-R或–recursive 递归处理,将指定目录下的所有文件及子目录一并处理。
-v或–verbose 显示指令执行过程。
–help 在线帮助。
–reference=<参考文件或目录> 把指定文件或目录的所属群组全部设成和参考文件或目录的所属群组相同。
–version 显示版本信息。
该命令改变指定指定文件所属的用户组。其中group可以是用户组ID,也可以是/etc/group文件中用户组的组名。文件名是以空格分开的要改变属组的文件列表,支持通配符。如果用户不是该文件的属主或超级用户,则不能改变该文件的组。
该命令的各选项含义为:
– R 递归式地改变指定目录及其下的所有子目录和文件的属组。
4.3.2. 使用方法:
例1:
$ chgrp - R book /opt/local /book
改变/opt/local /book/及其子目录下的所有文件的属组为book。
4.4. 結論
関連する権限の概要は後で追加されます。。。。つづく。。