`
BabyDuncan
  • 浏览: 584372 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

suid/guid 的基本知识和设置方法

阅读更多
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 命令并不会对所设置的权限组合做什么检查。因此,不要看到一个文件具有执行权限,就认为它一定是一个程序或脚本。
分享到:
评论

相关推荐

    Linux shell脚本编程

    1. setuid(设置用户ID)和suid/guid(设置用户ID/组ID) 在Linux系统中,setuid是指让普通用户能够以其它用户(通常是root)的权限执行特定命令。这通常用于系统程序,允许它们访问用户的私有文件。suid/guid指的是...

    《Shell脚本编程》-(2)PPT课件.ppt

    5. **chown和chgrp**:更改文件属主和属组,但会清除suid/guid。 6. **umask**:设置文件创建时的默认权限,如`umask 022`意味着新创建的文件默认为`rw-r--r--`。 7. **软链接和硬链接**:`ln -s sourcefile ...

    Linux与UNIX Shell编程指南

    - suid/guid命令用于设置或显示suid和guid位。 7. chown与chgrp命令 - chown用于改变文件或目录的所有者。 - chgrp用于改变文件或目录的组。 8. 权限应用实例 通过Shell编程,可以根据不同场景设置权限,例如: - ...

    linux-shell学习笔记.pdf

    - **2.6.1 设置 suid/guid 的例子** - 设置一个可执行文件的 SUID:`chmod u+s executable`。 - 设置一个可执行文件的 GUID:`chmod g+s executable`。 - **2.7 CHOWN 和 CHGRP** - **chown**:改变文件或目录...

    Shell命令大全_标注.pdf

    suid和guid标志是在文件权限中显示为s的地方,表示setuid或setgid位被设置。例如,ls -l /bin/su可能会显示-rwsr-xr-x。 通过上面的解释可以了解到,Shell命令在操作系统中扮演着重要的角色,是进行系统管理、文件...

    SHELL编程基础

    特殊权限suid和guid分别代表“set user ID upon execution”和“set group ID upon execution”,它们允许用户以文件所有者的身份或所属组的身份运行程序,这对于提高安全性或实现某些特定功能非常有用。 #### ...

    LINUX与UNIX Shell

    同时,也介绍了目录、suid/guid的概念、chown和chgrp命令来修改文件所有者或用户组,以及如何使用umask来设定新创建文件和目录的默认权限。 文件名置换部分讲解了如何使用通配符*、?和[]等在Shell中进行文件名匹配...

    LINUX与UNIX Shell编程指南.pdf

    学习了如何设置特殊权限suid/guid,并详细讨论了如何使用chown和chgrp来更改文件的所有者和用户组。此外,umask的概念也被详细解释,它用于设置新创建文件的默认权限。最后,章节还解释了符号链接的概念及其用途。 ...

    shell完整教程(带标签)初级到高级

    在第一部分中,教程首先介绍了文件系统的基本概念,包括文件和目录的管理、权限的设置和修改、suid/guid位的作用以及如何使用umask设置默认权限。权限管理是Shell操作的基础,通过`chmod`命令,我们可以改变文件的读...

    linux与unix shell编程指南

    总之,这份文档是从一份关于Linux和UNIX环境下Shell编程的指南中提取出的部分内容,涵盖了Shell函数定义、文件权限和所有权管理、suid和guid权限设置、以及umask命令的详细用法等多个方面。通过这些知识,读者可以...

    linux shell 命令, 脚本编程

    - **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 编程

    ### Unix Shell 编程知识点概览 #### 一、文件权限与管理 ##### 1. 文件权限基础 ...通过以上知识点的学习,我们可以更好地掌握Unix Shell编程的基础知识,为日常的系统管理和自动化任务提供强大的支持。

    LINUX与UNIX_Shell编程指南V1.0_学习笔记.docx

    总的来说,这份"LINUX与UNIX_Shell编程指南"的学习笔记将带你深入探索Shell编程的核心概念,不仅包括基础的文件权限和安全,还可能涉及更高级的主题,如脚本编写技巧、错误处理和调试方法。掌握这些知识,你将成为一...

Global site tag (gtag.js) - Google Analytics