Was ist der Linux-Berechtigungsbefehl?

青灯夜游
Freigeben: 2023-01-07 11:45:44
Original
34150 Leute haben es durchsucht

Linux-Berechtigungsbefehle: 1. chgrp-Befehl, der zum Ändern der Gruppe verwendet wird, zu der Dateien und Verzeichnisse gehören. 2. chown-Befehl, der zum Ändern des Eigentümers und der Gruppe von Dateien und Verzeichnissen verwendet wird Verzeichnisberechtigungen; 4. Mit dem Befehl umask können neu erstellte Dateien und Verzeichnisse über Standardberechtigungen verfügen.

Was ist der Linux-Berechtigungsbefehl?

Die Betriebsumgebung dieses Tutorials: CentOS 6-System, Dell G3-Computer.

Linux-Befehl chgrp: Ändern Sie den Gruppenbesitz von Dateien und Verzeichnissen.

Der Befehl chgrp wird verwendet, um den Gruppenbesitz von Dateien (oder Verzeichnissen) zu ändern.

Um es Anfängern leichter zu merken, kann chgrp als Abkürzung für „Change Group“ verstanden werden. Die Verwendung des Befehls

chgrp ist sehr einfach:

[root@localhost ~]# chgrp [-R] 所属组 文件名(目录名)
Nach dem Login kopieren
  • -R (beachten Sie, dass die Option long-term für die Gruppe gilt, für die). Das Verzeichnis gehört dazu, was darauf hinweist, dass die Änderung in allen Unterverzeichnissen der Datei enthalten ist. -R(注意是大写)选项长作用于更改目录的所属组,表示更改连同子目录中所有文件的所属组信息。

使用此命令需要注意的一点是,要被改变的群组名必须是真实存在的,否则命令无法正确执行,会提示 "invaild group name"。

举个例子,当以 root 身份登录 Linux 系统时,主目录中会存在一个名为 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'
Nach dem Login kopieren

可以看到,在具有 group1 群组的前提下,我们成功修改了 install.log 文件的所属组,但我们再次试图将所属组修改为 testgroup 时,命令执行失败,就是因为系统的 /etc/group 文件中,没有 testgroup 群组。

Linux chown命令:修改文件和目录的所有者和所属组

chown 命令,可以认为是 "change owner" 的缩写,主要用于修改文件(或目录)的所有者,除此之外,这个命令也可以修改文件(或目录)的所属组。

当只需要修改所有者时,可使用如下 chown 命令的基本格式:

[root@localhost ~]# chown [-R] 所有者 文件或目录
Nach dem Login kopieren
  • -R

Bei der Verwendung dieses Befehls ist zu beachten, dass der zu ändernde Gruppenname tatsächlich vorhanden sein muss, da der Befehl sonst nicht korrekt ausgeführt werden kann und die Meldung „Gruppenname ungültig“ angezeigt wird.

Wenn Sie sich beispielsweise als Root beim Linux-System anmelden, befindet sich im Home-Verzeichnis eine Datei mit dem Namen install.log. Wir können die Gruppe, zu der diese Datei gehört, mit der folgenden Methode ändern:

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

Wie Sie Sie können sehen, dass wir in der Gruppe „Unter der Voraussetzung von Gruppe1“ die Gruppe, zu der die Datei „install.log“ gehört, erfolgreich geändert haben. Als wir jedoch versuchten, die Gruppe erneut in „Testgruppe“ zu ändern, schlug die Befehlsausführung fehl, da keine Gruppe „Testgruppe“ vorhanden ist die /etc/group-Datei des Systems.

Linux-Befehl chown: Ändern Sie den Besitzer und die Gruppe von Dateien und Verzeichnissen.

Der Befehl chown, der als Abkürzung für „Eigentümer ändern“ angesehen werden kann, wird hauptsächlich zum Ändern des Besitzers einer Datei (bzw Verzeichnis), unter anderem Darüber hinaus kann dieser Befehl auch die Gruppe ändern, zu der eine Datei (oder ein Verzeichnis) gehört.

Wenn Sie nur den Eigentümer ändern müssen, können Sie das Grundformat des Befehls chown wie folgt verwenden:

