一些Linux Shell中的权限相关知识总结

   这篇文章主要介绍了一些Linux Shell中的权限相关知识总结,使Linux入门学习中的基础知识,需要的朋友可以参考下

  一个文件一经创建,就具有三种访问方式:

  1) 读,可以显示该文件的内容。

  2) 写,可以编辑或删除它。

  3) 执行,如果该文件是一个s h e l l脚本或程序。

  按照所针对的用户,文件的权限可分为三类:

  1) 文件属主,创建该文件的用户。

  2) 同组用户,拥有该文件的用户组中的任何用户。

  3) 其他用户,即不属于拥有该文件的用户组的某一用户

  文件的全部信息包括以下:

  文件的位置。

  文件类型。

  文件长度。

  哪位用户拥有该文件,哪些用户可以访问该文件。

  节点。

  文件的修改时间。

  文件的权限位。

  可以通过ls -l来查看这些信息,如下面

  ?

1
2
3
4
5
6
7

[root@ksharpdabu home]# ls -l
total 24
drwxr-xr-x 2 root root 4096 Mar 15 10:00 Bakblog
-rwx------ 1 root root 786 Mar 15 10:18 backupblog.sh
-rw-r--r-- 1 root root 614 Mar 16 18:38 bk.sh
drwx------ 2 www www 4096 Feb 28 17:04 www
drwxr-xr-x 7 www www 4096 Mar 15 10:04 wwwroot

  total24:表示该目录下所有文件所占用的空间

  前面的一横杠表示普通文件,以下是文件类型:

  d 目录。

  l 符号链接(指向另一个文件)。

  s 套接字文件。

  b 块设备文件。

  c 字符设备文件。

  p 命名管道文件。

  - 普通文件,或者更准确地说,不属于以上几种类型的文件。

  -rw-r--r--:表示文件的相关权限,除去前面的横杠,总共九个字符,

  分别对应9个权限,前三个字符代表文件属主权限,中间三个代表同组用户权限,后面三个字符代表其他用户权限。每个人对文件都有三种操作

  r 读权限

  w 写/更改权限

  x 执行该脚本或程序的权限

  当用户创建一个新的 文件时候,系统为了安全考虑,一般不会给文件的创建者执行的权限,即x。,对于文件属主来说,在只有读权限位被置位的情况下,仍然可以通过文件重定向的方法向该文件写入。注意能否删除一个文件还依赖于该文件所在目录权限位的设置。我个人认为是取文件所在目录和文件自身权限的交集。

  件所在目录权限位的设置。 一些举例:

  权限所代表的含义

  r-- --- --- 文文件属主可读,但不能写或执行

  r-- r-- --- 文文件属主和同组用户(一般来说,是文件属主所在的缺省组)可读

  r-- r-- r- - 文任何用户都可读,但不能写或执行

  rwx r-- r- - 文文件属主可读、写、执行,同组用户和其他用户只可读

  rwx r-x --- 文文件属主可读、写、执行,同组用户可读、执行

  rwx r-x r- x 文文件属主可读、写、执行,同组用户和其他用户可读、执行

  rw- rw- --- 文文件属主和同组用户可读、写

  rw- rw- r- - 文文件属主和同组用户可读、写,其他用户可读

  rw- rw- --- 文文件属主和同组用户及其他用户读可以读、写,慎用这种权限设置,因为任何用户都可以写入该文件

  改变文件或目录的权限的方法,以下命令常用,切记

  chmod命令的一般格式为:

  chmod [who] operator [permission] filename

  w h o的含义是:

  u 文件属主权限。

  g 同组用户权限。

  o 其他用户权限。

  a 所有用户(文件属主、同组用户及其他用户)。

  o p e r a t o r的含义:

  + 增加权限。

  - 取消权限。

  = 设定权限。

  p e r m i s s i o n的含义:

  r 读权限。

  w 写权限。

  x 执行权限。

  s 文件属主和组s e t - I D。

  t 粘性位*。

  l 给文件加锁,使其他用户无法访问。

  u,g,o 针对文件属主、同组用户及其他用户的操作。

  *在列文件或目录时,有时会遇到“ t”位。“t”代表了粘性位。如果在一个目录上出现 “t”位,这就意味着该目录中的 文件只有其属主才可以删除,即使某个同组用户具有和属主

  同等的权限。不过有的系统在这一规则上并不十分严格。

  如果在文件列表时看到“ t”,那么这就意味着该脚本或程序在执行时会被放在交换区(虚

  存)。不过由于当今的内存价格如此之低,大可不必理会文件的“ t”的使用。

  举例:修改myfile的权限

  命令 结果 含义

  chmod a-x myfile rw- rw- rw- 收回所有用户的执行权限

  chmod og-w myfile rw- r-- r- - 收回同组用户和其他用户的写权限

  chmod g+w myfile rw- rw- r- - 赋予同组用户写权限

  chmod u+x myfile rwx rw- r- - 赋予文件属主执行权限

  chmod go+x myfile rwx rwx r- x 赋予同组用户和其他用户执行权限

  当我们创建test文件时,它的权限如下:

  ?

