suid/guid
1、为什么要使用这种类型的脚本?
例如有几个着几个大型的数据库系统,对它们进行备份需要有系统管理权限。可以写几个脚本,并设置了它们的g u i d,这样就可以指定的一些用户来执行这些脚本就能够完成相应的工作,而无须以数据库管理员的身份登录,以免不小心破坏了数据库服务器。通过执行这些脚本,他们可以完成数据库备份及其他管理任务,但是在这些脚本运行结束之后,他们就又回复到他们作为普通用户的权限。
2、查找suid/guid命令
有相当一些U N I X命令也设置了s u i d和g u i d。如果想找出这些命令,可以进入/ b i n或/ s b i n目录,执行下面的命令:
$ ls -l | grep '^...s'
上面的命令是用来查找s u i d文件的;
$ ls -l | grep '^...s..s'
上面的命令是用来查找s u i d和g u i d的。
3、设置UID
设置s u i d:将相应的权限位之前的那一位设置为4;
设置g u i d:将相应的权限位之前的那一位设置为2;
两者都置位:将相应的权限位之前的那一位设置为4+2=6。
设置了这一位后x的位置将由s代替。
记住:在设置s u i d或g u i d的同时,相应的执行权限位必须要被设置。
例如,如果希望设置g u i d,那么必须要让该用户组具有执行权限。
如果想要对文件l o g i n[它当前所具有的权限为rwx rw- r-- (741)]设置s u i d,,可在使用c h m o d命令时在该权限数字的前面加上一个4,即chmod 4741,这将使该文件的权限变为r w s rw- r - -。
$ chmod 4741 login
设置suid/guid的例子
命令 结果 含义
chmod 4755 rws r-x r- x 文件被设置了s u i d,文件属主具有读、写和执行的权限,其他用户具有读和执行的权限
chmod 6711 rws --s --x 文件被设置了s u i d和g u i d,文件属主具有读、写和执行的权限,其他用户具有执行的权限
chmod 4764 rws rw- r- - 文件被设置了s u i d,文件属主具有读、写和执行的权限,属组用户具有读和执行的权限,用户具有读权限
4、还可以使用符号方式来设置s u i d / g u i d。如果某个文件具有这样的权限: rwx r-x r- x,那么可以这样设置其s u i d:
chmod u+s <filename>;
于是该文件的权限将变为: rws r-x r-x
在查找设置了s u i d的文件时,没准会看到具有这样权限的文件:rwS r-x r- x,其中S为大写。
它表示相应的执行权限位并未被设置,这是一种没有什么用处的s u i d设置,可以忽略它的存在。
注意,c h m o d命令不进行必要的完整性检查,可以给某一个没用的文件赋予任何权限,但chmod 命令并不会对所设置的权限组合做什么检查。因此,不要看到一个文件具有执行权限,就认为它一定是一个程序或脚本。
分享到:
相关推荐
1. setuid(设置用户ID)和suid/guid(设置用户ID/组ID) 在Linux系统中,setuid是指让普通用户能够以其它用户(通常是root)的权限执行特定命令。这通常用于系统程序,允许它们访问用户的私有文件。suid/guid指的是...
5. **chown和chgrp**:更改文件属主和属组,但会清除suid/guid。 6. **umask**:设置文件创建时的默认权限,如`umask 022`意味着新创建的文件默认为`rw-r--r--`。 7. **软链接和硬链接**:`ln -s sourcefile ...
- suid/guid命令用于设置或显示suid和guid位。 7. chown与chgrp命令 - chown用于改变文件或目录的所有者。 - chgrp用于改变文件或目录的组。 8. 权限应用实例 通过Shell编程,可以根据不同场景设置权限,例如: - ...
- **2.6.1 设置 suid/guid 的例子** - 设置一个可执行文件的 SUID:`chmod u+s executable`。 - 设置一个可执行文件的 GUID:`chmod g+s executable`。 - **2.7 CHOWN 和 CHGRP** - **chown**:改变文件或目录...
suid和guid标志是在文件权限中显示为s的地方,表示setuid或setgid位被设置。例如,ls -l /bin/su可能会显示-rwsr-xr-x。 通过上面的解释可以了解到,Shell命令在操作系统中扮演着重要的角色,是进行系统管理、文件...
特殊权限suid和guid分别代表“set user ID upon execution”和“set group ID upon execution”,它们允许用户以文件所有者的身份或所属组的身份运行程序,这对于提高安全性或实现某些特定功能非常有用。 #### ...
同时,也介绍了目录、suid/guid的概念、chown和chgrp命令来修改文件所有者或用户组,以及如何使用umask来设定新创建文件和目录的默认权限。 文件名置换部分讲解了如何使用通配符*、?和[]等在Shell中进行文件名匹配...
学习了如何设置特殊权限suid/guid,并详细讨论了如何使用chown和chgrp来更改文件的所有者和用户组。此外,umask的概念也被详细解释,它用于设置新创建文件的默认权限。最后,章节还解释了符号链接的概念及其用途。 ...
在第一部分中,教程首先介绍了文件系统的基本概念,包括文件和目录的管理、权限的设置和修改、suid/guid位的作用以及如何使用umask设置默认权限。权限管理是Shell操作的基础,通过`chmod`命令,我们可以改变文件的读...
总之,这份文档是从一份关于Linux和UNIX环境下Shell编程的指南中提取出的部分内容,涵盖了Shell函数定义、文件权限和所有权管理、suid和guid权限设置、以及umask命令的详细用法等多个方面。通过这些知识,读者可以...
- **1.6.2 设置suid/guid的例子**: - `chmod u+s filename`:为文件所有者添加suid权限。 - `chmod g+s filename`:为文件所属组添加guid权限。 **1.7 chown 和 chgrp** - **1.7.1 chown举例**: - `chown ...
### Unix Shell 编程知识点概览 #### 一、文件权限与管理 ##### 1. 文件权限基础 ...通过以上知识点的学习,我们可以更好地掌握Unix Shell编程的基础知识,为日常的系统管理和自动化任务提供强大的支持。
总的来说,这份"LINUX与UNIX_Shell编程指南"的学习笔记将带你深入探索Shell编程的核心概念,不仅包括基础的文件权限和安全,还可能涉及更高级的主题,如脚本编写技巧、错误处理和调试方法。掌握这些知识,你将成为一...