web-dev-qa-db-ja.com

chown-userとuser:userの違い

違いは何ですか:

Sudo chown $USER:$USER

そして

Sudo chown $USER

なぜ2回ですか? 1人のユーザーは間違っていますか? namei -lで権限を見ると、root rootproxy proxyなどがよく見られます。

所有者を2回定義してリストする必要があるのはなぜですか?

8
TheBro21

Chownコマンドは、ファイルまたはディレクトリの所有者とグループ所有者を変更するために使用されます。このコマンドを使用するには、スーパーユーザー権限が必要です。 chownの構文は次のようになります。

chown [owner][:[group]] file...

chownは、コマンドの最初の引数に応じて、ファイル所有者やファイルグループ所有者を変更できます。ここではいくつかの例を示します。

chown owner fileの例:

chown bob file --> Changes the ownership of the file from its current owner to user bob.

chown owner:group fileの例:

chown bob:users file --> Changes the ownership of the file from its current owner to user bob and changes the file group owner to group users.

chown :group fileの例:

 chown :admins file --> Changes the group owner to the group admins. The file owner is unchanged.

chown owner: fileの例:

chown bob: file --> Change the file owner from the current owner to user bob and changes the group owner to the login group of user bob.

この素敵なチュートリアルをお読みください https://www.linode.com/docs/tools-reference/linux-users-and-groups 。これは、ユーザー、グループ、権限に関する情報を表示します...

12
Maythux

user:userではなく、user:groupです。

これはコマンド形式です

chown [OPTION]... [OWNER][:[GROUP]] FILE...

ユーザーのグループには、多くのユーザーが含まれる場合があります。グループに関する情報を次に示します。

Linuxは、ユーザーを整理する方法としてグループを使用します。グループは、主にセキュリティ対策として、アカウントのコレクションを整理します。グループメンバーシップの制御は、グループとそのメンバーのリストを表示する/ etc/groupファイルを介して管理されます。すべてのユーザーには、デフォルトまたはプライマリグループがあります。ユーザーがログインすると、プライマリメンバーのグループメンバーシップが設定されます。つまり、ユーザーがプログラムを起動するかファイルを作成すると、ファイルと実行中のプログラムの両方がユーザーの現在のグループメンバーシップに関連付けられます。ユーザーは、そのグループのメンバーでもあり、アクセス許可が設定されている限り、他のグループの他のファイルにアクセスできます。プログラムを実行するか、別のグループにファイルを作成するには、ユーザーはnewgrpコマンドを実行して現在のグループを切り替える必要があります。

ファイルはユーザーとグループが所有しています。デフォルトでは、ファイルを変更した場合を除き、ファイルを作成したユーザーとそのデフォルトグループが所有します。

あなたの場合、ユーザーrootはグループrootのメンバーです。

5
Pilot6

man chownは、chownコマンドに関する説明と使用法、およびその他の有用な情報を提供します。

NAME
       chown - change file owner and group

SYNOPSIS
       chown [OPTION]... [OWNER][:[GROUP]] FILE...
       chown [OPTION]... --reference=RFILE FILE...

マニュアルページで提供される情報から、chown $USER:$USERはターゲットファイルの所有者とグループを$USERに変更し、chown $USERはターゲットファイルの所有者のみを$USERに変更することがわかります。ターゲットファイルのグループを変更せずに残します。

詳細(manページから)は次のとおりです。

Owner  is  unchanged  if  missing.   Group is unchanged if missing, but changed to
login group if implied by a ':' following a symbolic OWNER.  OWNER and  GROUP  may
be numeric as well as symbolic.

したがって、chown $USER:$USERchown $USER:として短縮できます。

root rootコマンドからのnamei -lなどの出力は、そのファイルの所有者とグループの両方がrootに設定されていることを意味します。これは、所有者が2回定義またはリストしたものではありません。所有者とグループは、関連する2つの異なる概念です。また、ファイルには常に所有者とグループがあります。


chownコマンドを使用するときは、chownコマンドを使用するときにファイルの所有権を転送する可能性が高いため、スーパーユーザー特権が必要になる可能性が高くなります。しかし、それは必ずしも真実ではありません。

たとえば、複数のグループに属する「test」という名前のユーザーがいるとします。 idコマンドは、次の出力を提供します。

uid=1000(test) gid=1000(test) groups=1000(test),4(adm),24(cdrom),27(Sudo),30(dip),46(plugdev),108(lpadmin),110(sambashare)

また、ユーザー「test」は次のファイルを所有しています。

-rw-r--r-- 1 test test 0 May 27 23:34 test_file

次に、ユーザー「test」は「test」グループと「sambashare」グループに属し、ユーザー「test」はすでに十分に所有しているため、スーパーユーザー権限なしでtest_fileのグループをsambashareに変更できます。ファイルのグループを変更する許可。

2
pallxk