标签: permissions

使用 ICACLS 设置用户目录权限

我正在尝试重置用户目录的权限,并且在我的脚本的最后一步遇到了一些麻烦。我的脚本基本上拥有整个用户目录的所有权,重置目录的所有文件和文件夹的权限,明确授予我需要的权限,停止从父文件夹继承所有权限,为所有文件设置合法所有者(指定用户)和文件夹,然后删除我给自己的权限,以便我可以对文件进行操作。我需要最后一步从所有文件和子文件夹中删除我自己,但目前它只是将我从 %userDir% 中删除,并将所有继承的权限保留在下面。这是 ICACLS 的一个明显缺点。有谁知道任何其他方式来实现这一目标?

set /p userDir=Enter the login of the user's directory you're modifying permissions for. (i.e. jDoe)
TAKEOWN /f "E:\Home Directories\%userDir%" /r /d y
ICACLS "E:\Home Directories\%userDir%" /reset /T
ICACLS "E:\Home Directories\%userDir%" /grant:r "MYDOMAIN\%userDir%":(OI)(CI)F /grant:r "SYSTEM":(OI)(CI)F /grant:r "MYDOMAIN\%username%":(OI)(CI)F
ICACLS "E:\Home Directories\%userDir%" /inheritance:r
ICACLS "E:\Home Directories\%userDir%" /setowner "MYDOMAIN\%userDir%" /T
ICACLS "E:\Home Directories\%userDir%" /remove "MYDOMAIN\%username%"
Run Code Online (Sandbox Code Playgroud)

scripting windows permissions

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

为某个目录中的新文件指定默认组和权限

我有一个目录,其中有一个由多个用户共享的项目。这些用户使用 SSH 访问此目录并修改/创建文件。

这个项目应该只对特定的用户组是可写的:我们称之为“mygroup”。在 SSH 会话期间,当前用户创建的所有文件/目录默认应归组“mygroup”所有,并具有组可写权限。

我可以解决权限问题umask

$ cd project
$ umask 002
$ touch test.txt
Run Code Online (Sandbox Code Playgroud)

文件“test.txt”现在是组可写的,但仍然属于我的默认组(“mislav”,与我的用户名相同)而不是“mygroup”。我可以chgrp递归地设置所需的组,但我想知道是否有一种方法可以隐式设置某些组,例如 umask 在会话期间更改默认权限。

这个特定目录是一个带有工作副本的共享 git 存储库,我希望git checkoutgit reset操作为在工作副本中创建的新文件设置正确的掩码和组。操作系统是 Ubuntu Linux。

更新:一位同事建议我应该查看POSIX ACL 的getfacl/setfacl,但下面结合umask 002当前会话中的解决方案对我来说已经足够了,而且要简单得多。

unix permissions posix umask chgrp

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

fstab 和 cifs 挂载,是否可以在 fstab 之外存储身份验证信息?

我目前正在使用 cifs 在 /etc/fstab 中挂载一些网络共享(需要身份验证)。它运行良好,但我想将身份验证详细信息(用户名/密码)移到 fstab 之外,并且能够将其修改为 600(因为如果我要更改其权限,fstab 可能会出现问题)。我想知道是否可以这样做(多用户系统,不希望所有用户都可以查看这些权限)。

从:

//server/foo/bar /mnt/bar cifs username=user,password=pass,r 0 0
Run Code Online (Sandbox Code Playgroud)

到:

//server/foo/bar /mnt/bar cifs <link to permissions>,r 0 0
Run Code Online (Sandbox Code Playgroud)

(或类似的东西)。谢谢。

linux permissions mount fstab

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

apache 文档根目录的最佳权限/所有权

我需要一些帮助来设置 apache 文档根的正确权限或所有权。这是我需要的:

  • 不同的网站存储在 /var/www/html/<site>
  • 两个用户应该通过 ssh 更新/管理网站
  • 所有权应该与 apache 用户不同(为了安全)

我怎样才能做到这一点?目前所有文件都是全局可写的,这不好。服务器运行 CentOS 5.5

谢谢

permissions centos documentroot apache-2.2

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

使用 SQL Server (2008),您能否在架构内授予创建表权限?

使用 SQL Server 2008 中的安全性,我试图授予用户 CREATE TABLE 权限,但仅限于特定架构内。CREATE TABLE 权限是否仅适用于数据库级别?

我可以限制用户仅在架构内创建表吗?

我试过了:

USE [databasename]
GRANT CONTROL ON Schema :: [schemaname] TO [username]
GO
Run Code Online (Sandbox Code Playgroud)

USE [databasename]
GRANT ALTER ON Schema :: [schemaname] TO [username]
GO
Run Code Online (Sandbox Code Playgroud)