1

-rw-r--r-- 1 dave admin 614 Mar 16 18:38

  我希望自己具有执行权限,而取消其他所有用户的读权限,修改如下;

  ?

1

#chmod u+x o-r test

  test的文件权限就变为

  ?

1

-rwxr----- 1 dave admin 614 Mar 16 18:38

  如果希望某个脚本文件对你自己来说可执行,而且你对该文件的缺省权限很放心,那么只要使它对你来说具有执行权限即可。

  ?

1

# chmod u+x dt

  权限的绝对模式(就是用数字表示权限)

  chmod命令绝对模式的一般形式为:

  ?

1

chmod [mode] file

  其中mode是一个八进制数。r就是4,w就是2,x就是1.

  文件属主 同组用户 其他用户

  r w x r w x r w x

  4 + 2 + 1 4 + 2 + 1 4 + 2 + 1

  7 7 7

  修改test文件为rwxr--r--

  ?

1

#chmod 744 test

  修改mydir目录极其子目录权限为rwxr--r--

  ?

1

#chmod -R 744 mydir //其中的-R表示递归,就是把mydir目录下的所有文件,子目录都改为744

  目录:

  目 录的权限位和文件有所不同。目录的读权限位意味着可以列出其中的内容。写权限位意味着可以在该目录中创建文件,如果不希望其他用户在你的目录中创建文件, 可以取消相应的写权限位。执行权限位则意味着搜索和访问该目录。如果把同组用户或其他用户针对某一目录的权限设置为- - x,那么他们将无法列出该目录中的文件。如果该目录中有一个执行位置位的脚本或程序,只要用户知道它的路径和文件名,仍然可以执行它。用户不能够进入该目 录并不妨碍他的执行。目录的权限将会覆盖该目录中文件的权限。即取他们的交集

  注意,c h m o d命令不进行必要的完整性检查,可以给某一个没用的文件赋予任何权限,但

  chmod 命令并不会对所设置的权限组合做什么检查。因此,不要看到一个文件具有执行权限,

  就认为它一定是一个程序或脚本。

  suid和guid这里就不介绍了,可自行google文档,或书籍

  chown:修改文件所有者

  chgrp:修改文件所有组

  c h o w n命令的一般形式为:

  ?

1

chmod -R -h owner file

  - R选项意味着对所有子目录下的文件也都进行同样的操作。- h选项意味着在改变符号链接文件的属主时不影响该链接所指向的目标文件。

  chgrp和chown用法差不多,可自行man

  查看自己所属于的组的命令:

  ?

1

#group或#id

  查看其它用户属于哪个组命令:

  ?

1

#group 用户名

时间: 2024-11-03 16:30:39

一些Linux Shell中的权限相关知识总结的相关文章

一些Linux Shell中的权限相关知识总结_linux shell

一个文件一经创建,就具有三种访问方式: 1) 读,可以显示该文件的内容. 2) 写,可以编辑或删除它. 3) 执行,如果该文件是一个s h e l l脚本或程序. 按照所针对的用户,文件的权限可分为三类: 1) 文件属主,创建该文件的用户. 2) 同组用户,拥有该文件的用户组中的任何用户. 3) 其他用户,即不属于拥有该文件的用户组的某一用户 文件的全部信息包括以下: 文件的位置. 文件类型. 文件长度. 哪位用户拥有该文件,哪些用户可以访问该文件. 节点. 文件的修改时间. 文件的权限位. 可

linux shell 中 2>&1的含义_linux shell

