Linux特殊权限分析(第二版)

SetUID[权限值=4]

问题:为什么普通用户可以修改自己的密码?

ll $(which passwd)

1、SetUID:当一个可执行程序/命令具有SetUID 权限,用户执行这个程序时,将以这个程序的所有者的身份执行。

2、加SetUID权限:

chmod u+s [filename] 或 chmod 4755 [filename] #SetUID权限值=4

E.g.

chmod u+s $(which touch)

#可以看到newfile2的所有者并不是guest,而是root!

3、危险!

将命令设置成SetUID是一件很危险的事,比如将vi设置成SetUID,则他可以编辑并保存系统中所有的文件,甚至是系统配置文件!他可以让一个用户瞬间编程超级用户,他可以使你的系统不断的重启等,或者将kill设置成SetUID...

预防:

find / -perm -4000 -o -perm -2000

#查找权限为4000或2000的文件,即具有SetUID,SetGID的文件

4、取消SetUID权限:

chmod u-s [filename] 或 chmod 755 [filename]

附-原来的文件必须是一个可执行程序,如果原文件没有x权限,则设置SetUID之后也没有任何作用

#显示为S[大写]!

SetGID[权限值=2]

1、SetGID:当一个可执行程序/命令具有SetGID 权限,用户执行这个程序时,将以这个程序所属组的身份执行。

2、加SetGID权限:

chmod g+s [filename] 或 chmod 2755 [filename] #SetGID权限值=2

#可以看到testfile2的所属组并不是默认的guest,而是root!

【同时设置UID与GID chmod 655...】

粘着位[权限值=1]

1、粘着位:如果一个权限为777的目录,被设置了粘着位,每个用户都可以在这个目录里面创建文件,但是只可以删除所有者是自己的文件。

2、设置粘着位:

chmod o+t [filename] 或 chmod 1777 [filename] #粘着位用t来表示,权限值=1

#可以看到,在设置了粘着位的/t_test目录,删除隶属于自己的文件是可以的,但是无法删除其他人的文件.

附-文件的特殊权限:

umask命令的第一位

时间: 2024-11-05 22:05:52

Linux特殊权限分析(第二版)的相关文章

Linux文件权限分析

一.用户组概念  在linux系统中,每个用户必属于一个组,不能独立于组之外.每个文件都有所有者,所在组和其他组这三个概念. (1)所有者:一般为文件的创建者,谁创建了该文件,就成为了该文件的所有者,可以用ls -ahl 文件名  查看文件的所有者,也可以使用chown 用户名 文件名 来修改文件的所有者. (2)所在组:当A用户创建了一个文件后,该A用户所在的组就是该文件所在组,可以用ls -ahl 文件名  查看文件的所在组,可以使用chgrp 组名 文件名 来修改文件的所在组 (3)其他组

Linux内核及分析 第二周 操作系统是如何工作的?

计算机是如何工作的? 存储程序计算机工作模型,计算机系统最最基础性的逻辑结构: 函数调用堆栈,高级语言得以运行的基础,只有机器语言和汇编语言的时候堆栈机制对于计算机来说并不那么重要,但有了高级语言及函数,堆栈成为了计算机的基础功能: enter --pushl %ebp --movl %esp,%ebp leave --movl %ebp,%esp --popl %ebp 函数参数传递机制和局部变量存储 中断,多道程序操作系统的基点,没有中断机制程序只能从头一直运行结束才有可能开始运行其他程序.

/etc/fstab文件分析(第二版)

/etc/fstab文件分析 前面说新建的分区在系统重启之后就会失效,要想永久生效,需要将其写入/etc/fstab文件 一./etc/fstab文件格式:6个组成部分 物理分区名/卷标 挂载点 文件系统 缺省设置   是否检测     检测顺序 UUID=6e428a...  /    ext4   defaults     1             1 LABEL=/         /    ext4   defaults    1/0        0/1/2 /dev/sda1 二.

Linux用户管理命令(第二版)

添加用户 1.useradd -设置选项 用户名 [-D 查看缺省参数 ] 选项: u: UID [必须是系统中没有的] g:缺省所属用户组GID[最好有] G: 指定用户所属多个组[可以指定这个用户所属的部门等] d: 宿主目录[可以任意指定] s: 命令解释器Shell [必须是包含在/etc/shells文件中的] c:描述信息[可以用于描述该用户是谁,有什么权限,最好要有] e: 指定用户失效时间 E.g. useradd -u 6666 -g root -G sys,apache -d

Linux文件系统管理命令(第二版)

Linux文件系统管理命令 常用命令 1.df命令 查看分区使用情况 常用选项 -h 比较人性化 -m 以兆字节显示分区使用情况 显示信息: Mounted on:挂载点 Filesystem:对应的具体硬件名 2.du命令 查看文件/目录大小,默认以K为单位 常用选项: -h[humanity] du -h /home/xiaofang -s[统计statistics] du -sh /etc #查看目录大小,常用 3.检测修复文件系统fsck[file system check].e2fsc

linux c数据库备份第二版

#想知道更多请查看第一版"linux c数据库备份第一版" 1 #include<sys/types.h> 2 #include<sys/wait.h> 3 #include<ctype.h> 4 #include<unistd.h> 5 #include<string.h> 6 #include<stdlib.h> 7 #include<stdio.h> 8 9 //待备份的数据表文件(一个数据库一行

Linux用户管理案例(第二版)

批量添加用户 1.按照/etc/passwd文件格式编写用户信息文件users.info xiaofang01::1001:503::/home/xiaofang01:/bin/bash  #注意不能有空行,不然会报错 2.newusers < users.info #newusers命令 导入用户信息文件 3.pwunconv #取消shadow password功能 4.以[用户名:密码]的格式编写密码文件passwd.info 5.chpasswd < passwd.info #导入密码

《循序渐进Linux》第二版即将出版发行(附封面)

从<循序渐进Linux>第一版发布,到现在已经近6年了,6年的时间,技术发生了很大的变化,Linux系统的内核版本从2.6.9(RHEL4.x)已经更新到了现在的3.10(Centos7.x),第一版中的部分内容已经陈旧,Linux系统部分运行机制也发生了很大变化,为了适应技术发展潮流,也为了所有支持这本书的读者,我决定重新修订本书,推出<循序渐进Linux>第二版.第二版基本继承了第一版中的内容结构,基本以Redhat Linux.Centos两个Linux发行版为主进行介绍,采

linux内核分析第二周

网易云课堂linux内核分析第二周 20135103                王海宁 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 操作系统的核心功能就是:进程调度和中断机制,通过与硬件的配合实现多任务处理,再加上上层应用软件的支持,最终变成可以使用户可以很容易操作的计算机系统, my_timer_handler 函数会被内核周期性的调用,每调用1000次,就去将全局变量my_need_sched的值修