chownがシンボリックリンクを変更しない
シンボリックリンクのユーザー/グループをコマンドで変更しようとしています:
$ chown -h myuser:mygroup mysymbolic/
でも変更されません。私はrootでログインしています。現在のユーザー/グループはroot:rootに設定されています。何か問題があったのでしょうか?
シンボリックリンクのユーザー/グループをコマンドで変更しようとしています:
$ chown -h myuser:mygroup mysymbolic/
でも変更されません。私はrootでログインしています。現在のユーザー/グループはroot:rootに設定されています。何か問題があったのでしょうか?
私はこれを自分で試してみました。hをつけるとシンボリックリンクの所有者を変更しますが、そうでない場合はファイル自体の所有者を変更します。
でもディレクトリをchown
できませんでしたが、フルパスを使うとうまくいきました。
単純に、
chown -h myuser:mygroup <symlink> [without trailing slash]
で十分で、うまくいくはずです!  .
私も同じような問題を抱えていました。私の場合、どのようにchmodを呼んでも、rootであってもシンボリックリンクをchmodすることができませんでした。さらに混乱させるために、nautilusはオーナー/グループを何も表示していませんでした。オーナーは何も表示されていませんでした。そこで私はchmodが機能しておらず、nautilusがクラッシュしてしまったので、rootで実行しているnautilusを使ってシンボリックリンクを変更しようとしました!
しかし、問題が解決したと思います。シンボリックリンクが指し示していたディレクトリは、シンボリックリンクとは異なるパーミッションを持っていました。そこで、ターゲットディレクトリを(-hを使って)自分のユーザ/グループ名にchmodしてみました。そして、シンボリックリンクを同じものにchmodしたところ、うまくいきました。そして、nautilusでシンボリックリンクの詳細を表示すると(root権限で)クラッシュしなくなりました。
同じような問題を抱えている他の人のために、ターゲットディレクトリ/ファイルの権限をチェックして、シンボリックリンクを設定している権限と互換性があることを確認してください。
Solaris の場合 (S11.3 で検証済み)、ディレクトリへのシンボリックリンクには
root@ac11x017:/var/tmp$ ls -lal dumpdir
lrwxrwxrwx 1 root root 16 Jun 15 09:08 dumpdir -> /data/dumpdir/
root@ac11x017:/var/tmp$ chown -RP oracle:oinstall dumpdir
lrwxrwxrwx 1 oracle oinstall 16 Jun 15 09:09 dumpdir -> /data/dumpdir/
``` を実行する必要があります。
シンボリックリンクの owner
を変更することは、ターゲットを割り当てたい新しいユーザーが accessible である場合にのみ機能することに注意してください。
例えば、ターゲットが割り当てたいユーザーが十分な権限を持っていないフォルダ内にある場合、ln -s command
の動作は全く何もしないようになっています。