Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos &引用;限制性;OS X El Capitan中的文件夹/文件_Macos_File_Permissions_Osx Elcapitan - Fatal编程技术网

Macos &引用;限制性;OS X El Capitan中的文件夹/文件

Macos &引用;限制性;OS X El Capitan中的文件夹/文件,macos,file,permissions,osx-elcapitan,Macos,File,Permissions,Osx Elcapitan,从OS X Yosemite升级到OS X El Capitan Developer Preview后,我尝试编辑/System/Library/LaunchDaemons/ssh.plist将默认ssh端口更改为自定义端口。这是我用了几年的方法 问题是El Capitan不允许我更改此文件夹中的任何内容(甚至不允许使用“sudo”)。当我用“ls-lO”列出内容时,文件夹及其文件被标记为“受限”。先前版本的OS X中列出的同一文件夹不显示“受限” 这对OSX El Capitan来说是新事物吗

从OS X Yosemite升级到OS X El Capitan Developer Preview后,我尝试编辑/System/Library/LaunchDaemons/ssh.plist将默认ssh端口更改为自定义端口。这是我用了几年的方法

问题是El Capitan不允许我更改此文件夹中的任何内容(甚至不允许使用“sudo”)。当我用“ls-lO”列出内容时,文件夹及其文件被标记为“受限”。先前版本的OS X中列出的同一文件夹不显示“受限”

这对OSX El Capitan来说是新事物吗?如何编辑受限制的文件/文件夹


我发现这是由于El Capitan中引入了一个名为“SIP”(系统完整性保护)的新功能

请在此处阅读更多信息:


不幸的是,没有人建议在不实际禁用SIP的情况下编辑“受限”文件/文件夹。

直到10.11取消对/System/Library中某些文件的保护或允许您自己这样做,否则不禁用SIP的唯一方法是通过在其他地方处理文件来提供不同的服务,如:

sudo cp /System/Library/LaunchDaemons/ssh.plist /Library/LaunchDaemons/ssh.plist
然后,您可以自己管理服务,而不是使用“系统首选项”中的“共享”面板:

sudo launchctl unload /Library/LaunchDaemons/ssh.plist
sudo launchctl load -w /Library/LaunchDaemons/ssh.plist

您还可以通过以下方式暂时禁用SIP

  • 重新启动
  • 当您听到灰色屏幕上的“Mac声音”时,按Cmd+R进入恢复模式
  • 打开实用程序->终端
  • 运行命令
    csrutil disable
  • 重新启动后,您将进入禁用SIP的正常操作系统
  • 做所有你想做的改变
  • 重新启动
  • 当您听到灰色屏幕上的“Mac声音”时,按Cmd+R进入恢复模式
  • 使用
    csrutil启用SIP
  • 重新启动
  • 完成

  • 我建议您尝试向/Library/Preferences/中的plist添加所需的任何参数。例如,在我的例子中,我需要对mDNSResponder稍作修改,以添加AlwaysAppendSearchDomains标志。正如苹果开发者论坛上的“bwells”所建议的那样,我不得不这么做

    sudo launchctl unload /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist
    sudo defaults write /Library/Preferences/com.apple.mDNSResponder.plist AlwaysAppendSearchDomains -bool YES
    sudo launchctl load /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist
    
    这是一种更干净的方法,在重新启动过程中保持不变,并且应该在升级后仍然有效(至少在betas期间,禁用SIP后的手动更改被覆盖)。注意,据我所知,这是El Capitan的新功能。

    您可以通过系统组的Finder app修改文件权限,从而“绕过”SIP保护

    即使重新启动后,它对我也很好,我正在运行

    
    产品名称:Mac OS X
    产品版本:10.11
    构建版本:15A284
    

    您还可以在禁用文件系统管理时保持启用SIP。以恢复模式重新启动并运行:

    csrutil enable --without fs
    

    这将允许您根据需要更改权限

    我使用碳拷贝克隆器制作可克隆备份。。。并且有几个在轮换

    据bombich的mike所说,“SIP只适用于当前从中启动的卷,因此[可以]从备份卷启动以删除[文件]”

    我确实使用了johannes的答案(恢复驱动器,csrutil启用/禁用),但这需要重新启动->恢复驱动器->关闭sip->重新启动->删除垃圾->重新启动->恢复驱动器->打开sip->重新启动。。。四次重新启动

    但从克隆启动并将原始驱动器视为辅助驱动器将允许您在两次重新启动中删除有问题的文件。。。是吗

  • 只需在重新启动时按“CMD+R”进入“恢复”模式
  • 开放式终端
  • 您的磁盘将安装在/Volumes/Macintosh HD中
  • 通过“rm”删除文件:您在该终端拥有绝对控制权

  • 没有El Capitan Beta。苹果已经发布了操作系统的开发者预览版,你应该将问题指向@TheDarkKnight,是的,我知道,并且已经在苹果论坛上发布了这个问题。请确保更改文件名和文件中的
    标签
    键,为了避免与原始启动项目发生冲突。我认为这是最好的答案。您可能需要编辑并添加一个提醒,提醒您需要重新启动或
    sudo launchctl start com.openssh.sshd
    (或您给出的任何
    标签
    ),然后它才能真正开始工作。org.apache.httpd.plist帮助。很好的建议,应该被接受为更“正确”的方式。在10.11之前,什么会取消某些文件的保护?这个答案中有些奇怪的措辞。@BradleagheJohnson empedocle的意思是“直到10.11的修订取消保护……”。似乎无法使用自定义SSH端口,例如
    sudo defaults write/Library/Preferences/SSH.plist SockServiceName-string$port
    我无法实现这一点——我对系统拥有与您所展示的相同的R+W权限,并且我是管理员,但我仍然无法
    sudo vim
    (权限不足)或在Finder中添加写入权限。我认为系统权限不足以允许用户(甚至根用户)写入此文件。为我工作-我必须
    chmod u+s/usr/sbin/pppd
    让SonicWall NetExtender在El Capitan上重新开始工作,上面的说明使这成为可能。@Johannes Weiß是否可以为卷上的特定文件夹禁用SIP?在垃圾箱中使用“限制轮子”文件为我工作感谢。这难道不会破坏这个新功能的安全目的吗?@Amos-SIP有许多组件。文件系统保护只是其中一个组件。是的,禁用它确实会破坏安全性,但只会破坏特定功能的安全性,而不会完全破坏SIP。我只在
    /Volumes/
    中看到指向
    /
    的符号链接。如何安装实时系统?接受答案的过程确实有效,我只是好奇下一次。在打开终端之前,您需要在恢复模式下装入卷。或者,您也可以从中使用“diskutil mountDisk”