English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Linuxシステムは、典型的なマルチユーザーシステムであり、異なるユーザーは異なる地位にあり、異なる権限を持っています。
システムの安全性を保護するため、Linuxシステムは、異なるユーザーが同じファイル(ディレクトリファイルを含む)にアクセスする際の権限を異なった指定をしています。
Linuxでは、ファイルやディレクトリの所有者と権限を変更するために以下の2つのコマンドを使用します:
chown(変更オーナー):所有者とグループを変更します。
chmod(変更モード):ユーザーの権限を変更します。
下図では、chownを使用してユーザーに権限を付与し、chmodを使用してユーザーに開ける権限を設定しています。
Linuxでは、llまたはls -lコマンドを使用して、ファイルの属性やファイルの所有者とグループを表示できます。例えば:
[root@www /]# ls -l total 64 dr-xr-xr-x 2 ルート ルート 4096 Dec 14 2012 bin dr-xr-xr-x 4 ルート ルート 4096 Apr 19 2012 boot ……
例では、bin ファイルの最初の属性は d で表されます。d は Linux ではディレクトリファイルを意味します。
在 Linux 中第一个字符代表这个文件是目录、文件或链接文件等等。
当为 d 则是目录
当为 - 则是文件;
Linuxでは、最初の文字はこのファイルがディレクトリ、ファイル、リンクファイルなどであることを表します。
当てはまる場合、dはディレクトリです。
これはファイルです;
lの場合、リンクドキュメント(link file)を表します。 - bの場合、デバイスファイル内の格納可能なインターフェースデバイス(ランダムアクセスデバイス)を表します。
cの場合、デバイスファイル内のシリアルポートデバイス(キーボード、マウスなどの一時読み取りデバイス)を表します。 10 次の文字の中で、3文字ずつグループ化され、rwxの3つのパラメータの組み合わせです。そのうち、rは読み取り(read)、wは書き込み(write)、xは実行(execute)を表します。注意するべきは、これらの権限の位置が変更されないことです。権限がない場合、マイナス記号が表示されます。
既に述べたように。 0-9 各ファイルの属性は、左側の最初の部分で決定されます。
文字で表現される場合、読み取り権限はありません;桁で表現される場合、読み取り権限があります。r文字で表現される場合、読み取り権限がありますが、 0 左から右に向かって、各桁で1文字を使用して決定します(以下の図を参照)。 1-3 これらの数字で表現されます。
文字で表現される場合、読み取り権限はありません;桁で表現される場合、読み取り権限があります。r文字で表現される場合、読み取り権限がありますが、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システムでは、ユーザーはグループに分類されており、ユーザーは1つのまたは複数のグループに属しています。
ファイルの所有者以外のユーザーは、所有者と同じグループのユーザーと他のユーザーに分類されます。
したがって、Linuxシステムでは、ファイルの所有者、所有者と同じグループのユーザー、他のユーザーに対して異なるファイルアクセス権限を指定しています。
上記の例では、mysqlファイルはディレクトリファイルであり、所有者と属組はすべてmysqlで、所有者には読み取り、書き込み、実行の権限があります;所有者と同じグループの他のユーザーには読み取りと実行の権限があります;他のユーザーにも読み取りと実行の権限があります。
rootユーザーの場合、通常、ファイルの権限はそのユーザーに対して効果がありません。
语法:
chgrp [-R] 属组名 文件名
参数选项
-R:递归更改文件属组,就是在更改某个目录文件的属组时,如果加上-Rの引数がある場合、そのディレクトリ下のすべてのファイルの属組が変更されます。
语法:
chown [–R] 属主名 ファイル名 chown [-R] 属主名:属组名 ファイル名
进入 /root ディレクトリ(~)install.logの所有者をbinこのアカウントに変更します:
[ルート@www ~] cd ~ [ルート@www ~]# chown bin install.log [ルート@www ~]# ls -l -rw-r--r-- 1 bin users 68495 Jun 25 08:53 install.log
将install.log的拥有者与群组改回为root:
[ルート@www ~]# chown root:root install.log [ルート@www ~]# ls -l -rw-r--r-- 1 ルート ルート 68495 Jun 25 08:53 install.log
Linux文件属性有两种设置方法,一种是数字,一种是符号。
Linux 文件的基本权限就有九个,分别是 owner/group/others(拥有者/组/其他) 三种身份各有自己的 read/write/execute 权限。
先复习一下刚刚上面提到的数据:文件的权限字符为: -rwxrwxrwx , 这九个权限是三个三个一组的!其中,我们可以使用数字来代表各个权限,各权限的分数对照表如下:
r:4
w:2
x:1
每种身份(owner/group/others) 各自的三个权限(r/w/x) 分数是需要累加的,例如当权限为: -rwxrwx--- 分数则是:
owner = rwx = 4+2+1 = 7
group = rwx = 4+2+1 = 7
others = --- = 0+0+0 = 0
因此,在设置权限变更时,该文件的权限数字就是 770。变更权限的指令 chmod 的语法是这样的:
chmod [-R] xyz ファイルまたはディレクトリ
选项与参数:
xyz: 就是指刚刚提到的数字类型的权限属性,为 rwx 属性数值的相加。
-R: 递归(recursive)的持续变更,即包括次目录下的所有文件都会变更
例えば、.bashrc というファイルのすべての権限を有効に設定するには、以下の命令を使用します:
[ルート@www ~]# ls -al .bashrc -rw-r--r-- 1 ルート ルート 395 Jul 4 11:45 .bashrc [ルート@www ~]# chmod 777 .bashrc [ルート@www ~]# ls -al .bashrc -rwxrwxrwx 1 ルート ルート 395 Jul 4 11:45 .bashrc
それでは、権限を以下のようになります: -rwxr-xr-- どうでしょうか?それでは、権限のスコアは以下のようになります:4+2+1][4+0+1][4+0+0]=754。
権限を変更するもう一つの方法があります。前の紹介からわかるように、基本的には9つの権限があります:
user:ユーザー
group:グループ
others:他の
したがって、 u, g, o を使用して、3つのアイデンティティの権限を表現します。
さらに、 a これは以下を意味します: all、つまりすべてのアイデンティティです。読み書きの権限は r, w, x と書かれ、以下のテーブルを使用して確認できます:
chmod | u g o a | +(追加) -(削除) =(設定) | r w x | ファイルまたはディレクトリ |
ファイルの権限を設定する必要がある場合、例えば: -rwxr-xr-- 、chmod u=rwx,g=rx,o=r ファイル名を使用して設定することができます:
# touch test1 // test の作成1 ファイル # ls -al test1 // test の確認1 デフォルトの権限 -rw-r--r-- 1 root root 0 Nov 15 10:32 test1 # chmod u=rwx,g=rx,o=r test1 // test の変更1 権限 # 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