好程序员云计算学习路线之高级权限

好程序员云计算学习路线之高级权限,suid,sgid,sticky
文件权限管理之:高级权限

问题1: 为什么会失败!
[[email protected] ~]# ll /root/file1.txt
-rw-r--r-- 1 root root 4 7月 27 14:14 /root/file1.txt
[[email protected] ~]$ cat /root/file1.txt 分层验证看,ll-d / ll-d /root (root禁地进不去)
cat: /root/file1.txt: 权限不够

分析:
root /usr/bin/cat (root) (进程所有者) /root/file1.txt OK
alice /usr/bin/cat (alice) /root/file1.txt

普通用户修改密码:
alice /usr/bin/passwd (root) /etc/shadow

高级权限的类型
suid 4
sgid 2
sticky 1 粘滞位

设置特殊权限
a、字符
chmod u+s file
chmod g+s file
chmod g+s dir
chmod o+t dir

b、数字
chmod 4777 file
chmod 7777 file
chmod 2770 dir
chmod 3770 dir

示例1:suid 普通用户通过suid提权 <针对文件>
在进程文件(二进制,可执行)上增加suid权限
[[email protected] ~]# chmod u+s /usr/bin/cat
[[email protected] ~]# chmod u+s /usr/bin/rm
[[email protected] ~]$ cat /root/file1.txt

普通用户可以修改密码:
alice /usr/bin/passwd /etc/shadow

[[email protected] ~]$ ll /etc/shadow
---------- 1 root root 1487 6月 4 13:43 /etc/shadow

[[email protected] ~]$ ll /usr/bin/passwd
-rwsr-xr-x. 1 root root 30768 2月 17 2012 /usr/bin/passwd

[[email protected] ~]$ passwd
更改用户 alice 的密码 。
为 alice 更改 STRESS 密码。
(当前)UNIX 密码:

[[email protected] ~]# ps aux |grep passwd
root 3674 0.0 0.0 165764 1884 pts/1 S+ 14:34 0:00 passwd

-rwsr-xr-x. 1 root root 27832 Jun 10 2014 /usr/bin/passwd
无论任何人都已ROOT用户执行 这 就是SUID

目前两种给普通用户提权手段:

sudo: 了解,有针对性,例如针对某个用户以能够以root的身份执行某些命令。

ll /usr/bin/passwd
suid: 基本针对所有用户,任何用户在执行有suid权限的程序时(例如/usr/bin/rm),都是以root身份在执行。

示例2:sticky 用户只能删除自己的文件 <针对目录>
[[email protected] ~]# mkdir /home/dir1
[[email protected] ~]# chmod 777 /home/dir1
测试:user1在/home/dir1建立文件, user2尝试删除!

[[email protected] ~]# chmod o+t /home/dir1
[[email protected] ~]# ll -d /home/dir1
rwxrwxrwt 2 root root 4096 09-02 02:26 /home/dir1
谁可以删除:
root
文件的所有者
目录的所有者

示例3:sgid 新建文件继承目录属组 <针对目录>
[[email protected] ~]# mkdir /home/hr
[[email protected] ~]# chgrp hr /home/hr/
[[email protected] ~]# chmod g+s /home/hr
[[email protected] ~]# ll -d /home/hr/
drwxr-sr-x. 2 root hr 4096 Dec 5 16:03 /home/hr/

[[email protected] ~]# touch /home/hr/file9
[[email protected] ~]# ll /home/hr/
-rw-r--r--. 1 root hr 0 Dec 5 16:03 file9

=================================================================
小知识:注意以下目录的正确权限,否则会导致程序不能正常运行
[[email protected] ~]# ll -d /tmp /var/tmp/
drwxrwxrwt 14 root root 4096 07-26 10:15 /tmp
drwxrwxrwt 2 root root 4096 07-24 19:02 /var/tmp/

拓展

