我有一个 Debian 系统作为无线路由器使用eth0
和wlan0
。现在,我就手动添加一个额外的网络eth1
有ifconfig
:
alix:~# ifconfig eth1 192.168.0.2 网络掩码 255.255.255.0 alix:~# netstat -rn 内核IP路由表 目标网关 Genmask 标志 MSS 窗口 irtt Iface 0.0.0.0 192.168.2.1 0.0.0.0 UG 0 0 0 eth0 192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1 192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 192.168.3.0 0.0.0.0 255.255.255.0 U 0 0 0 wlan0 alix:~# ping 192.168.0.254 PING 192.168.0.254 (192.168.0.254) 56(84) 字节数据。 来自 192.168.0.254 的 64 个字节:icmp_req=1 ttl=64 time=0.537 ms 来自 192.168.0.254 的 64 …
我喜欢禁用 shell 脚本中所有特定于语言环境的差异。最好的方法是什么?
LANG=C
或者 LC_ALL=C
我正在研究 PAM,我对某些控制标志组合的含义一无所知。从 Red Hat 文档中,我们有:
这种 PAM所需的失败将最终导致 PAM-API 返回失败,但只有在调用剩余的堆叠模块(针对此服务和类型)之后必需
等所需,然而,在这样的模块返回失败的情况下,控制被直接返回到应用程序。
这种模块的足够成功足以满足模块堆栈的身份验证要求(如果先前所需的模块失败,则忽略此模块的成功)。此模块的失败对于满足此类型已成功的应用程序而言并不认为是致命的。如果模块成功,PAM 框架会立即向应用程序返回成功,而不会尝试任何其他模块。
所以,在我的理解中,如果一个模块requisite
发生故障,整个模块栈将不会被解析,控制权会立即返回给应用程序。如果一个模块sufficient
成功,其余的模块堆栈将不会被解析,控制权将立即返回给应用程序。如果一个模块required
失败,整个堆栈将被解析。
现在,我无法理解当某个模块required
失败而另一个模块sufficient
成功时会出现什么行为。
CentOS 6 Linux 有两种锁定密码的方法:
passwd -l
usermod -L
今天我发现,他们做了一些不同的事情。
passwd
将两个感叹号写入影子文件。
# passwd -d test1 删除用户 test1 的密码。 密码:成功 # passwd -l test1 锁定用户 test1 的密码。 密码:成功 # passwd -S test1 test1 LK 2014-01-14 0 99999 7 -1(密码锁定。) # grep test1 /etc/shadow test1::!!:16084:0:99999:7:::
但是usermod
只写一个。
# passwd -d test1 删除用户 test1 的密码。 密码:成功 # usermod -L test1 # passwd -S test1 test1 LK 2014-01-14 0 99999 7 -1(密码锁定。) # grep test1 /etc/shadow test1::!:16084:0:99999:7:::
这只是外观上的不一致还是不同的锁定指示器有含义?
如果混合使用这两个命令,就会发生有趣的事情:
锁定帐户passwd
:
# …
Run Code Online (Sandbox Code Playgroud) 我想编写一个 CGI,它必须从 STDIN 读取指定数量的字节。我的想法是这样做:
dd bs=$CONTENT_LENGTH count=1
Run Code Online (Sandbox Code Playgroud)
但我想知道,块大小是否受 RAM 以外的任何其他限制。
$ dd bs=1000000000000
dd: memory exhausted by input buffer of size 1000000000000 bytes (931 GiB)
Run Code Online (Sandbox Code Playgroud)
GNU 的 coreutils 的手册页没有指定任何限制。