linux shell 中"2>&1"的含义 脚本: nohup /mnt/Nand3/H2000G  >/dev/null  2>&1  & 对于& 1 更准确的说应该是文件描述符 1,而1 一般代表的就是STDOUT_FILENO,实际上这个操作就是一个dup2(2)调用.他标准输出到all_result ,然后复制标准输出到文件描述符2(STDERR_FILENO),其后果就是文件描述符1和2指向同一个文件表项,也可以说错误的输出

java中数组的相关知识小结(推荐)_java

1.  2.数组的命名方法 1)int[]ages=new int[5]; 2) int[]ages;     ages=new int[5]; 3)int[]ags={1,2,3,4,5}; 4)int[]ags;    ags=new int{1,2,3,4};    或者   int[]ags=new int{1,2,3,4}; 3.java不支持不同类型的重名数组 4.java中数组的循环赋值 package dierge; public class Shuzu { public sta

Linux shell中的竖线(|)——…

原文地址:Linux shell中的竖线(|)--管道符号作者:潇潇 管道符号,是unix一个很强大的功能,符号为一条竖线:"|". 用法: command 1 | command 2 他的功能是把第一个命令command 1执行的结果作为command 2的输入传给command 2,例如: $ls -s|sort -nr (请注意不要复制$符号进去哦) -s 是file size,-n是numeric-sort,-r是reverse,反转 该命令列出当前目录中的文档(含size),

[转载]Linux shell中的竖线(|)——管道符号

原文地址:Linux shell中的竖线(|)--管道符号作者:潇潇 管道符号,是unix一个很强大的功能,符号为一条竖线:"|". 用法: command 1 | command 2 他的功能是把第一个命令command 1执行的结果作为command 2的输入传给command 2,例如: $ls -s|sort -nr (请注意不要复制$符号进去哦) -s 是file size,-n是numeric-sort,-r是reverse,反转 该命令列出当前目录中的文档(含size),

Linux shell中的I/O重定向相关(转)

1. 基本概念(这是理解后面的知识的前提,请务必理解)  a. I/O重定向通常与 FD有关,shell的FD通常为10个,即 0-9: b. 常用FD有3个,为0(stdin,标准输入).1(stdout,标准输出).2(stderr,标准错误输出),默认与keyboard.monitor.monitor有关: c. 用 < 来改变读进的数据信道(stdin),使之从指定的档案读进: d. 用 > 来改变送出的数据信道(stdout, stderr),使之输出到指定的档案: e. 0 是 &

Linux Shell中的特殊符号和含义简明总结(包含了绝大部份)_linux shell

在Linux Shell中有很多的特殊符号,这对于我们写Shell脚本时要特别留意:一方面要知道这些特殊符号的用法,这些符号用好了可以达到事半功倍的效果:但另一方面要避免这些特殊符号的过度使用而导致脚本难以调试.难以阅读. 这些特殊符号罗列出来大致如下: 复制代码 代码如下: # ; ;; . , / / 'string'| ! $ ${} $? $$ $* "string"* ** ? : ^ $# $@ `command`{} [] [[]] () (()) || &&am

Linux shell中的那些小把戏

我日常使用Linux shell(Bash),但是我经常忘记一些有用的命令或者shell技巧.是的,我能记住一些命令,但是肯定不会只在特定的任务上使用一次,所以我就开始在我的Dropbox账号里用文本文件写下这些Linux shell的小技巧,现在我决定共享它给你.这个表我以后还会更新.记住,这里的一些贴士需要在你的Linux发行版上安装额外的软件. 在bash中检查远程端口是否打开: echo >/dev/tcp/8.8.8.8/53 && echo "open"

Linux操作系统中超级权限控制的应用

  在Linux操作系统中,root的权限是最高的,也被称为超级权限的拥有者.普通用户无法执行的操作,root用户都能完成,所以也被称之为超级管理用户. 在系统中,每个文件.目录和进程,都归属于某一个用户,没有用户许可其它普通用户是无法操作的,但对root除外.root用户的特权性还表现在root可以超越任何用户和用户组来对 文件或目录进行读取.修改或删除(在系统正常的许可范围内);对可执行程序的执行.终止;对硬件设备的添加.创建和移除等;也可以对文件和目录进行属主和权限进行修改,以适合系统管理