网卡配置文件
[[email protected] ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
BOOTPROTO=none|static|dhcp ------设置ip获取方式
HWADDR=00:0c:29:5e:13:12
NM_CONTROLLED=no ----是否开启NetworkManager
ONBOOT=yes|no ----------网卡是否激活
IPADDR=172.16.110.1
NETMASK=255.255.255.0
GATEWAY=172.16.110.254

原文地址:https://blog.51cto.com/14479068/2426766

时间: 2024-11-06 21:29:58

好程序员云计算学习路线之高级权限的相关文章

好程序员云计算学习路线分享文件打包及压缩

好程序员云计算学习路线分享文件打包及压缩,建议针对目录 Demo: 复制未打包的文件到远程主机[[email protected] ~]# du -sh /etc39M /etc[[email protected] ~]# time scp -r /etc [email protected]:/tmp //将/etc目录... ===打包,压缩===[[email protected] ~]# tar -czf etc1.tar.gz /etc //-z 调用gzip : tar removei

好程序员云计算学习路线分享软件包管理

好程序员云计算学习路线分享软件包管理,安装/查询/卸载 一.软件的类型A. 源码包 需要编译 nginx-1.12.1.tar.gz B. 二进制包 已编译 mysql-community-common-5.7.12-1.el7.x86_64.rpm 常见二进制包系统平台 包类型 工具 在线安装(自动解决依赖关系)RedHat/Centos RPM rpm,rpmbuild yumUbuntu/Debian DPKG dpkg apt注意: 不管是源码包,还是二进制包,安装时都可能会有依赖关系!

云计算学习路线之高级权限

云计算学习路线之高级权限,suid,sgid,sticky文件权限管理之:高级权限 问题1: 为什么会失败![[email protected] ~]# ll /root/file1.txt -rw-r--r-- 1 root root 4 7月 27 14:14 /root/file1.txt[[email protected] ~]$ cat /root/file1.txt 分层验证看,ll-d / ll-d /root (root禁地进不去)cat: /root/file1.txt: 权限

好程序员Java学习路线分享JDBC初体验

好程序员Java学习路线分享JDBC初体验,JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成.JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序 -?Java 具有坚固.安全.易于使用.易于理解和可从网络上自动下载等特性,是编写数据库应用程序的杰出语言.所需要的只是 Java应用程序与各种不同数据库之

好程序员Java学习路线分享SpringCloud

好程序员Java学习路线分享SpringCloud一.Web应用架构的演变随着互联网的发展,网站应用的规模不断扩大,Web应用架构也在不断的演变四个阶段:单一应用.垂直应用.分布式服务.流动计算1.单一应用架构当网站访问量很小时,只需要一个应用程序,将所有的功能都部署在一起,以减少部署节点和成本 此时关键问题:简化数据库操作,数据访问框架ORM是核心适用场景:小型网站.管理系统.简易办公系统 局限:1.扩展性差2.不便于协同开发3.不利于升级维护 2.垂直应用架构 当访问量逐渐增大,单一应用(单

好程序员Java学习路线Java bean是个什么概念

好程序员Java学习路线Java bean是个什么概念,Bean的中文含义是"豆子",顾名思义JavaBean是一段Java小程序.JavaBean实际上是指一种特殊的Java类,它通常用来实现一些比较常用的简单功能,并可以很容易的被重用或者是插入其他应用程序中去.所有遵循一定编程原则的Java类都可以被称作JavaBean.一. Java Bean技术概述??????? Java Bean是基于Java的组件模型,由属性.方法和事件3部分组成.在该模型中,JavaBean可以被修改或

好程序员Java学习路线分享5分钟了解基数排序

好程序员Java学习路线分享5分钟了解基数排序,前言:基数排序无需进行比较和交换,而是利用分配和收集两种基本操作实现排序.基数排序分为两种:第一种是LSD ,从最低位开始排序:第二种是 MSD, 从最高位开始排序. 基数排序思想介绍 分配:对于数字,每位的取值范围是0-9,因此需要10个容器(我们可以将其称为桶),这10个桶标号为0-9.每趟排序时,我们取每一个元素在该位的数值依次放入桶中. 收集:在一趟排序完成后,我们按顺序从0-9的桶中依次取元素. 继续进行分配和收集,直到最大位数排序完成.

好程序员Java学习路线分享冒泡排序及优化

? 好程序员Java学习路线分享冒泡排序及优化,冒泡排序是一定典型的交换排序,如排序规则是升序,有如下数列: ? A[0] A[1] A[2] A[3] ...... A[n] ? 将A[0]和A[1]比较,如果A[0]>A[1] ,则交换两个元素的位置,否则不变, 再继续比较A[1]和A[2],直到A[n-1]和A[n].即比较相邻的两个元素,如果前一个大,就交换(否则不交换),再继续比较后面的元素,每一轮比较之后,最大的元素会移动到最后(完成一轮冒泡):再开始第二轮冒泡,本次会选出第二大的元

好程序员Java学习路线分享创建Java class

好程序员Java学习路线分享创建Java class,首先通过Transport Client获取ES的连接 private Client client; //通过Transport Client获取ES的连接 @Before public void getClient() throws Exception{ ????//ES服务的JavaAPI的port为9300 ????//注意:如果请求一个ES集群,可以多添几个节点 ????//为了避免在一个节点出现网络问题导致的请求失败问题,可以自动切