标签: tmp

/tmp 什么时候清除?

我正在将各种文件放入/tmp,我想知道删除它们的规则?

我想象它对于不同的发行版是不同的,而且我对 Ubuntu 和 Fedora 桌面版本特别感兴趣。

但是找到一个很好的通用方法将是一件好事。

更好的是控制它的一个很好的通用方法!(类似于“每天凌晨 3 点,删除任何/tmp超过 60 天的文件,但不要在重新启动时清除目录”)

linux unix cleanup tmp

184
推荐指数
6
解决办法
21万
查看次数

挂载 /tmp noexec 有多大用处?

许多人(包括Securing Debian Manual)建议/tmp使用一noexec,nodev,nosuid组选项进行安装。这通常表现为“深度防御”策略的一个要素,通过防止让某人写入文件的攻击升级,或防止具有合法帐户但没有其他可写空间的用户的攻击升级。

然而,随着时间的推移,我遇到noexec了一些毫无用处的论点(最突出的是由 Debian/Ubuntu 开发人员 Colin Watson 提出的),原因有以下几个:

  1. 用户可以/lib/ld-linux.so <binary>尝试运行以获得相同的效果。
  2. 用户仍然可以在无法直接运行的脚本上运行系统提供的解释器

鉴于这些论点,对更多配置的潜在需求(例如,debconf像一个可执行的临时目录)以及潜在的便利性损失,这是一项值得的安全措施吗?您还知道哪些其他漏洞可以实现规避?

security linux mount tmp noexec

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

php脚本无法访问/tmp文件夹

我没有 open_basedir,php 可以访问 /etc /usr /proc /home 等......但不能访问 /tmp。

tmpfs 安装在 /tmp (/tmp type tmpfs (rw)) 这也是我想使用 /tmp 文件夹的原因。

我的文件归 http(nginx 和 php 的用户)所有,每个人都可以阅读。

sudo -u http cat /tmp/file 正在运行,但 php 脚本中的任何内容都不起作用(如 file_exist() 或 file())。

编辑:日志中显示的错误:

PHP Warning:  file(/tmp/ydlw/pid): failed to open stream: No such file or directory in /srv/http/ydlw/status.php on line 267
Run Code Online (Sandbox Code Playgroud)

编辑2:我以另一种方式测试了这个问题。我做了

touch("/tmp/boo");
file_exist("/tmp/boo");
Run Code Online (Sandbox Code Playgroud)

和 file_exist 返回 true 以便创建文件。然后我在 /tmp 里面看了看,在那里找不到“boo”文件。这就是我所害怕的,php 看不到挂载点。为什么会这样,我该如何解决?

php tmp tmpfs file-permissions centos7

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

如何将默认 /tmp 更改为 /home/user/tmp

是否有环境变量可以在基于 debian 的系统上设置临时目录?

我有一个使用该环境变量的 Java 小程序,并且在启动同一个小程序的两个实例时会感到困惑。

linux java environment-variables tmp

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

/tmp 使用 100% 文件在哪里?

在 Centos 6.3 服务器上,我注意到 /tmp 不再有可用空间来存储文件。

[root@]# df -h
已使用的文件系统大小 Avail Use% Mounted on
/dev/mapper/vg0-lv_root
                       99G 11G 84G 12% /
tmpfs 16G 0 16G 0% /dev/shm
/dev/sda1 194M 65M 120M 35% /boot
/dev/mapper/vg0-lv_tmp
                       97M 92M 704K 100% /tmp
/dev/mapper/vg1-lv0 50G 180M 47G 1% /mnt/ssd2

但是 /tmp 中什么都没有

[root@]# ls -Sahl /tmp |more
总共 10K
博士-xr-xr-x。25 根根 4.0K Mar 16 04:29 ..
drwxrwxrwt。3 根 3.0K 3 月 16 日 03:32。
drwx------. 2 根根 1.0K Mar 16 04:28 mc-root

我的问题是:怎么可能?由什么/tmp 挂载空间使用?我怎么能清理它?

linux mount centos tmp

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

为 /tmp 使用 tmpfs + 一个非常大的交换分区而不是常规文件系统?

我有 Linux 服务器,并且有一个备用的 500GB 磁盘分区。我想格式化它并将其用于/tmp。服务器偶尔会运行一些大数据处理任务,因此 /tmp 可能会保存 GB 的临时数据。

然后我有了一个想法,我可以将它添加为交换分区,然后将 /tmp 挂载到 tmpfs。这个想法合理吗?

服务器有 6GB 的 RAM,因此在大多数情况下 /tmp 上的数据只会在 RAM 中,具有明显的速度优势。问题是,如果 /tmp 上有 10-20GB 的数据,系统将如何执行?与简单地将 /tmp 挂载到 ext4 分区相比,性能如何?感谢帮助。

