首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >git是否保护您免受未经授权的存储库修改?

git是否保护您免受未经授权的存储库修改?
EN

Stack Overflow用户
提问于 2013-10-09 10:53:36
回答 2查看 262关注 0票数 0

<3封信的政府agency>能在没有人注意到变化的情况下,通过git存储库为项目添加后门吗?

例如,如果恶意黑客获得了对鲁比氏吉特的贡献者访问权限,那么他们是否会以这样一种方式扰乱提交历史,从而使恶意代码无法被注意到?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-10-09 14:50:55

就修改项目的变更历史而言,这将是困难的;git使用的是可以被视为更改的“文件系统快照”。用于区分这些更改快照的标识符git是一个160位的SHA1散列。

虽然加密是安全的,但在git中,这并不是用来防止恶意重写存储库的,而是用于基本数据完整性。如果更改了以前的提交,则SHA1提交标识符将发生更改,但理论上可以找到冲突。

在git中,SHA1散列的加密性质本身不是一种安全机制,而是一种奖励。

您以前提到过linux内核被恶意更改的问题。你可以读这里

票数 1
EN

Stack Overflow用户

发布于 2013-10-09 11:04:11

git不会自动从远程拔出,用户需要从遥控器调用git pull来获得新代码,这不是“没有人注意到变化”的代码。

此外,用户可以通过git log <remote-name>git show <remote-name>检查远程以查看这些更改。如果他们发现一个恶意的改变,他们总是可以恢复它。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19280297

复制
相关文章
epoll的使用实例
  在网络编程中通常需要处理很多个连接,可以用select和poll来处理多个连接。但是select都受进程能打开的最大文件描述符个数的限制。并且select和poll效率会随着监听fd的数目增多而下降。
