小编wom*_*ble的帖子

您如何以文件所有者的身份而不是网络服务器用户的身份运行 PHP 脚本?

我确信对此有一个众所周知的答案,但我似乎找不到它。

我如何使用户的 PHP 脚本(~user/public_html例如,在 中)以所有者身份运行而不是作为(例如)运行www-data

假设使用 Apache、Linux 和 PHP 5。

php setuid

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

/etc/pam.d/login 与 /etc/pam.d/system-auth

我想在我的 RH 系统(本地身份验证)上强制执行密码复杂性,并发现我需要一个类似于以下内容的 pam 模块行:

password  required pam_cracklib.so dcredit=-1 ucredit=-1 ocredit=-1 lcredit=0 minlen=8
Run Code Online (Sandbox Code Playgroud)

我的问题是我应该改变 /etc/pam.d/login 还是 /etc/pam.d/system-auth ,这两个文件有什么区别?

security linux pam

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

ubuntu - 如何避免在每个管理员操作中输入密码?

我刚刚在我的计算机上设置了 ubuntu 9.10,我正在尝试弄清楚如何避免在需要 sudo 权限的每个操作中输入密码。我只想在登录时输入一次密码,并在整个会话期间拥有所有权限。此外,我宁愿不以 root 身份登录,而是使用我自己的用户名和设置。谢谢。

ubuntu password authentication root sudo

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

CT 上的 OpenVZ 多网络

我有硬件节点 (HN),它有 2 个物理接口(eth0、eth1)。我正在使用 OpenVZ 并希望让我的容器 (CT) 可以访问这两个接口。我正在使用基本配置 - venet。CT 可以访问 eth0(公共接口)。但是我无法让 CT 访问 eth1(专用网络)。我试过:

# on HN
vzctl set 101 --ipadd 192.168.1.101 --save
vzctl enter 101
ping 192.168.1.2 # no response here
ifconfig # on CT returns lo (127.0.0.1), venet0 (127.0.0.1), venet0:0 (95.168.xxx.xxx), venet0:1 (192.168.1.101)
Run Code Online (Sandbox Code Playgroud)

我认为主要问题是所有数据包都流经 HN 上的 eth0(使用 tcpdump 计算得出)。所以问题可能出在 HN 上的路由上。

还是我这里的逻辑全错了?我只需要从 CT 访问 HN 上的两个接口(网络)。没什么复杂的。

networking routing openvz

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

在 CentOS/RHEL Linux 上设置 Oracle 即时客户端 - 适用于 PHP 和 Perl

我正在尝试设置 CentOS 5.5/64 位 VM 以使用 PHP 和 Perl 脚本访问远程 Oracle 数据库。(我没有使用Oracle的经验,之前只编程和管理过一些PostgreSQl和MySQL。)

我已经安装了以下 Oracle Instant Client rpm:

oracle-instantclient11.2-basic-11.2.0.2.0.x86_64.rpm
oracle-instantclient11.2-devel-11.2.0.2.0.x86_64.rpm
oracle-instantclient11.2-sqlplus-11.2.0.2.0.x86_64.rpm
Run Code Online (Sandbox Code Playgroud)

并将以下变量添加到我的 .bash_profile 中:

export TNS_ADMIN=/etc
export ORACLE_HOME=/usr/lib/oracle/11.2
export LD_LIBRARY_PATH=$ORACLE_HOME/client64/lib
PATH=$PATH:$HOME/bin:/sbin:$ORACLE_HOME/client64/bin
Run Code Online (Sandbox Code Playgroud)

/etc/tnsnames.ora我将从运行 Oracle 数据库的远程站点的同事那里收到的信息写入到该文件中:

some_string =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = my_address)(PORT = my_port))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = PDTT)
    )
  )
Run Code Online (Sandbox Code Playgroud)

好的部分是我现在可以通过运行从 CLI 进行连接

sqlplus 'my_user/my_password@//my_address:my_port/PDTT'
Run Code Online (Sandbox Code Playgroud)

然后可以通过发出以下命令查看一些表:

select table_name from user_tables;
Run Code Online (Sandbox Code Playgroud)

而且我已经sudo pecl install oci8成功运行,添加了包含以下内容的文件/etc/php.d/oci8.ini

extension=oci8.so
Run Code Online (Sandbox Code Playgroud)

并可以看到以下 phpinfo() 输出

在此输入图像描述

现在我的疑问和问题请: …

oracle php perl

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

重置mysql root密码

