ホームページ  >  記事  >  運用・保守  >  Linuxの許可コマンドとは何ですか?

Linuxの許可コマンドとは何ですか?

青灯夜游
青灯夜游オリジナル
2021-07-26 17:06:2734046ブラウズ

Linux 権限コマンド: 1. chgrp コマンド、ファイルおよびディレクトリに属する​​グループの変更に使用します; 2. chown コマンド、ファイルおよびディレクトリに属する​​所有者とグループの変更に使用します; 3. chmod コマンド、次のことができます。ファイルまたはディレクトリのアクセス許可を変更する; 4. umask コマンドを使用すると、新しく作成されたファイルおよびディレクトリにデフォルトのアクセス許可を持たせることができます。

Linuxの許可コマンドとは何ですか?

#このチュートリアルの動作環境: CentOS 6 システム、Dell G3 コンピューター。

Linux chgrp コマンド: ファイルとディレクトリのグループ所有権を変更する

chgrp コマンドは、ファイル (またはディレクトリ) のグループ所有権を変更するために使用されます。ディレクトリ)。

初心者が覚えやすいように、chgrp は「グループ変更」の略語として理解できます。

chgrp コマンドの使用法は非常に簡単で、基本的な形式は

[root@localhost ~]# chgrp [-R] 所属组 文件名(目录名)
  • -R (大文字であることに注意してください) です。このオプションはディレクトリを変更するために使用され、サブディレクトリ内のすべてのファイルのグループ情報とともに変更を表すグループが使用されます。

このコマンドを使用する際の注意点は、変更するグループ名が実際に存在する必要があることです。存在しない場合、コマンドは正しく実行できず、「無効なグループ名」というメッセージが表示されます。

たとえば、Linux システムに root としてログインすると、ホーム ディレクトリに install.log という名前のファイルが作成されます。次の方法を使用して、このファイルが属するグループを変更できます。 ##

[root@localhost ~]# groupadd group1
#新建用于测试的群组 group1
[root@localhost ~]# chgrp group1 install.log
#修改install.log文件的所属组为group1
[root@localhost ~]# ll install.log
-rw-r--r--. 1 root group1 78495 Nov 17 05:54 install.log
#修改生效
[root@localhost ~]# chgrp testgroup install.log
chgrp: invaild group name 'testgroup'

group1 グループがある前提で、install.log ファイルが属するグループの変更には成功していることがわかりますが、再度 testgroup に変更しようとしたところ、コマンドの実行に失敗しました。システムの /etc/ のため、グループ ファイルには testgroup グループがありません。

Linux chown コマンド: ファイルとディレクトリの所有者とグループを変更する

chown コマンドは、「所有者の変更」の略語と考えることができます。 , 主にファイル (またはディレクトリ) の所有者を変更するために使用されます。さらに、このコマンドはファイル (またはディレクトリ) が属するグループを変更することもできます。

所有者のみを変更する必要がある場合は、chown コマンドの次の基本形式を使用できます:

[root@localhost ~]# chown [-R] 所有者 文件或目录

  • -R (注)大文字) オプションの表現 サブディレクトリ内のすべてのファイルとともに、所有者を変更します。

所有者と所属するグループを同時に変更する必要がある場合、chown コマンドの基本形式は次のとおりです。

[root@localhost ~]# chown [-R] 所有者:所属组 文件或目录

chownコマンドでは、ドット(.)も使えますが、問題があり、アカウント設定時にユーザーが小数点(zhangsan.tempなど)を付けると、システムが判断を誤ってしまいます。したがって、所有者とその所有者が属するグループを接続するにはコロンを使用することをお勧めします。

もちろん、chown コマンドは、ファイルまたはディレクトリが属するグループの単純な変更もサポートしています。たとえば、 chown :group install.log は、install.log ファイルが属するグループの変更を意味します。通常、chgrp コマンドはグループの変更に使用されるため、chown コマンドの使用はお勧めしません。

もう 1 つ注意すべき点は、chown コマンドを使用してファイルまたはディレクトリの所有者 (または所有者) を変更する場合、ユーザー user (またはユーザー グループ) が存在することを確認する必要があり、そうでない場合はコマンドを実行できないことです。正しく実行され、「無効なユーザー」または「無効なグループ」というプロンプトが表示されます。

[例 1]

実際、ファイルの所有者を変更するのは、より高い権限を取得するためです。例を次に示します:

[root@localhost ~]# touch file
#由root用户创建file文件
[root@localhost ~]# ll file
-rw-r--r--. 1 root root 0 Apr 17 05:12 file
#文件的所有者是root,普通用户user对这个文件拥有只读权限
[root@localhost ~]# chown user file
#修改文件的所有者
[root@localhost ~]# ll file
-rw-r--r--. 1 user root 0 Apr 17 05:12 file
#所有者变成了user用户,这时user用户对这个文件就拥有了读、写权限

ご覧のとおり、Byファイル file の所有者を変更すると、ユーザー user は、別の人の ID (ファイルに対する読み取り権限のみを持つ) から、ファイルに対する読み取りおよび書き込み権限を持つ所有者の ID に変更されます。

[例 2]

Linux システムでは、ユーザー レベルの権限の区分が非常に明確です。root ユーザーは最も高い権限を持ち、あらゆるファイルの権限を変更できますが、一般ユーザーはファイルの権限 (所有者は独自のファイルです)、例:

