小编Tho*_*man的帖子

从脚本确定 Git 工作目录是否干净

我有一个rsync以 Git 工作目录作为目标运行的脚本。我希望脚本根据工作目录是否干净(没有更改提交)而具有不同的行为。例如,如果输出git status如下,我希望脚本退出:

git status
Already up-to-date.
# On branch master
nothing to commit (working directory clean)
Everything up-to-date
Run Code Online (Sandbox Code Playgroud)

如果目录不干净,那么我希望它执行更多命令。

如何在 shell 脚本中检查上述输出?

git shell-script

154
推荐指数
4
解决办法
6万
查看次数

如何找到文件的创建日期?

我想找出特定文件的创建日期,而不是修改日期或访问日期。

我已经尝试过ls -ltrhstat filename

linux stat timestamps files

121
推荐指数
6
解决办法
37万
查看次数

如何永久禁用网络接口?

我已经关闭了一个网络接口ifconfig wlan0 down,但每隔几个小时左右,wlan0接口就会恢复,我不知道为什么。

我不重启机器,从未改变/etc/network/interface。我想我的问题是,我将如何“永久”禁用wlan0. 我用/etc/network/interface吗?我已经ifconfig wlan0 down在我的rc.local

networking ubuntu

24
推荐指数
2
解决办法
10万
查看次数

限制特定应用程序访问特定文件

通常,使用用户的有效 UID 运行的应用程序可以访问存储在用户主目录中的私有文件。如何限制特定应用程序访问某些私有文件,同时仍然允许其他应用程序在 openSUSE 上使用 AppArmor 访问这些文件。

opensuse apparmor access-control

8
推荐指数
2
解决办法
5418
查看次数

errors=continue 挂载选项是什么意思?

在我的系统上 mount 命令的输出中有一些如下所示的行:

/dev/sda2 on /var/log type ext3 (rw,relatime,errors=continue,barrier=1,data=ordered)
Run Code Online (Sandbox Code Playgroud)

正如你所看到的那样,在括号内它说errors=continue。这是什么意思?sda2 分区有错误吗?我应该考虑这个还是我可以忽略它?

linux mount

7
推荐指数
1
解决办法
1万
查看次数

`env X='() { (a)=>\' sh -c "echo date"` 是如何工作的?

在阅读了最新的bash漏洞后,我想知道 Tavis Ormandy 的漏洞利用是如何工作的。如何(a)=>\工作?

他发帖说:

bash 补丁对我来说似乎不完整,函数解析仍然很脆弱。例如

$ env X='() { (a)=>\' sh -c "echo date"; cat echo
Run Code Online (Sandbox Code Playgroud)

bash shellshock

7
推荐指数
1
解决办法
1481
查看次数

在 Gnome3 文件管理器中拖放不起作用,而是选择多个文件

在此处输入图片说明

当我使用鼠标单击并拖动时,它不会拖动而是选择多个文件。我在 Wayland 和 Gnome 上使用最新的稳定拱门。

gnome nautilus

7
推荐指数
1
解决办法
5168
查看次数

谁能解释mount的输出?

mount执行命令时,我得到以下输出。

[root@]# mount
/dev/sda2 on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
/dev/sda1 on /boot type ext4 (rw)
/dev/sda3 on /home type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
gvfs-fuse-daemon on /root/.gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,nodev)
Run Code Online (Sandbox Code Playgroud)

我无法理解此命令的输出。谁能解释一下这个输出?

linux filesystems mount linux-kernel

6
推荐指数
2
解决办法
1万
查看次数

Swappiness 如何影响嵌入式计算机中 SDHC 存储卡的寿命?

超级用户的这个问题中,有几个答案报告了Raspberry Pi 单板计算机其他嵌入式设备中SDHC 卡在数周到数年不等的过程中出现故障。