但是,用户仍然无法在目标模式中创建表。直到我运行这个,用户才能创建一个表:

USE [databasename]
GRANT CREATE TABLE to [username]
GO
Run Code Online (Sandbox Code Playgroud)

授予

授予数据库权限

permissions sql-server

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

我可以使用 ACL 覆盖我的 umask 以使给定目录中创建的所有文件都可读吗?

假设我的 umask 是 0077。

我有一个目录,foo我想对其应用特殊权限。我在其中创建的所有文件foo都应该是全局可读的,并且所有目录都应该是全局可读和可执行的。

目前,如果我创建一个文件,它将是 0600,目录将是 0700:

$ cd foo/
$ touch file
$ mkdir directory
$ ls -l
drwx------ 2 nfm nfm 4096 2012-01-12 16:16 directory
-rw------- 1 nfm nfm    0 2012-01-12 16:15 file
Run Code Online (Sandbox Code Playgroud)

我希望文件是 0644,目录是 0755,不管我的 umask:

drwxr-xr-x 2 nfm nfm 4096 2012-01-12 16:16 directory
-rw-r--r-- 1 nfm nfm    0 2012-01-12 16:15 file
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

linux permissions access-control-list umask

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

域管理员组中的用户无法访问该组有权访问的目录

在使用我的域实验室之一时,我遇到了一个相当有趣的问题。

2008 R2 文件服务器上有一个目录,用于为“员工”OU 中的所有用户重定向文件夹。该目录具有以下权限集:

  • FILESERVER\Administrators:允许完全控制目录、子目录和文件
  • DOMAIN\Domain Admins:允许完全控制目录、子目录和文件
  • Authenticated Users:仅允许创建文件、创建文件夹、写入属性、将扩展属性写入顶级目录

此外,该目录也是对Authenticated Users 组具有“允许完全控制”权限的网络共享。

当用户 john.doe(域管理员组的成员)尝试从文件服务器访问该目录时,他收到错误消息“您当前无权访问此文件夹”。尝试从同一服务器访问网络共享也会导致权限被拒绝错误(尽管用户仍然可以访问他自己在共享中的目录)。

从以同一用户身份登录的另一台计算机访问共享允许按配置进行访问。

您可以在登录到文件服务器时访问目录中的文件的唯一方法是打开提升的命令提示符。通过组策略为域中的所有计算机禁用 UAC(在启用管理员批准模式下运行所有​​管理员,并且默认行为设置为不提示提升)。

所有的道路都指向用户被允许访问,但它仍然被拒绝。有任何想法吗?

windows permissions active-directory

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

如何将网络服务添加到用户权限组?

我正在改编来自不同服务器的应用程序,他们的安装指南告诉我

将服务器名称\网络服务标识添加到用户权限组。

那我该怎么办?

我试过了:

  • 通过计算机管理、组、用户并将其添加到那里,但未找到(网络名\网络服务或 BY AUTHORITY\NETWORK SERVICE)。

我在这里缺少什么?提前致谢。

iis permissions .net

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

强制 ssh 忽略 id_rsa 权限

我有一个非常具体的要求,要求多个用户使用一个私钥。我知道这有多糟糕。问题是,如果身份文件的权限允许(在我的情况下为 444),ssh 将简单地忽略它们。

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @        
WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0444 for '/var/vendor/id_rsa' are too open. It is
recommended that your private key files are NOT accessible by others.
This private key will be ignored.
Run Code Online (Sandbox Code Playgroud)

从手册页

包含用于身份验证的私钥。这些文件包含敏感数据,用户应该可以读取但其他人无法访问(读/写/执行)。如果其他人可以访问,ssh 将简单地忽略私钥文件。

有没有办法强制 ssh 使用密钥而不检查权限?

permissions ssh

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

PING icmp 打开套接字:在 vserver 中不允许操作

我正在运行具有多个虚拟机的 vserver 环境。单个VM存在以下问题:

$ ping 8.8.8.8
ping: icmp open socket: Operation not permitted

$ ls -l $(which ping)
-rwsr-xr-x 1 root root 30736 2007-01-31 00:10 /bin/ping

$ whoami
root

$ mount
/dev/hdv1 on / type ufs (defaults)
none on /proc type proc (0)
none on /tmp type tmpfs (size=16m,mode=1777)
none on /dev/pts type devpts (gid=5,mode=620)

$ uname -a
Linux v-web1 2.6.27.55-vs2.3.0.36.9 #1 SMP Tue Apr 28 11:35:00 CEST 2015 i686 GNU/Linux
Run Code Online (Sandbox Code Playgroud)

请注意,在主机以及所有其他 VM 主机上,Ping 工作正常。

有没有人有任何想法可以帮助我?

permissions virtual-machines ping

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