小编X T*_*ian的帖子

如何将用户限制在一个文件夹中并且不允许他们移出他的文件夹

我在 digitalocean 上有 ubuntu 服务器,我想在我的服务器上为某人的域提供一个文件夹,我的问题是,我不希望该用户看到我的文件夹或文件或能够移出他们的文件夹。

我怎样才能在他们的文件夹中限制这个用户并且不允许他移出并查看其他文件/目录?

linux ubuntu permissions group

38
推荐指数
3
解决办法
13万
查看次数

rsync + 重命名复制的文件

复制完成后是否可以更改目标文件的名称(添加一些时间戳作为前缀)rsync

例如,我可以使用以下命令使用后缀更改目标文件的名称:

rsync --append  -arzvv --backup --suffix='_2015_09_10' /path/to/src/file /path/to/dst
Run Code Online (Sandbox Code Playgroud)

但我想附加时间戳作为前缀,因此在目的地中我们将有一些类似:2015_09_10_file而不是file_2015_09_10.

rsync file-copy rename

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

使用 cp 开关复制特定日期后修改的文件

当我执行命令时,find . -mtime -60我得到了过去 60 天内修改的文件列表。

因此,当我执行时,find . -mtime -60 -exec cp {} /tmp/1 \;我可以将这些文件复制到新目录进行处理

但是,如果我想保留时间戳,则无法仅复制执行时所需的文件 find . -mtime -60 -exec cp -LR --preserve=timestamps {} /tmp/2 \;

最终发生的是源目录中的所有文件都被复制,而不仅仅是我需要的文件。

这里有什么解决办法吗?

find cp timestamps

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

意外从文件中删除

我正在编辑 vi

我试图将我论文的一小部分复制到一个临时文件中

.,.+40!temp.  
Run Code Online (Sandbox Code Playgroud)

但我写了

.,.+40!.  
Run Code Online (Sandbox Code Playgroud)

因此,这删除了文件中重要内容中的所有内容(除了那 40 行)。有什么方法可以检索我最初拥有的文件(大约 30 页),还是必须从头开始?

text-processing

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

BIOS 更新后未检测到 Linux 引导加载程序

我使用联想 y500,在购买了 250 GB 三星 SSD 后,我决定使用由 Arch Linux 和 Windows 8.1 组成的双操作系统。为了防止启动问题,我后来安装了 Arch。我使用 UEFI 并选择 systemd-boot 进行安装。Linux 引导加载程序运行良好。但是,由于某种原因,启动屏幕没有与我的屏幕正确对齐,我决定更新我的 BIOS(我后悔这样做,因为它没有解决问题),因为根据我的搜索,问题与固件有关。

之后,在引导选项中,我看不到 Linux 引导加载程序。只有 Windows 引导加载程序。检查 EFI 分区,我发现 systemd-boot 文件确实存在而没有任何更改。

我不明白为什么我的 PC 看不到 Linux 引导加载程序。互联网上也没有这方面的信息。所以我的问题是:

  • BIOS 更新如何影响我的 EFI 启动?
  • 如果问题确实与更新有关,我应该尝试回滚它吗?
  • 对于我的问题,是否可以使用 Arch Linux live USB 修复 EFI?如果是,如何?

我不得不说 BIOS 更新重新启用了安全启动。我禁用了它,但是,这不起作用。当它重新启用安全启动时,更新可能对 EFI 做了一些事情,但我不确定。

dual-boot arch-linux uefi

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

如何用sed模拟“替换abb a”?

我正在尝试模拟一个替换命令,该命令使用 sed 脚本交换两个字符,但显而易见的选择是:

sed -e 's/a/b/g' -e 's/b/a/g' 
Run Code Online (Sandbox Code Playgroud)

不起作用。你能指出我如何正确地做到这一点吗?

sed text-processing replace tr

5
推荐指数
2
解决办法
1090
查看次数

如何让用户执行 root 拥有的脚本?Setuid 似乎不再起作用

我有一些与用户“root”一起使用的 bash 脚本来管理 iptable 规则。

问题是我同时想要这些东西:

  • 脚本必须由 root 拥有
  • 权限必须为 700
  • 我想要一个特定用户可以执行的可执行二进制文件。此可执行文件将以 root 身份运行上述脚本。

这曾经有效,并且仍然是我在旧发行版中使用的:

#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <unistd.h>

int main()
{
   setuid(0);
   system("/root/iptables/my-iptables-script.sh");

   return 0;
}
Run Code Online (Sandbox Code Playgroud)

所以我编译这个然后使用sudo chown rootand sudo chmod 4777。通过这种方式,用户现在可以执行二进制文件并运行 root 拥有的脚本。

但是现在我安装了 Ubuntu 13.10,当我运行那个二进制文件时,我得到了脚本的“权限被拒绝”。

自 12.04 以来,这方面是否有可能发生变化?

我能做什么?

c ubuntu setuid permissions chmod

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

批量重命名文件

我有一个充满图像的目录:

DSCN4749.JPG
DSCN4750.JPG
DSCN4892.JPG
...
Run Code Online (Sandbox Code Playgroud)

我想要一个单线将它们重命名为(比如说)。

dscn4749.jpg
dscn4750.jpg
dscn4892.jpg
...
Run Code Online (Sandbox Code Playgroud)

我该怎么做呢?

替代方案/扩展/警告

  • 我想递归
  • 该目录包含混合文件类型,我只想重命名 DSCN*.JPG 文件。
  • bash 解决方案
  • perl 解决方案
  • zsh解决方案
  • 我想要一个带有硬链接现有文件的新目录树。
  • 我想更改名称不仅仅是更改大小写,例如 dscn5555.JPG 到 05555.jpg

...

command-line shell rename

4
推荐指数
3
解决办法
2729
查看次数

给出删除 .txt 文件中重复行的命令,并将新文件另存为 new.txt 文件

我正在尝试执行此操作,但无法创建文件。

我输入: sort myfile.txt uniq -u | tee newfile.txt

它不会自动创建文件。我在这里缺少什么?

linux command-line shell-script

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