编辑:很明显,当 tmpfs 的使用量达到 RAM 限制时,系统将开始换出内存。但是 Linux 是否足够智能以换出 tmpfs 数据并将“常规”数据保存在 RAM 中?如果是,那么我想它的行为是合理的。如果没有,那么整个系统将受到严重影响。

linux swap tmp tmpfs

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

设备错误上没有剩余空间,但 df 报告有更多可用空间

我在使用 Apache2 的 Debian 网络服务器上的 PHP 会话mod_php似乎随机失败,说没有空间来编写它们:

sudo tail -60 /var/log/apache2/error.log
[Fri Jan 30 15:55:35 2015] [error] [client xxx.xxx.xxx.xxx] PHP Warning:  session_start() [<a href='function.session-start'>function.session-start</a>]: open(/tmp/sess_555555555555555555, O_RDWR) failed: No space left on device (28) in /path/to-first-session-use/core/bootstrap.php on line 18
Run Code Online (Sandbox Code Playgroud)

当我尝试:

ls /tmp
Run Code Online (Sandbox Code Playgroud)

它只是永远挂起,所以这很糟糕。

但是当我检查可用空间并检查 inode 使用是否合理时......

$ df -h

Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1             150G  121G   22G  85% /
tmpfs                 2.0G     0  2.0G   0% /lib/init/rw
udev                   10M   16K   10M   1% /dev
tmpfs                 2.0G  4.0K  2.0G   1% …
Run Code Online (Sandbox Code Playgroud)

debian disk-space-utilization tmp inode session

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

错误:仅在启动/停止服务时设备上没有剩余空间

我知道已经有多个这样的问题,但他们的答案都不适用于我的问题。

所以我尝试从 Debian 7.7 升级到 Debian 8.1。每个工作正常,但某些操作报告Error: No space left on device

df -h

Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       443G   28G  393G   7% /
udev             10M     0   10M   0% /dev
tmpfs           1.6G  8.7M  1.6G   1% /run
tmpfs           3.9G     0  3.9G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           3.9G     0  3.9G   0% /sys/fs/cgroup
tmpfs           795M     0  795M   0% /run/user/0
Run Code Online (Sandbox Code Playgroud)

df -i

Filesystem       Inodes  IUsed    IFree IUse% Mounted on
/dev/sda1      29450240 419083 29031157    2% / …
Run Code Online (Sandbox Code Playgroud)

filesystems debian tmp

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

调整 debian /tmp 分区的大小

我的 /tmp 分区在一个非常大的 SQL 查询中不断耗尽空间。如何使 /tmp 分区更大?

谢谢汤姆

编辑:

以下是请求命令的输出

blkid
/dev/sda1: UUID="e8604436-53ea-4a05-9459-6c498cf19a1a" SEC_TYPE="ext2" TYPE="ext3" 
/dev/sda5: UUID="21bd6739-89c8-4196-986d-bec9474a4b1a" SEC_TYPE="ext2" TYPE="ext3" 
/dev/sda6: UUID="1a80f7c6-d524-4974-82ee-c5bd734802b9" SEC_TYPE="ext2" TYPE="ext3" 
/dev/sda7: TYPE="swap" 
/dev/sda8: UUID="edee40d5-9337-4705-b152-7bc2b9b35336" SEC_TYPE="ext2" TYPE="ext3" 
/dev/sda9: UUID="5c586547-8d78-4dd1-86c9-92f83b4d8fb5" SEC_TYPE="ext2" TYPE="ext3"

fdisk -l

Disk /dev/sda: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x000504d7

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1           18663       19201     4329517+  83  Linux
/dev/sda2              35       18662   149629410    5  Extended
/dev/sda5 …
Run Code Online (Sandbox Code Playgroud)

partition debian tmp

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

sudo 不保留 TMPDIR

sudo 联机帮助页告诉我,我可以通过传递选项来保护环境-E,这在以下情况下不起作用$TMPDIR

> env | grep TMPDIR
TMPDIR=/localdata/tmp
> sudo env | grep TMPDIR
[no output]
> sudo -E env | grep TMPDIR
[no output]
Run Code Online (Sandbox Code Playgroud)

此选项未列入黑名单,即sudo sudo -V未将其列为“要删除的环境变量”。按照问题“如何指定根的环境变量”的答案中提出的方法,我尝试将其列入白名单,这是我的/etc/sudoers读物:

Defaults        env_reset
Defaults        env_keep = "TMPDIR"
Run Code Online (Sandbox Code Playgroud)

这也不起作用,它实际上甚至没有TMPDIR出现在白名单中(即“sudo sudo -V”打印为“要保留的环境变量”)。

(我运行的是 Ubuntu 10.04。)

sudo environment-variables tmp

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