我正在尝试重置用户目录的权限,并且在我的脚本的最后一步遇到了一些麻烦。我的脚本基本上拥有整个用户目录的所有权,重置目录的所有文件和文件夹的权限,明确授予我需要的权限,停止从父文件夹继承所有权限,为所有文件设置合法所有者(指定用户)和文件夹,然后删除我给自己的权限,以便我可以对文件进行操作。我需要最后一步从所有文件和子文件夹中删除我自己,但目前它只是将我从 %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) 我有一个目录,其中有一个由多个用户共享的项目。这些用户使用 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 checkout和git reset操作为在工作副本中创建的新文件设置正确的掩码和组。操作系统是 Ubuntu Linux。
更新:一位同事建议我应该查看POSIX ACL 的getfacl/setfacl,但下面结合umask 002当前会话中的解决方案对我来说已经足够了,而且要简单得多。
我目前正在使用 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)
(或类似的东西)。谢谢。
我需要一些帮助来设置 apache 文档根的正确权限或所有权。这是我需要的:
/var/www/html/<site>我怎样才能做到这一点?目前所有文件都是全局可写的,这不好。服务器运行 CentOS 5.5
谢谢
使用 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)
假设我的 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)
我怎样才能做到这一点?
在使用我的域实验室之一时,我遇到了一个相当有趣的问题。
2008 R2 文件服务器上有一个目录,用于为“员工”OU 中的所有用户重定向文件夹。该目录具有以下权限集:
此外,该目录也是对Authenticated Users 组具有“允许完全控制”权限的网络共享。
当用户 john.doe(域管理员组的成员)尝试从文件服务器访问该目录时,他收到错误消息“您当前无权访问此文件夹”。尝试从同一服务器访问网络共享也会导致权限被拒绝错误(尽管用户仍然可以访问他自己在共享中的目录)。
从以同一用户身份登录的另一台计算机访问共享允许按配置进行访问。
您可以在登录到文件服务器时访问目录中的文件的唯一方法是打开提升的命令提示符。通过组策略为域中的所有计算机禁用 UAC(在启用管理员批准模式下运行所有管理员,并且默认行为设置为不提示提升)。
所有的道路都指向用户被允许访问,但它仍然被拒绝。有任何想法吗?
我正在改编来自不同服务器的应用程序,他们的安装指南告诉我
将服务器名称\网络服务标识添加到用户权限组。
那我该怎么办?
我试过了:
我在这里缺少什么?提前致谢。
我有一个非常具体的要求,要求多个用户使用一个私钥。我知道这有多糟糕。问题是,如果身份文件的权限允许(在我的情况下为 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 使用密钥而不检查权限?
我正在运行具有多个虚拟机的 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 ×10
linux ×2
umask ×2
windows ×2
.net ×1
apache-2.2 ×1
centos ×1
chgrp ×1
documentroot ×1
fstab ×1
iis ×1
mount ×1
ping ×1
posix ×1
scripting ×1
sql-server ×1
ssh ×1
unix ×1