[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用户对这个文件就拥有了读、写权限
Nach dem Login kopieren

-R (Großschreibung beachten) Option bedeutet, alle Dateien in zu ändern das Unterverzeichnis zusammen mit who.

Wenn Sie den Besitzer und die Gruppe gleichzeitig ändern müssen, lautet das Grundformat des chown-Befehls:

[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
#查看权限
Nach dem Login kopieren
Beachten Sie, dass Sie im chown-Befehl auch einen Punkt (.) zwischen dem Besitzer und verwenden können Dies führt jedoch zu einer Fehleinschätzung des Systems, wenn der Benutzer beim Festlegen des Kontos einen Dezimalpunkt (z. B. zhangsan.temp) hinzufügt. Daher wird empfohlen, Doppelpunkte zu verwenden, um den Eigentümer und die Gruppe, zu der er gehört, zu verbinden. Natürlich unterstützt der Befehl chown auch das einfache Ändern der Gruppe, zu der eine Datei oder ein Verzeichnis gehört. Beispielsweise bedeutet chown:group install.log das Ändern der Gruppe, zu der die Datei install.log gehört Wird normalerweise zum Ändern der Gruppe verwendet und wird daher nicht empfohlen. Verwenden Sie den Befehl chown.

Eine weitere zu beachtende Sache ist, dass Sie bei Verwendung des Befehls chown zum Ändern des Eigentümers (oder Besitzers) einer Datei oder eines Verzeichnisses sicherstellen müssen, dass der Benutzer (oder die Benutzergruppe) vorhanden ist, da der Befehl sonst nicht korrekt ausgeführt werden kann und „ „Ungültiger Benutzer“ wird angezeigt. „ oder „Ungültige Gruppe“.

【Beispiel 1】

Tatsächlich dient das Ändern des Eigentümers einer Datei häufiger dazu, höhere Berechtigungen zu erhalten. Hier ist ein Beispiel:

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

Sie können sehen, dass der Benutzer den Eigentümer der Datei ändern kann Erhalten Sie höhere Berechtigungen von anderen Benutzern. Die menschliche Identität (die nur über Leseberechtigungen für die Datei verfügt) wird in die Besitzeridentität umgewandelt, die über Lese- und Schreibberechtigungen für die Datei verfügt.

[Beispiel 2]

Im Linux-System ist die Aufteilung der Berechtigungen auf Benutzerebene sehr klar. Der Root-Benutzer hat die höchsten Berechtigungen und kann die Berechtigungen jeder Datei ändern, während normale Benutzer nur die Berechtigungen ihrer eigenen ändern können Dateien (der Eigentümer ist die Datei selbst), zum Beispiel:

[root@localhost ~]# chmod [-R] 权限值 文件名
Nach dem Login kopieren
Nach dem Login kopieren

Sie können sehen, dass der Benutzer user nicht das Recht hat, die Berechtigungen der Datei zu ändern, deren Eigentümer der Root-Benutzer ist. Nur normale Benutzer sind die Eigentümer dieser Datei Datei kann die Berechtigungen der Datei ändern.

【Beispiel 3】

[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
Nach dem Login kopieren
Nach dem Login kopieren

chmod-Befehl: Ändern Sie die Berechtigungen von Dateien oder Verzeichnissen

Der chmod-Befehl bietet zwei Möglichkeiten, Dateiberechtigungen festzulegen. Sie können Zahlen oder Symbole verwenden, um Berechtigungen zu ändern.

1. Der Befehl chmod verwendet Zahlen, um Dateiberechtigungen zu ändern.

Im Linux-System bestehen die Grundberechtigungen einer Datei aus 9 Zeichen. Wir können Zahlen verwenden, um jede Berechtigung darzustellen. und die Beziehung zwischen jeder Erlaubnis und der Zahl ist wie folgt:

🎜r --> 2🎜🎜x -->Da diese 9 Zeichen dazu gehören 3 Arten von Benutzern, jede Benutzeridentität enthält 3 Berechtigungen (r, w, x). Durch Akkumulieren der Zahlen, die den drei Berechtigungen entsprechen, kann der Endwert als Berechtigungen jedes Benutzers verwendet werden. 🎜🎜Nehmen Sie rwxrw-r-x als Beispiel. Die Berechtigungswerte, die dem Eigentümer, der Gruppe, zu der er gehört, und anderen Personen entsprechen, sind: 🎜🎜🎜owner = rwx = 4+2+1 = 7🎜🎜group to wozu sie gehören = rw- = 4+2 = 6🎜🎜Others = r-x = 4+1 = 5🎜🎜🎜Der dieser Berechtigung entsprechende Berechtigungswert ist also 765. 🎜

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

[root@localhost ~]# chmod [-R] 权限值 文件名
Nach dem Login kopieren
Nach dem Login kopieren
  • -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
Nach dem Login kopieren
Nach dem Login kopieren

再举个例子,通常我们以 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 命令,其基本格式如下图所示。

Was ist der Linux-Berechtigungsbefehl?

例如,如果我们要设定 .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
Nach dem Login kopieren

再举个例子,如果想要增加 .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
Nach dem Login kopieren

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

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

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

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

umask默认权限的修改方法

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

[root@localhost ~]# umask 002
[root@localhost ~]# umask
0002
[root@localhost ~]# umask 033
[root@localhost ~]# umask
0033
Nach dem Login kopieren

不过,这种方式修改的 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
…省略部分内容…
Nach dem Login kopieren

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

相关推荐:《Linux视频教程

Das obige ist der detaillierte Inhalt vonWas ist der Linux-Berechtigungsbefehl?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage