OS X YosemiteからOS X El Capitan Developer Previewにアップグレードした後、/ System/Library/LaunchDaemons/ssh.plistを編集してデフォルトを変更しようとしましたカスタムポートへのSSHポート。これは、私が数年間使ってきたプロセスです。
問題は、El Capitanがこのフォルダー内の何かを変更することを許可していないことです( "Sudo"でさえも)。フォルダーとそのファイルは、 "restricted"としてマークされます。コンテンツを "ls -lO"。 OS Xの以前のバージョンと同じフォルダーリストには、「制限付き」は表示されません。
これはOS X El Capitanにとって新しいものですか? "restricted"のファイル/フォルダを編集するにはどうすればよいですか?
これは、El Capitanで導入された "SIP"(System Intregrity Protection)と呼ばれる新機能によるものであることがわかりました。 。
詳細はこちら: https://forums.developer.Apple.com/thread/4731?q=SIP
残念ながら、実際にSIPを無効にすることなく「制限された」ファイル/フォルダを編集する方法を提案した人はいませんでした。
次の方法で一時的にSIPを無効にすることもできます
csrutil disable
を実行しますcsrutil enable
で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
/ Library/Preferences /のplistに必要な引数を追加してみることをお勧めします。たとえば、私の場合、AlwaysAppendSearchDomainsフラグを追加するには、mDNSResponderにわずかな変更を加える必要がありました。 Apple開発者フォーラムの「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
これははるかにクリーンなアプローチであり、再起動後も持続し、アップグレード後も維持されるはずです(少なくともベータ版では、SIPを無効にした後の手動変更は上書きされました)。私の知る限り、これはEl Capitanにとって新しいことです。
ファイルシステム管理を無効にしながら、SIPを有効のままにしておくこともできます。回復モードで再起動して実行します:
csrutil enable --without fs
これにより、必要に応じて権限を変更できます。
カーボンコピークローンを使用して、クローン可能なバックアップを作成します。
Bombichのマイクによると、「SIPは現在起動しているボリュームにのみ適用されるため、[ボリューム]を削除するためにバックアップボリュームから起動できます」。
Johannesの答え(リカバリドライブ、csrutilの有効化/無効化)を使用しましたが、再起動が必要です->リカバリドライブ-> sipをオフにする->リブート->がらくたを削除する->リブート->リカバリドライブ-> sipをオンに戻す— > reboot ... 4回の再起動。
しかし、クローンから起動し、元のドライブをセカンダリドライブとして表示すると、2回の再起動で問題のあるファイルを削除できます...はい?