未从脚本执行BASH chown命令:组名非法
我在MAC OS X终端中以root用户身份执行下面的脚本。管道命令成功运行,但脚本在chown命令处失败,出现以下错误: chown:域用户:非法组名 为什么? 请参见下面的脚本:未从脚本执行BASH chown命令:组名非法,bash,chown,groupname,Bash,Chown,Groupname,我在MAC OS X终端中以root用户身份执行下面的脚本。管道命令成功运行,但脚本在chown命令处失败,出现以下错误: chown:域用户:非法组名 为什么? 请参见下面的脚本: #!/bin/bash echo Enter username read Name echo Enter number read NUM sudo -s "(cd /Users/$NAME && tar c .) | (cd /Users/$NUM && tar xf -)" s
#!/bin/bash
echo Enter username
read Name
echo Enter number
read NUM
sudo -s "(cd /Users/$NAME && tar c .) | (cd /Users/$NUM && tar xf -)"
sudo chown -R $NUM:"Domain Users" /Users/$NUM
sudo chmod g+rwx /Users/$NUM
您的变量读取错误: 应该是这样的:
...
read NAME
....
read NUM
“域用户”是一个Active Directory组,因此必须连接到该域,才能与该组中的指定用户进行通信并获得指定资源的所有权。我今天远程工作,没有通过VPN连接,因此没有连接到我们的域,因此无法访问Active Directory组“域用户” 域用户听起来像广告组名称。如果是这种情况,那么组成员来自OSX上的OpenDirectory。您将无法对广告组执行
chown
。不管怎样。“域用户”永远不会被视为有效的unix组。@Petey T:这个Mac绑定到Active Directory,那么为什么它的组成员资格来自OpenDirectory?@Petey T:此外,我以root用户身份多次手动运行这三个命令,成功率为100%,所以我看不出你的说法是否正确。@Petey T:“以root用户身份手动运行”…在终端内,即。我已经在终端中一个接一个地执行了很多次,没有问题。OpenDirectory是mac用来与active directory交互的。所以我说“广告”组。不是opendirectory group.Ehh…我的朋友,这就是我在堆栈站点上输入文本的方式。在实际的脚本中,它们的格式都是大写的。您可能应该在代码块中编辑并给出正确的语法。只是为了帮助我们排除语法错误。在问题中修复它不会帮助其他人查看它。您应该访问网站的“帮助”和“游览”部分。