[root@localhost ~]# cd /home/user
#进入user用户的家目录
[root@localhost user]# touch test
#由root用户新建文件test
[root@localhost user]# ll test
-rw-r--r--. 1 root root 0 Apr 17 05:37 test
#文件所有者和所属组都是root用户
[root@localhost user]# su - user
#切换为user用户
[user@localhost ~]$ chmod 755 test
chmod:更改"test"的权限:不允许的操作 #user用户不能修改test文件的权限
[user@localhost ~]$ exit
#退回到root身份
[root@localhost user]# chown user test
#由root用户把test文件的所有者改为user用户
[root@localhost user]# su - user
#切换为user用户
[user@localhost ~]$ chmod 755 test
#user用户由于是test文件的所有者,所以可以修改文件的权限
[user@localhost ~]$ ll test
-rwxr-xr-x. 1 user root 0 Apr 17 05:37 test
#查看权限

ユーザー user には、所有者のファイルの権限を変更する権限がないことがわかります。は root ユーザーです。このファイルの所有者は一般ユーザーのみです。ファイルのアクセス許可は変更できます。

[例 3]

[root@localhost ~]# chown user:group file
[root@localhost ~]# ll file
-rw-r--r--. 1 user group 0 Apr 17 05:12 file

chmod コマンド: ファイルまたはディレクトリのアクセス許可を変更します

chmod コマンドはファイルを設定します権限 権限を変更するには 2 つの方法があり、数字または記号を使用できます。

1. chmod コマンドは数字を使用してファイルのアクセス許可を変更します

Linux システムでは、ファイルの基本的なアクセス許可は 9 文字で構成されます。たとえば、番号を使用して各権限を表すことができます。各権限と番号の対応関係は次のとおりです:

r --> 4

w --> ; 2

#xx --> 1

これらの 9 文字は 3 種類のユーザーに属するため、各ユーザー ID には 3 つの権限 (r、w、x) が含まれます。 3つの権限に対応する数値を累積し、最終的な値を各ユーザーの権限として使用できます。

rwxrw-r-x を例として、所有者、所属グループ、その他の人々に対応する権限の値は次のとおりです:

Owner = rwx = 4 2 1 = 7

Group = rw- = 4 2 = 6

Others = r-x = 4 1 = 5

つまり、この権限に対応する権限値は765です。

使用数字修改文件权限的 chmod 命令基本格式为:

[root@localhost ~]# chmod [-R] 权限值 文件名
  • -R(注意是大写)选项表示连同子目录中的所有文件,也都修改设定的权限。

例如,使用如下命令,即可完成对 .bashrc 目录文件的权限修改:

[root@localhost ~]# ls -al .bashrc
-rw-r--r--. 1 root root 176 Sep 22 2004 .bashrc
[root@localhost ~]# chmod 777 .bashrc
[root@localhost ~]# ls -al .bashrc
-rwxrwxrwx. 1 root root 176 Sep 22 2004 .bashrc

再举个例子,通常我们以 Vim 编辑 Shell 文件批处理文件后,文件权限通常是 rw-rw-r--(644),那么,如果要将该文件变成可执行文件,并且不让其他人修改此文件,则只需将此文件的权限该为 rwxr-xr-x(755)即可。

2、chmod命令使用字母修改文件权限

既然文件的基本权限就是 3 种用户身份(所有者、所属组和其他人)搭配 3 种权限(rwx),chmod 命令中用 u、g、o 分别代表 3 种身份,还用 a 表示全部的身份(all 的缩写)。另外,chmod 命令仍使用 r、w、x 分别表示读、写、执行权限。

使用字母修改文件权限的 chmod 命令,其基本格式如下图所示。

Linuxの許可コマンドとは何ですか?

例如,如果我们要设定 .bashrc 文件的权限为 rwxr-xr-x,则可执行如下命令:

[root@localhost ~]# chmod u=rwx,go=rx .bashrc
[root@localhost ~]# ls -al .bashrc
-rwxr-xr-x. 1 root root 176 Sep 22 2004 .bashrc

再举个例子,如果想要增加 .bashrc 文件的每种用户都可做写操作的权限,可以使用如下命令:

[root@localhost ~]# ls -al .bashrc
-rwxr-xr-x. 1 root root 176 Sep 22 2004 .bashrc
[root@localhost ~]# chmod a+w .bashrc
[root@localhost ~]# ls -al .bashrc
-rwxrwxrwx. 1 root root 176 Sep 22 2004 .bashrc

umask命令:令新建文件和目录拥有默认权限

Linux 通过使用 umask 默认权限来给所有新建的文件和目录赋予初始权限的。

那么,我们如何得知 umask 默认权限的值呢?直接通过 umask 命令即可:

[root@localhost ~]# umask
0022
#root用户默认是0022,普通用户默认是 0002

umask默认权限的修改方法

umask 权限值可以通过如下命令直接修改:

[root@localhost ~]# umask 002
[root@localhost ~]# umask
0002
[root@localhost ~]# umask 033
[root@localhost ~]# umask
0033

不过,这种方式修改的 umask 只是临时有效,一旦重启或重新登陆系统,就会失效。如果想让修改永久生效,则需要修改对应的环境变量配置文件 /etc/profile。例如:

[root@localhost ~]# vim /etc/profile
...省略部分内容...
if [ $UID -gt 199]&&[ "'id -gn'" = "'id -un'" ]; then
    umask 002
    #如果UID大于199(普通用户),则使用此umask值
else
    umask 022
    #如果UID小于199(超级用户),则使用此umask值
fi
…省略部分内容…

这是一段 Shell 脚本程序,不懂也没关系,大家只需要知道,普通用户的 umask 由 if 语句的第一段定义,而超级用户 root 的 umask 值由 else 语句定义即可。 修改此文件,则 umask 值就会永久生效。

相关推荐:《Linux视频教程

以上がLinuxの許可コマンドとは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。