Haste makes waste

linux-06-用户权限与访问权限

Posted on By lijun

本节理解目录和文件的所有者与所有权,使用chown / chmod / chgrp对文件的所有者或所有权进行更改。

1. 文件的所有者与所有group

  • 修改所有者(chown)
chown ユーザ [. グループ] ディレクトリ 
chown ユーザ [. グループ] ファイル 

1. -R,针对目录,如果有嵌套的话,将该目录下的所有文件和目录进行修改。
  • 修改所有group(chgrp)

与上面类似

2. 文件与访问权限

每个文件有如下的三类所属用户:

  • 文件的所有者用户
  • 文件的所有group中的用户(除去上面的所有者用户)
  • 其他用户

文件的权限有三类: 读 / 写 / 执行 ,使用chmod能修改文件的mode。

2.1 文件的访问权限

使用 ls -l,能输出每个文件或目录的权限:

  • d rwx rwx rwx: d表示文件种别,第一个rwx表示所有者用户权限,第二个表示所有group的,第三个表示其他用户的。
  • r:读
  • w:写
  • x:执行或是目录移动
$ ls-l .bashrc 
-rw-r--r-- 1 penguin linux 124 2月 6 02:44 .bashrc 
(所有者が読み書き,所有グループが読み,その他が読み)

$ ls -l /usr 
合計 272 
drwxr-xr-x 3 root root 4096 2月 6 01:45 X11R6 
drwxr-xr-x 2 root root 4096 2月 8 13:07 arc 
drwxr-xr-x 2 root root 69632 2月 9 04:02 bin 
...

2.2 访问权的变更

有如下两种方式对目录和文件进行访问权的修改:

chmod モード [, モード]... ディレクトリ 
chmod モード [, モード]... ファイル 
chmod 8 進数表記のモード ディレクトリ 
chmod 8 進数表記のモード ファイル 

1. -R,递归执行

【截图】

  • g+w给group追加write权限
  • u-r给user去掉read权限,o+w给other其他用户添加write权限
$ chmod u-r,o+w chownfile 
ユーザから r(読み込み権限) を除去その他に w(書き込み権限) を追加 
$ ls -l chownfile 
--w-rw-rw- 1 penguin lpic 124 3  27 19:09 chownfile 

$ chmod go+x chownfile グループとその他に x(実行権限) を追加 
$ ls -l chownfile 
--w-rwxrwx 1 penguin lpic 124 3  27 19:09 
$ chmod 664 chownfile 
ファイルモードを 664 に変更 
$ ls -l chownfile 
-rw-rw-r-- 1 penguin lpic 124 3  27 19:09 chownfile 
ファイルモードを表示 

2.3 文件作成时的mode

文件生成时,默认为644或664,通过umask可以指定特定的permission。

$ umask 
0022 
(現在のマスク値を表示) 

$ touch umask0022 
(ファイルを作成) 

$ umask 070 
(マスク値を 070 に変更) 
$ touch umask0070 
(ファイルを作成) 

$ umask 072 
(マスク値を 072 に変更) 
$ touch umask0072 
(ファイルを作成) 
$ ls -l umask00* 
-rw-r--r-- 1 penguin lpic 0 3 月 22 13:49 umask0022 
-rw----rw- 1 penguin lpic 0 3 月 22 13:50 umask0070 
-rw----r-- 1 penguin lpic 0 3 月 22 13:50 umask0072 
(作成したファイルの権限を確認) 

添加 -Soptio后,能以rwx的形式表示mode

$ umask -S 
u=rwx,g=rx,o=rx 
現在のマスク値を表示 
$ touch umask0022 
ファイルを作成 

$ umask -S u=rw,g=,o=rw u=rw,g=,o=rw 
マスク値を 070 に変更 
$ touch umask0070 
ファイルを作成 

$ ls -l umask00* 
-rw-r--r-- 1 penguin lpic 0 3  22 13:49 umask0022 
-rw----rw- 1 penguin lpic 0 3  22 13:50 umask0070 
作成したファイルのモードを確認 

使用umask对mode进行限制,只在当前执行的shell环境内有效,如果需要修改默认mode的话,需要修改文件.bashrc