我将 CodeIgniter 3 应用程序从 Apache 服务器迁移到 Nginx。对于已登录的用户,应该可以下载一些 PDF 文件。我需要直接阻止对这些文件夹的访问。例如:example.com.br/files/xyz.pdf。如果我在未登录的情况下访问浏览器,则可以访问这些文件。如果我输入:
location /(versoes|lgpd)/ {
deny all;
return 403;
}
它不起作用。仍可访问。
问题:我需要阻止外部访问,但是允许登录的用户能够下载。
我将 CodeIgniter 3 应用程序从 Apache 服务器迁移到 Nginx。对于已登录的用户,应该可以下载一些 PDF 文件。我需要直接阻止对这些文件夹的访问。例如:example.com.br/files/xyz.pdf。如果我在未登录的情况下访问浏览器,则可以访问这些文件。如果我输入:
location /(versoes|lgpd)/ {
deny all;
return 403;
}
它不起作用。仍可访问。
问题:我需要阻止外部访问,但是允许登录的用户能够下载。
我想在linux上设置组的权限,以便成员可以访问windows上的组。我在 archlinux 中编写了它,它看起来像这样:
[test]
path = /srv/smbtest/test
valid users = @fibu
read list = @fibu
write list = @fibu
public = no
available = yes
guest ok = no
browseable = yes
create mask = 0664
directory mask = 0775
force group = fibu
force user = manoca
之前,fibu组中添加了两个测试用户来检查是否有效。当我尝试使用为添加的这两个测试成员设置的凭据登录文件夹 test 中的 Windows 时,我收到以下错误消息:
\\datastorevm\test is not accesible. You might not have a permission to use this network resource. Contact the administrator of this server to find out if you have access permissions.
Multiple connections to a server or shared resource by the same user, using more than one user name is not allowed. Disconnect all previous connections to the server or shared resource and try again.
有人遇到过类似的问题吗?怎么解决呢?
提前致谢!:)
当用于Ntrights.exe
授予权限时,我看不到任何启用所述权限的能力。这应该是自动的吗?
例子:
ntrights.exe +r SeShutdownPrivilege -u %username%
会将此权限添加到我的用户,但是当我使用检查状态时,whoami /priv
我仍然显示“状态”为禁用。
是否有一个sysinternals
选项或类似的东西也可以启用用户的权限?
我很难使用 MemberOf 覆盖配置 OpenLDAP。我从头开始编译了 openldap 2.5.16,带有--with-memberof
选项。不知何故它有效:
sys# sbin/slapcat -F config/slapd.d -n 0
dn: olcDatabase={1}mdb,cn=config
objectClass: olcDatabaseConfig
objectClass: olcMdbConfig
olcDatabase: {1}mdb
olcSuffix: dc=contoso,dc=com
olcAccess: {0}to attrs=userPassword by anonymous auth by self write by * none
olcAccess: {1}to * by dn.base="cn=admin,dc=contoso,dc=com" write by self write by * none
olcAddContentAcl: FALSE
olcLastMod: TRUE
olcLastBind: FALSE
olcMaxDerefDepth: 15
olcReadOnly: FALSE
olcRootDN: cn=admin,dc=contoso,dc=com
olcRootPW:: LKSkwema9kajkw32==
现在,据我了解,我需要将memberof
覆盖加载到数据库:
sys# cat add_memberoff.ldif
dn: olcOverlay=memberof,olcDatabase={1}mdb,cn=config
objectClass: olcOverlayConfig
objectClass: olcMemberOf
olcOverlay: memberof
olcMemberOfRefint: TRUE
我试图:
bin/ldapadd -x -D "cn=admin,dc=contoso,dc=com" -W -f add_memberoff.ldif
我得到了:
adding new entry "olcOverlay=memberof,olcDatabase={1}mdb,cn=config"
ldap_add: Insufficient access (50)
在日志中:
65dca351.151db256 0x7eff2ffff6c0 conn=1028 fd=14 ACCEPT from IP=127.0.0.1:38524 (IP=0.0.0.0:389)
65dca351.151e9d47 0x7eff34c016c0 conn=1028 op=0 BIND dn="cn=admin,dc=contoso,dc=com" method=128
65dca351.1520796e 0x7eff34c016c0 conn=1028 op=0 BIND dn="cn=admin,dc=contoso,dc=com" mech=SIMPLE bind_ssf=0 ssf=0
65dca351.15219d56 0x7eff34c016c0 conn=1028 op=0 RESULT tag=97 err=0 qtime=0.000009 etime=0.000216 text=
65dca351.1523bd83 0x7eff2ffff6c0 conn=1028 op=1 ADD dn="olcOverlay=memberof,olcDatabase={1}mdb,cn=config"
65dca351.1524555d 0x7eff2ffff6c0 => access_allowed: add access to "olcOverlay=memberof,olcDatabase={1}mdb,cn=config" "entry" requested
65dca351.152486ca 0x7eff2ffff6c0 => acl_get: [1] attr entry
65dca351.1524a3c8 0x7eff2ffff6c0 => acl_mask: access to entry "olcOverlay=memberof,olcDatabase={1}mdb,cn=config", attr "entry" requested
65dca351.1524b9ef 0x7eff2ffff6c0 => acl_mask: to all values by "cn=admin,dc=contoso,dc=com", (=0)
65dca351.1524d378 0x7eff2ffff6c0 <= check a_dn_pat: *
65dca351.1524f2cf 0x7eff2ffff6c0 <= acl_mask: [1] applying none(=0) (stop)
65dca351.15250d85 0x7eff2ffff6c0 <= acl_mask: [1] mask: none(=0)
65dca351.1525270d 0x7eff2ffff6c0 => slap_access_allowed: add access denied by none(=0)
65dca351.15253c3d 0x7eff2ffff6c0 => access_allowed: no more rules
65dca351.15258f10 0x7eff2ffff6c0 conn=1028 op=1 RESULT tag=105 err=50 qtime=0.000009 etime=0.000137 text=
65dca351.1526fba1 0x7eff34c016c0 conn=1028 op=2 UNBIND
65dca351.152a5b85 0x7eff34c016c0 conn=1028 fd=14 closed
我在这里缺少什么?
我按照以下教程隔离了我的两个网站。
https://www.vultr.com/docs/use-php-fpm-pools-to-secure-multiple-web-sites/
这是我所做的:
创建两个用户,然后为他们分配权限。
$ sudo useradd site1
$ sudo useradd site2
$ usermod -a -G site1 www-data
$ usermod -a -G site2 www-data
分配的目录权限
$ sudo mkdir /var/www/site1
$ sudo chown -R site1:site1 /var/www/site1
$ sudo mkdir /var/www/site2
$ sudo chown -R site2:site2 /var/www/site2
$ sudo chmod 770 /var/www/site2
创建了两个 fpm 池
$ sudo cp /etc/php/7.4/fpm/pool.d/www.conf /etc/php/7.4/fpm/pool.d/fpm-site1.conf
$ sudo cp /etc/php/7.4/fpm/pool.d/www.conf /etc/php/7.4/fpm/pool.d/fpm-site2.conf
然后配置这些池
对第二个池也做了同样的事情。
配置 nginx 并在每个站点中定义这些池
location ~ \.php$ {
fastcgi_pass unix:/var/run/php/php7.4-fpm-site1.sock;
include snippets/fastcgi-php.conf;
}
对 site2 执行相同操作,然后重新启动 php-fpm 和 nginx。
现在来解决问题了。第一个站点的所有 PHP 页面均由 拥有,site1:site1
而第二个站点则由 拥有site2:site2
。除了拥有的第二个站点的一页之外site1:site1
。我预计当我尝试在浏览器中访问第二个站点的该页面时,我会收到一些错误(因为它不属于site2:site2
),但我没有收到任何错误并且页面正常打开。您认为它工作正常吗?我对它应该如何工作的理解不正确?或者第二个站点中的页面不应该在浏览器中打开?
即使我通过 WinScp6.1.2 以 root 用户身份登录远程 Ubuntu22.04 服务器,在保存更改的文件时也会收到此错误(即使我发现我所做的更改保存在该文件中,但这些错误令人恼火):
错误的内容(也在所附的屏幕截图中部分显示)是:
General failure (server should provide error description).
Error code: 4
Error message from server: Failure
Common reasons for the Error code 4 are:
- Renaming a file to a name of already existing file.
- Creating a directory that already exists.
- Moving a remote file to a different filesystem (HDD).
- Uploading a file to a full filesystem (HDD).
- Exceeding a user disk quota.
我在 WinScp 设置中找不到“将文件移至回收站”的选项。
我想授予非管理员用户启动/停止/检查特定虚拟机的权限。
Grant -VMConnectAccess cmdlet 应该可以完成这项工作。我还将该用户添加到“远程管理用户”组中。
但是当尝试连接到 VM 时,我在 Windows 事件日志中收到 .NET 异常:
Application: vmconnect.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: Microsoft.Management.Infrastructure.CimException
at Microsoft.Management.Infrastructure.Internal.Operations.CimSyncEnumeratorBase`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].MoveNext()
at System.Linq.Enumerable+WhereSelectEnumerableIterator`2[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].MoveNext()
at Microsoft.Virtualization.Client.Management.Server.LoadOSInfo()
at Microsoft.Virtualization.Client.ConnectionHelper.ConnectServer(Microsoft.Virtualization.Client.InformationDisplayer, System.String, Boolean, Microsoft.Virtualization.Client.Common.IUserPassCredential)
at Microsoft.Virtualization.Client.ConnectionHelper.TryGetVirtualMachinesInternal(System.String, Microsoft.Virtualization.Client.Common.WindowsCredential, Mode, System.String, System.Guid, Microsoft.Virtualization.Client.Management.IVMComputerSystem ByRef, System.Collections.Generic.List`1<System.String> ByRef, System.Exception ByRef)
at Microsoft.Virtualization.Client.ConnectionHelper.TryGetVirtualMachine(System.String, Microsoft.Virtualization.Client.Common.WindowsCredential, System.String, Microsoft.Virtualization.Client.Management.IVMComputerSystem ByRef, System.Exception ByRef)
at Microsoft.Virtualization.Client.InteractiveSession.CommandLineParser.TryParse(System.String[], Microsoft.Virtualization.Client.InteractiveSession.RdpConnectionInfo ByRef)
at Microsoft.Virtualization.Client.InteractiveSession.VmisApplicationContext.TryParseCommandLine(System.String[])
at Microsoft.Virtualization.Client.InteractiveSession.Program.Main(System.String[])
仅当我还将用户放入Hyper-V 管理员或管理员组时,vmconnect.exe 才起作用。但这使用户可以完全访问所有虚拟机。
更新:我想让它在 Microsoft Hyper-V Server 10.0.17763 Build 17763 上运行。但我也无法让它在 Microsoft Windows Server 2019 Standard 10.0.17763 Build 17763 上运行
我试过在没有执行的情况下给目录读写权限,但似乎没有执行权限,读写根本不允许你做任何事情。
我在 MacOS 13 (Ventura) 上安装了 BBEdit(版本 14.6.1(14D24,64 位 Intel,沙盒))。在应用程序设置中,我允许“沙盒访问” - 但是,我后来改变了主意,希望现在提示输入文件夹。(我知道我可以稍后再回去启用“沙盒访问”功能。)
但是,现在我找不到禁用沙盒访问功能的方法。
应用程序设置页面上没有“禁止”按钮,单击该页面上的恢复默认值按钮对沙盒访问没有影响。
我尝试卸载/重新安装 BBEdit;但是,重新安装后,沙盒访问仍然是“允许的”。
搜索后,我找到了为什么BBEdit 想要这种访问权限的信息;但是,没有任何关于禁用它的信息。
我需要做什么来删除/禁用沙盒访问权限?
在我的用户文件夹中, ( C:\Users\user
) 有一堆符号链接不会显示在文件资源管理器中,即使启用了 show>hidden 也是如此。我只是注意到它们,因为我在 VS Code 中打开了我的文件夹。如果我尝试通过在文件资源管理器中输入其路径来打开一个,它会显示以下弹出窗口。
我可以在 admin 中使用它们,但是如果我尝试,它会显示
In admin ,ing them 返回
Set-Location
pwsh
Get-ChildItem
Get-ChildItem: Access to the path 'C:\Users\user\Application Data' is denied.
cmd
dir
Volume in drive C is Windows
Volume Serial Number is B426-88EF
Directory of C:\Users\user\Application Data
File Not Found
以下是链接列表:
Application Data
Cookies
Local Settings
My Documents
NetHood
PrintHood
Recent
SendTo
Start Menu
Templates
(我还没有尝试打开所有这些,只有几个。如果我应该尝试一个特定的,请在评论中说明)
...所以我的问题是:这些是怎么回事?他们是遗留下来的东西吗?超级管理员权限是怎么回事?