在对有关swappiness的一个无关问题的回答的评论中,有人猜测调整swappiness以支持文件缓存页面而不是匿名页面是否会增加依赖SD卡作为主要存储介质的嵌入式系统中SD卡的寿命。从直觉上看,调整swappinness 似乎应该对写入SD 卡有一些影响,但很难说与其他影响因素(例如日志记录或临时)相比,交换对SD 卡耐力的整体压力有多大贡献文件。

问题是在此类系统中,调整swappiness 对SD 卡的寿命有多大影响?

答案应该有具体的经验或参考资料作为后盾。请记住好主观,坏主观

linux embedded swap sd-card

5
推荐指数
1
解决办法
368
查看次数

如何确保共享库的内存页被多个进程共享?

让我首先描述我想做什么,然后是我能做什么,最后是我的问题。


目标:用C实现flush+flush缓存攻击

我正在尝试用 C 语言实现flush+flush缓存攻击(https://gruss.cc/files/flushflush.pdf)。基本上,它利用了两个不同进程在使用共享库时可能共享相同内存页的事实。这导致缓存的“共享使用”。

假设我们有一个受害者进程,它不断运行并且有时执行func从共享库导入的函数。

同时,我们假设我们有一个间谍进程,与受害者在同一台计算机上运行,​​其目标是在受害者调用 时进行监视func。间谍还可以访问同一个共享库。间谍进程伪代码如下:

i=0;
for (i = 0; i < trace_length ; i++)
{
    trace[i] = flush_time( address of function "func");
    i++;
}
Run Code Online (Sandbox Code Playgroud)

其中是一个函数,返回 CPU 刷新所有缓存级别所指向的内存所需的时间。在Intel处理器上,这可以通过汇编指令来实现。可以观察到,当高速缓存中不存在该地址时,执行速度会更快。因此,刷新内存地址所需的时序可以直接转换为内存地址存在(或不存在)在高速缓存内。flush_time(<address>)addressclflushclflush

间谍进程返回一个跟踪向量,其中包含一段时间内的flush_time结果。根据之前的观察,当受害者也调用该函数时,该跟踪将表现出更高的计时func。因此,间谍将推断受害者何时打电话func


我设法做的:使攻击针对 GSL 共享库

我实现了上述攻击,其中共享库是GSL。我随意选择gsl_stats_mean(在 中定义gsl_statistics_double)作为func我愿意监视的函数。

在这种情况下,间谍活动可以完美地工作,因为当受害者程序调用时,我可以清楚地看到时间差异gsl_stats_mean


我的问题:该攻击不适用于自制共享库

我现在想创建自己的共享库并将其用于间谍/受害者测试。假设表示 my和files.所在的文件夹。我在一个文件夹中创建了两个文件和,它们分别包含 的描述和它的声明。与之前一样,我的间谍的目标是检测受害者的使用情况。spy.cvictim.cmyl.cmyl.h./src/mylfuncfunc

和 都spy.c包含 …

linux cache linux-kernel shared-library

4
推荐指数
1
解决办法
4254
查看次数

3
推荐指数
1
解决办法
627
查看次数

如何允许使用备用密码通过 `sudo` 进行身份验证?

我的公司为我的 Ubuntu 系统提供了一个长密码。sudo重复验证时输入此密码很麻烦。

我是否可以sudo使用与我的用户帐户关联的密码以外的sudo密码进行身份验证,或者完全不使用密码身份验证?

authentication ubuntu sudo

3
推荐指数
1
解决办法
5504
查看次数

在内核编译时启用 IP 转发

我正在为路由器编译内核。我知道一种在现有 Linux 系统中启用 IP 转发的方法。在编译时,CONFIG_IP_FORWARD据说做同样的任务。

我正在使用基于 GTK 的内核配置工具 ( gconfig)配置 vanilla 内核的 3.12.14 版。但是,我在任何地方都看不到此选项。最近的内核中是否有备用配置选项,还是我遗漏了什么?

compiling ip kernel linux-kernel forwarding

2
推荐指数
1
解决办法
1907
查看次数