是否有 mysql 命令来重置 root 密码?

我在尝试

 mysql -p -u root
Run Code Online (Sandbox Code Playgroud)

但是我忘记了密码。

有什么办法可以重置密码吗?

mysql

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

IPvsadm 在 wlc 调度程序上的平衡不均衡

出于某种原因,当使用 wlc 或 lc 调度程序时,ipvsadm 似乎并没有平等地平衡我的真实服务器之间的连接。一台真正的服务器会收到大量请求,而其他服务器收到的连接相对较少。

我的 ldirectord.cf 文件如下所示:

quiescent     = yes
autoreload    = yes
checktimeout  = 10
checkinterval = 10

# *.example.com http
virtual = 192.0.2.111:http
    real = 10.10.10.1:http  ipip    10
    real = 10.10.10.2:http  ipip    10
    real = 10.10.10.3:http  ipip    10
    real = 10.10.10.4:http  ipip    10
    real = 10.10.10.5:http  ipip    10
    scheduler = lc
    protocol = tcp
    service = http
    checktype = negotiate
    request = "/lb"
    receive = "Up and running"
    virtualhost = "site.com"
    fallback = 127.0.0.1:http
Run Code Online (Sandbox Code Playgroud)

我认为可能导致问题的奇怪事情(但我真的不确定)是 ipvsadm …

linux ldirectord lvs ubuntu-10.04

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

Web 应用程序访问的数据库和数据库用户的命名约定?

在安装使用单个用户与单个数据库(例如 MySQL,但这也适用于其他 RDBMS)对话的 Web 应用程序时,您通常会遇到如下事件序列:

CREATE DATABASE wordpress CHARACTER SET utf8;
GRANT ALL PRIVILEGES ON wordpress.* TO 'wordpress'@'localhost' IDENTIFIED BY 'hunter2';
Run Code Online (Sandbox Code Playgroud)

一些指南建议对数据库名称使用不同的用户名,而其他指南则建议使用不同的名称,例如“appuser”代表用户,“app”代表数据库名称。

使用同名有什么明显的技术缺点吗?这样做有没有可能造成混淆的地方?

编辑:我知道这是有问题的安全做法,您应该将您的数据库命名为 fhqwhgads和您的用户flobadob;然而,(a)默默无闻是一个有问题的工具,(b)这是每个 webapp 在他们的文档中给出的例子。

web-applications database-administration

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

如何提供对不支持 SSL 的网络服务器的 HTTPS 访问?

我有一个程序(动作),它提供一个网页,显示一个实时的摄像头馈送。我想通过互联网提供该提要,但使用 SSL 和证书,因此提要只能由拥有适当证书的人看到。我想知道的是:是否有类似从服务器读取数据并提供 SSL 版本的代理之类的东西?

ssl proxy https

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

无法让 ejabberd 预绑定工作

我正在尝试使 BOSH 会话的预绑定工作。

我希望能够在我的 CMS 中对用户进行身份验证,然后在他访问聊天时让他登录,为此我找到了https://github.com/smokeclouds/http_prebind,一切都可以找到并且我能够编译它步骤如下:

rake configure
sed -i 's/AUTH_USER/a_user/g' src/http_prebind.erl
sed -i 's/AUTH_PASSWORD/a_password/g' src/http_prebind.erl
sed -i 's/EJABBERD_DOMAIN/jabber.my.tld/g' src/http_prebind.erl
rake build
rake install
Run Code Online (Sandbox Code Playgroud)

然后将 http 请求绑定添加到配置中:

  {5280, ejabberd_http, [
                         {request_handlers,
                          [
                           {["http-prebind"], http_prebind}
                          ]},
                         %%captcha,
                         http_bind,
                         http_poll,
                         http_prebind,
                         web_admin
                        ]}

 ]}.
Run Code Online (Sandbox Code Playgroud)

据我所知,我现在应该能够简单地请求一个新的会话:

curl -u a_user:a_password http://jabber.my.tld:5280/http-prebind/some_user
Run Code Online (Sandbox Code Playgroud)

但无论我总是得到什么Unauthorized回应。

对这个有什么想法吗?

PS:我也尝试过 Mod-Http-Pre-Bind,但由于它不需要密码,我更喜欢使用 http_prebind。

PPS:用户名 AUTH_USER 和密码 AUTH_PASSWORD 的用户实际上必须存在吗?我目前正在使用管理员帐户。

http ejabberd xmpp

5
推荐指数
0
解决办法
790
查看次数