符
号模式
chmod [who] operator [permission] filename
<!--EndFragment-->
operator [+ 增加权限][- 取消权限][= 设定权限]
permission [r 读权限][w 写权限][x 执行权限][s 文件属主和组Set-ID][t 粘贴位*][l 给文件加锁,其他用户无法访问]
在列文件或目录时,有时会遇到“t”位。“t”代表了粘贴位。如果在一个目录上出现“t”位,这就意味着该目录中的文件只有其属主才可以删除,即使某个同组用户有和属主同等权限。不过有的系统在这一规则上并不十分严格。
下边是使用chmod的例子,我们假定myfile文件最初具有这样的权限rwxrwxrwx
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 —> rwxrw-r-- 赋予文件属主执行权限
绝
对模式
chmod [mode] file
其中mode是一个八进制数。
0400 文件属主可读 0200 文件属主可写 0100 文件属主可执行
0040 同组用户可读 0020同组用户可写 0010同组用户可执行
0004 其他用户可读 0002 其他用户可写 0001 其他用户可执行
目录的读权限意味着可以列出其中的内容,写权限意味着可以在该目录下创建文件,执行权限意味着可以搜索和访问该目录。
如果把同组用户或其他用户针对某一目录的权限设置为--x,那么它将无法列出该目录中的文件。如果该目录中有一个可执行的脚本程序,只要用户知道它的路径和文件名,仍然可以执行它。用户不能够进入该目录并不妨碍它的执行。
目录的权限将会覆盖此目录下文件的权限。
/*-------------------------------------- 改变文件权限命令 --------------------------------------*/
suid/guid
/*-------------------------------------- suid/guid --------------------------------------*/
suid意味着如果某个用户对属于自己的shell脚本设置了这种权限,那么其他用户在执行这一脚本的时也会具有其属主的相应权限。于是,如果跟用户的某一个脚本设置了这样的权限,那么其他登录的普通用户在执行它的期间也同样具有根用户的权限。同样的原则也适用于guid,执行相应脚本的用户将具有该文件所属用户组中用户的权限。
有相当一些UNIX命令也设置了suid和guid,可以进入/bin或/sbin目录执行一下命令:
ls -l | grep '^...s' 查找suid文件
ls -l | grep '^...s..s' 查找suid和guid文件
如果希望设置suid,那么就将相应的权限位之前的那一位设置为4,如果希望设置guid,那么就将相应的权限位之前的那一位设置为2,如果希望两者都置位,则设置为4+2。
例子:
chmod 4755 —> rwsr-xr-x 文件被设置了suid,文件属主具有rwx权限,所在其他用户具有rx
chmod 6711 —> rws--s--s 文件被设置了suid和guid,文件属主具有rwx权限,所在其他用户具有x
chmod 4764 —> rwsrw-r-- 文件被设置了suid,文件属主具有rwx权限,同组具有rw,其他具有r
/*-------------------------------------- suid/guid --------------------------------------*/
chown/chgrp
/*-------------------------------------- chown和chgrp --------------------------------------*/
chown -R -h owner file
-R 表示对所有子目录下的文件也进行同样的操作
-h 表示在改变符号链接文件的属主时不影响该链接所指向的目标文件
举例:
ls -l
-rw-r--r-- 1 root kangym 0 Dec 16 08:56 myfile
chown kangym myfile
-rw-r--r-- 1 kangym kangym 0 Dec 16 08:56 myfile
文件myfile的所有权现在由root交给kangym
chgrp admin myfile
-rw-r--r-- 1 kangym admin 0 Dec 16 08:56 myfile
用户kangym把文件myfile的所属组由kangym变更为admin
想知道自己所属于哪些用户组,可以使用group或id来查询。
为了找出其他用户所属哪些组,使用命令:group <username>
/*-------------------------------------- chown和chgrp --------------------------------------*/
umask
/*-------------------------------------- umask --------------------------------------*/
当最初登录到系统中时,umask命令确定了用户创建文件的缺省模式。这一命令实际上和chown相反。你的系统管理员必须要为你设置一个合理的umask值,以确保你创建的文件具有所希望的缺省权限,防止其他非同组用户对你的文件具有写权限。
一般来说,umask命令是在/etc/profile文件中设置的,每个用户在登录时都会引用这个文件,所以如果希望改变所有用户的umask,可以在该文件中加入相应的条目。
如果希望永久性的设置自己的umask值,那么就把它放在自己的$HOME目录下的.profile或.bash_profile文件中。
计算umask:只要记住umask是从权限中“拿走”相应的权限位即可。
/*-------------------------------------- umask --------------------------------------*/
符号链接
/*-------------------------------------- 符号链接 --------------------------------------*/
软链接和硬链接,软链接其实是一个指向文件的指针。
ln [-s] source_path target_path
其中的路劲可以是目录或文件
/*-------------------------------------- 符号链接 --------------------------------------*/
相关推荐
这份学习笔记将深入探讨Shell编程的基础,包括文件权限与安全,这是理解Linux和Unix系统管理的关键。 首先,我们关注文件权限。在Linux和Unix中,每个文件和目录都有三个基本的权限:读(r)、写(w)和执行(x)。...
在《LINUX与UNIX SHELL编程指南》这本书中,作者详细介绍了Linux及Unix系统中关于文件的安全性和权限管理的核心概念。这部分内容非常重要,因为理解文件权限对于有效地管理和保护系统资源至关重要。 **1. 文件的...
10. **权限与文件属性**:理解Linux的用户和组权限系统,以及`chmod`和`chown`命令的使用。 通过深入学习和实践这些内容,你将逐渐掌握Linux系统的基本操作,并具备编写简单Shell脚本的能力。记得,学习过程中要多...
《LINUX与UNIX SHELL编程指南》是一本深入讲解Linux和Unix系统中shell编程的权威著作,对于理解和掌握shell脚本编写技巧具有重要的指导意义。本文将基于书中的主要章节和学习笔记,详细阐述shell、find命令以及后台...
通过对《Linux与Unix Shell编程经典教程》的读书笔记进行总结,我们不仅了解了SHELL在Linux和Unix系统中的重要地位,还掌握了文件的安全与权限管理方面的基础知识。这对于学习Linux/Unix操作系统、进行系统管理和...
在深入探讨《LINUX与UNIX SHELL编程指南》的读书笔记之前,让我们先理解什么是Linux和Unix Shell编程。Linux和Unix是两种广泛使用的类UNIX操作系统,它们提供了命令行界面(CLI),用户通过输入命令来执行任务。...
《Unix Shell 实例精解》是一本专注于Unix操作系统与Shell编程的学习笔记,它以其丰富的实战案例为亮点,帮助读者深入理解和掌握Unix环境下的命令行操作与脚本编程技巧。Unix Shell是Unix系统中的一个交互式命令解释...
12. **脚本权限与执行**:设置脚本文件的执行权限(如`chmod +x script.sh`),并使用`./script.sh`来运行。 通过阅读《LINUX与UNIX SHELL编程指南》,你可以系统学习上述知识点,逐步提升在Linux和Unix环境中的...
《LINUX与UNIX SHELL编程指南》是一本深入讲解Linux和...结合书中的实例和《LINUX与UNIX SHELL编程指南》读书笔记-二次发布版.pdf,学习效果会更佳,因为笔记通常会提炼关键概念并提供实践经验,有助于巩固理论知识。
本文档全面介绍了Linux与Unix Shell编程中涉及到的基本文件安全和权限概念,以及常用的文本处理命令如awk、grep和sed。通过深入学习这些内容,读者不仅可以掌握如何管理文件权限,还能学会如何高效地处理文本文件。...
《LINUX与UNIX SHELL编程指南》是一本深入讲解Linux和UNIX Shell编程的经典书籍,作者张启峰在读书笔记中不仅归纳总结了书中的核心概念,还提供了丰富的实践示例,旨在帮助读者全面掌握Shell编程技能。以下是根据...
本文档主要介绍了《LINUX与UNIX SHELL编程指南》这本书的部分内容,通过读书笔记的形式分享了Shell编程的基本概念、文件权限管理等方面的知识。 #### 二、文件安全与权限 文件的安全性和权限管理是Shell编程中非常...
通过阅读这本书和相关的读书笔记,读者不仅可以学习到基本的shell编程知识,还能深入理解Linux和Unix系统的工作原理,从而更好地管理和自动化日常工作。这本书对于系统管理员、开发者以及所有希望提高Linux终端技能...
Unix Shell 实例精解学习笔记 本文档主要介绍 Unix Shell 的基础知识,涵盖了 Shell 的定义、主要功能、常见 Shell 命令、正则表达式的基础知识和应用。 一、Unix Shell 定义 Shell 是一种特殊的程序,被用作用户...
6. **权限与文件属性**:每个文件都有所有者、组和其他用户的读、写、执行权限。`chmod()`, `chown()`, `chgrp()`函数用于修改这些属性。此外,还有符号链接、硬链接等高级特性。 7. **Shell编程**:Bash是最常见的...
《LINUX与UNIX SHELL编程指南》读书笔记.pdf可能包含了作者对原书的解读和实践经验。笔记中可能会强调错误处理、调试技巧,以及如何利用awk、sed等文本处理工具增强Shell脚本的功能。此外,文件和目录的权限管理、...
文件描述符的管理是Shell编程中不可或缺的一部分,学习笔记中讲解了如何重定向文件描述符,使用exec创建文件描述符,以及处理系统的标准文件描述符。数组和关联数组的使用也是学习笔记的重要内容之一,区分了数组和...
《Unix + Shell 实例精解》是一本深入探讨Unix操作系统及其强大的Shell脚本编程的书籍。这本书通过丰富的实例,帮助读者理解Unix系统的工作原理,并掌握Shell脚本的编写技巧,从而提升在Unix环境下的工作效率。 ...
6. **权限与文件系统**:探讨文件权限、用户和组的概念,如何使用chmod()、chown()、chgrp()改变文件属性,以及如何遍历和操作目录。 7. **进程间通信**:包括管道(Pipe)、共享内存、消息队列、信号量和套接字等...
Shell编程是Linux和Unix系统中的一种命令行解释器,它为用户提供了一个与操作系统交互的界面。通过Shell,用户可以执行系统命令、编写脚本并自动化日常任务。在深入讲解shell编程之前,先来理解一下shell的基本概念...