English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Das Linux-System ist ein typisches Mehrbenutzer-System, in dem verschiedene Benutzer unterschiedliche Positionen einnehmen und unterschiedliche Berechtigungen haben.
Zur Sicherstellung der Systemsicherheit hat das Linux-System unterschiedliche Berechtigungen für den Zugriff verschiedener Benutzer auf die gleiche Datei (einschließlich Verzeichnisdateien) festgelegt.
In Linux verwenden wir in der Regel die folgenden zwei Befehle, um den Besitzer und die Berechtigungen einer Datei oder eines Verzeichnisses zu ändern:
chown (change ownerp): Ändern des Besitzers und der Gruppe.
chmod (change mode): Benutzerrechte ändern.
Im folgenden Bild wird durch chown der Benutzer berechtigt und durch chmod werden den Benutzern die Berechtigungen eingerichtet, die Türen zu öffnen.
In Linux können wir die Befehle ll oder ls –l verwenden, um die Eigenschaften einer Datei sowie den Benutzer und die Gruppe der Datei anzuzeigen, wie zum Beispiel:
[root@www /]# ls -l total 64 dr-xr-xr-x 2 root root 4096 Dez 14 2012 bin dr-xr-xr-x 4 root root 4096 Apr 19 2012 boot ……
Im Beispiel:bin Die erste Eigenschaft der Datei wird mit d bezeichnet. d steht in Linux für eine Verzeichnisdatei.
在 Linux 中第一个字符代表这个文件是目录、文件或链接文件等等。
当为 d 则是目录
当为 - 则是文件;
若是 l 则表示为链接文档(link file);
若是 b 则表示为装置文件里面的可供储存的接口设备(可随机存取装置);
若是 c 则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。
接下来的字符中,以三个为一组,且均为 rwx 的三个参数的组合。其中, r 代表可读(read)、 w 代表可写(write)、 x 代表可执行(execute)。 要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号 - 而已。
每个文件的属性由左边第一部分的 10 个字符来确定(如下图)。
从左至右用 0-9 这些数字来表示。
第 0 位确定文件类型,第 1-3 位确定属主(该文件的所有者)拥有该文件的权限。
第4-6位确定属组(所有者的同组用户)拥有该文件的权限,第7-9位确定其他用户拥有该文件的权限。
其中,第 1、4、7 位表示读权限,如果用 r 字符表示,则有读权限,如果用 - 字符表示,则没有读权限;
第 2、5、8 位表示写权限,如果用 w 字符表示,则有写权限,如果用 - 字符表示没有写权限;第 3、6、9 位表示可执行权限,如果用 x 字符表示,则有执行权限,如果用 - 字符表示,则没有执行权限。
[root@www /]# ls -l total 64 drwxr-xr-x 2 root root 4096 Feb 15 14:46 cron drwxr-xr-x 3 mysql mysql 4096 Apr 21 2014 mysql ……
对于文件来说,它都有一个特定的所有者,也就是对该文件具有所有权的用户。
同时,在Linux系统中,用户是按组分类的,一个用户属于一个或多个组。
文件所有者以外的用户又可以分为文件所有者的同组用户和其他用户。
因此,Linux系统按文件所有者、文件所有者同组用户和其他用户来指定了不同的文件访问权限。
在以上示例中,mysql 文件是一个目录文件,属主和属组都为 mysql,属主有可读、可写、可执行的权限;与属主同组的其他用户有可读和可执行的权限;其他用户也有可读和可执行的权限。
对于 root 用户来说,一般情况下,文件的权限对其不起作用。
Syntax:
chgrp [-R] 属组名 文件名
Optionenparameter hinzufügen
-R: Rekursiv ändern Sie die Dateigruppe, wenn Sie die Gruppe einer bestimmten Verzeichnisdatei ändern, wenn Sie den-Der Parameter R, dann wird die Gruppe aller Dateien im Verzeichnis geändert.
Syntax:
chown [–R] Eigentümername Dateiname chown [-R] Eigentümername: Gruppennamen Dateiname
Eingeben /Das Verzeichnis root (~) ändert den Eigentümer von install.log in den Benutzerkonto bin:
[root@www ~] cd ~ [root@www ~]# chown bin install.log [root@www ~]# ls -l -rw-r--r-- 1 bin users 68495 Jun 25 08:53 install.log
Setzen Sie den Eigentümer und die Gruppe von install.log zurück auf root:
[root@www ~]# chown root:root install.log [root@www ~]# ls -l -rw-r--r-- 1 root root 68495 Jun 25 08:53 install.log
Linux-Datei-Attribute können auf zwei Arten eingerichtet werden, einmal numerisch und einmal symbolisch.
Linux-Datei-Berechtigungen gibt es neun, und sie sind: owner/group/others (Eigentümer/Gruppe/andere) Drei Arten von Identitäten haben ihre eigenen lesen/schreiben/ausführen Berechtigungen.
Zunächst ein kurzes Wiederholen der oben genannten Daten: Die Berechtigungszeichen der Datei sind: -rwxrwxrwx, diese neun Berechtigungen sind in Dreiergruppen gruppiert! Wir können Zahlen verwenden, um jede Berechtigung zu repräsentieren, und das对照表如下:
r:4
w:2
x:1
Jeder Identität (owner/group/others) Jede der drei Berechtigungen (r/w/x) Der Bruch muss addiert werden, zum Beispiel wenn die Berechtigungen sind: -rwxrwx--- Der Bruch ist:
owner = rwx = 4+2+1 = 7
group = rwx = 4+2+1 = 7
others = --- = 0+0+0 = 0
Daher ist die Berechtigungsnummer der Datei, die wir in Kürze ändern, 770.Die Syntax des Befehls zur Änderung der Berechtigungen chmod ist wie folgt:
chmod [-R] xyz Datei oder Verzeichnis
Optionen und Parameter:
xyz : Dies ist die刚才提到的数字类型的权限属性,是 rwx 属性数值的相加。
-R : Erfolgt eine rekursiv (recursive) kontinuierliche Änderung, d.h. auch alle Dateien im Unterverzeichnis werden geändert.
Zum Beispiel, wenn Sie alle Berechtigungen der Datei .bashrc aktivieren möchten, lautet der Befehl wie folgt:
[root@www ~]# ls -al .bashrc -rw-r--r-- 1 root root 395 Jul 4 11:45 .bashrc [root@www ~]# chmod 777 .bashrc [root@www ~]# ls -al .bashrc -rwxrwxrwx 1 root root 395 Jul 4 11:45 .bashrc
那如果要将权限变成 -rwxr-xr-- 呢?那么权限的分数就成为 [4+2+1][4+0+1][4+0+0]=754。
还有一个改变权限的方法,从之前的介绍中我们可以发现,基本上就九个权限分别是:
user:用户
group:组
others:其他
那么我们就可以使用 u, g, o 来代表三种身份的权限。
此外, a 则代表 all,即全部的身份。读写的权限可以写成 r, w, x,也就是可以使用下表的方式来看:
chmod | u g o a | +(加入) -(除去) =(设定) | r w x | 文件或目录 |
如果我们需要将文件权限设置为 -rwxr-xr-- ,可以使用 chmod u=rwx,g=rx,o=r 文件名 来设定:
# touch test1 // 创建 test1 文件 # ls -al test1 // 查看 test1 默认权限 -rw-r--r-- 1 root root 0 Nov 15 10:32 test1 # chmod u=rwx,g=rx,o=r test1 // 修改 test1 权限 # ls -al test1 -rwxr-xr-- 1 root root 0 Nov 15 10:32 test1
而如果是要将权限去掉而不改变其他已存在的权限呢?例如要拿掉全部人的可执行权限,则:
# chmod a-x test1 # ls -al test1 -rw-r--r-- 1 root root 0 Nov 15 10:32 test1