xcywt
2022/05/09
7890
执行MapReduce报错:无法分配内存 (errno=12)
程序执行一个MapReduce,该MapReduce实现了自定义分区,总共分为4个分区,且在Driver端自定义设置reducer端num个数为4
WHYBIGDATA
2023/01/31
1.6K0
执行MapReduce报错:无法分配内存 (errno=12)
Linux Epoll介绍和程序实例
Epoll但是当前在Linux下开发大规模并发网络程序的热门人选,Epoll 在Linux2.6内核中正式引入,和select类似,事实上都I/O多路复用技术而已,并没有什么神奇的。
全栈程序员站长
2022/07/12
9880
Task之errno
很多人在看到某个Task的ERRNO不为0时,会担心哪里出了问题。其实单独的ERRNO并没什么事儿,一般都不用管它。好了,可以拉到最后点赞了。
Taishan3721
2019/07/10
1.9K0
epoll
epoll是Linux提供的I/O event notification facility。在需要监听的fd数量很多(成千上万)而同一时刻可读/可写的数量又比较少(几个?几十个?几百个?)的情况下,性能要明显优于select、poll。
linjinhe
2018/06/06
1.8K0
errno 的使用
error是一个包含在<errno.h>中的预定义的外部int变量,用于表示最近一个函数调用是否产生了错误。若为0,则无错误,其它值均表示一类错误。
西湖醋鱼
2020/12/30
2.2K0
errno 的使用
errno的值
printErrno()就能搞定的事儿,还是总有人会问。那就把它们都列出来吧 以后就可以查表了 0x00000001 S_errno_EPERM 0x00000002 S_errno_ENOENT 0x00000003 S_errno_ESRCH 0x00000004 S_errno_EINTR 0x00000005 S_errno_EIO 0x00000006 S_errno_ENXIO 0x00000007 S_errno_E2BIG 0x00000008 S_errno_ENOEXEC 0x00
Taishan3721
2022/03/31
1.4K0
关于errno头文件
EEXIST 是个宏定义,是Error EXIST 的缩写,EXIST 是“存在”的意思。errno是个全局变量,在errno.h头文件中定义,用于保存错误码,方便根据错误码来查询出错原因。 这个mkfifo函数创建管道时,如果有已存在的同名管道,就会将errno赋值为EEXIST。erron != EEXIST,也就是判断mkfifo函数是否出现“已存在同名管道”的错误。if((mkfifo(FIFO_SERVER,O_CREAT|O_EXCL|O_RDWR)<0)&&(errno!=EEXIST))这段代码翻译成汉字描述就是:如果((mkfifo函数创建管道,返回值小于0),并且,(错误原因不是 “已存在同名管道”))。 上面更详细的解说是,如果我们用mkfifo()函数创建一个有名管道发生错误(发生错误返回值小于0),但是这个错误不是因为这个管道文件已经存在(有名管道存在再去创建是会出现失败的),而是因为其他原因,这个时候就可以把判断条件写成errno != EEXIST,它代表这个错误(管道文件)是不存在的,是一个新的错误,当然,这个新的错误会存放在errno中,因为上面说过,errno是保存最近一次的错误。
狼啸风云
2020/03/20
2.4K0
Python的errno模块
``errno`` 模块定义了许多的符号错误码, 比如 ``ENOENT`` ("没有该目录入口") 以及 ``EPERM`` ("权限被拒绝"). 它还提供了一个映射到对应平台数字错误代码的字典. [Example 2-21 #eg-2-21] 展示了如何使用 ``errno`` 模块.
狼啸风云
2020/05/21
1.8K0
缩略muduo网络库(3)事件分发器poller
在muduo的EventLoop里面有一个poller和一堆的channel,其实这个poller是一个抽象基类,子类有poll和epoll。大抵是二者其实都有有点,可以兼顾吧。来看看其中巧夺天工的设计实现。
看、未来
2021/10/09
5100
epoll
io多路复用有很多种实现,自Linux 2.6内核正式引入epoll以来,epoll已经成为了目前实现高性能网络服务器端的必备技术。相比较select、poll而言,在查询、复制、监听数量上,epoll都有极大优势。
冰寒火
2023/03/07
8470
Linux: errno合集,各种errno对应的出错问题,方便查询
#define EPERM 1 /* Operation not permitted */ #define ENOENT 2 /* No such file or directory */ #define ESRCH 3 /* No such process */ #define EINTR 4 /* Interrupted system call */ #define EIO 5 /* I/O error */ #define ENXIO 6 /* No such device o
lexingsen
2022/02/25
3.1K0
golang net包里的异步IO实现原理分析
与其他语言的网络IO强调异步非阻塞不同,GOLANG里的网络IO模型是:创建多个goroutine,每个goroutine的网络IO都是阻塞的,这样的代码非常直观
golangLeetcode
2022/08/02
1.5K0
golang net包里的异步IO实现原理分析
Epoll
本文来自 Marek’s 博客中 I/O multiplexing part 系列之三和四,原文一共有四篇,主要讲 Linux 上 IO 多路复用的一些问题,本文加入了我的一些个人理解,如有不对之处敬请指出。原文链接如下:
小梁编程汇
2021/12/08
6710
epoll入门
epoll用到的所有函数都是在头文件sys/epoll.h中声明的,下面简要说明所用到的数据结构和函数: 所用到的数据结构 typedef union epoll_data { void *ptr; int fd; __uint32_t u32; __uint64_t u64; } epoll_data_t; struct epoll_event { __ui
李海彬
2018/03/22
8490
深入Go语言网络库的基础实现
Go语言的出现,让我见到了一门语言把网络编程这件事情给做“正确”了,当然,除了Go语言以外,还有很多语言也把这件事情做”正确”了。我一直坚持着这样的理念——要做”正确”的事情,而不是”高性能”的事情;很多时候,我们在做系统设计、技术选型的时候,都被“高性能”这三个字给绑架了,当然不是说性能不重要,你懂的。 目前很多高性能的基础网络服务器都是采用的C语言开发的,比如:Nginx、Redis、memcached等,它们都是基于”事件驱动 + 事件回调函数”的方式实现,也就是采用epoll等作为网络收发数据包的核
李海彬
2018/03/22
1K0
快速创建 Linux 实例
2. 在线充值。 轻量应用服务器以包年包月模式售卖,购买前,需要在账号中进行充值。具体操作请参考 在线充值 文档。
CiiLii西里网
2023/08/23
2160
快速创建 Linux 实例
深入Go语言网络库的基础实现
Go语言的出现,让我见到了一门语言把网络编程这件事情给做“正确”了,当然,除了Go语言以外,还有很多语言也把这件事情做”正确”了。我一直坚持着这样的理念——要做”正确”的事情,而不是”高性能”的事情;很多时候,我们在做系统设计、技术选型的时候,都被“高性能”这三个字给绑架了,当然不是说性能不重要,你懂的。 目前很多高性能的基础网络服务器都是采用的C语言开发的,比如:Nginx、Redis、memcached等,它们都是基于”事件驱动 + 事件回调函数”的方式实现,也就是采用epoll等作为网络收发数据包的核
李海彬
2018/03/20
7660
input事件的获取
loop线程已经运行起来了,如果不出意外,它是不会终止的;不妨以此为起点,再开始一段新的旅程,我要去探索input事件的获取。
全栈程序员站长
2022/06/28
3.2K0
Nova创建实例类型
创建一个实例类型名为:至尊型,ID为zzx,内存为8192M,系统盘为50G,CPU为8核,临时磁盘为:1G
院长技术
2021/02/19
1K0
Nova创建实例类型

相似问题

A/Looper:无法创建唤醒管道。errno=24

20

Android错误:无法创建epoll实例,或无法创建唤醒管道

20

epoll与负errno值

12

链接多个epoll实例

11

Linux errno 23和Linux errno 24的区别

23
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文