Arch LinuxでSkypeを設定して、サンドボックス化されたユーザーどのユーザーが を呼び出すかは関係ありませんskype
が、Wiki で提案されているように、BASH エイリアスを使用して Skype を起動するのはあまり好きではありません。なぜなら、私の知る限り、ユーザーが BASH を使用していないか、 から Skype を呼び出すとskype.desktop
、サンドボックス化されたユーザーは使用されないからです。/usr/bin/skype
を呼び出すように転送する方がよいのではないかと思いました。
sudo -u skype /usr/bin/skype.real
Skypeのバイナリはどこにskype.real
ありますか。Debianでは、次のようにすればできると思います。
dpkg-divert --package skype --add --rename --divert /usr/sbin/skype.real /usr/sbin/skype
そして、自分のファイルを に追加します/usr/sbin/skype
。Arch でこれを行うにはどうすればよいでしょうか?
答え1
コメントで示唆したように、skype-restricted
AUR パッケージが適していない場合 (また、彼らが使用するアプローチはわかりません)、次の 2 つのアプローチが考えられます。
(Arch での正しい適用方法については最後までお読みください)
skype
実際のSkypeを実行するスクリプトに変更する
実際の Skype を呼び出す bash スクリプトを作成します。
#!/bin/sh
sudo -u skype /usr/bin/skype.real
実行権限を与え、 として保存し/usr/bin/skype
、古い Skype バイナリの名前を に変更します/usr/bin/skype.real
。
ただし、このアプローチでは、考慮する必要があるいくつかの点が生じます。
ユーザー以外の誰も Skype (本物) に電話をかけないようにしたい場合は
skype
、ファイルに適切な権限を与える必要があります。chown skype /usr/bin/skype.real chmod 0100 /usr/bin/skype.real
これにより、所有者以外の人が実行できなくなります。
- 誰でも実行できるようにするには
skype
(新しいスクリプト化されたもの)、 sudoers ファイル ( を使用visudo
) を編集して、誰でも (できればグループ内、おそらくグループskype
) が user として呼び出せるようにする必要がありますskype
。詳細はわかりませんが、実行可能であることだけはわかっています。
所有者を変更しskype
、setuid
ビットを設定する
注: これは推奨される方法ではありません。setuid実行ファイルは最小限に設定する必要があります。
setuid
これは、呼び出す人が誰でもskype
ユーザーとして呼び出すようにビットを設定することで、よりクリーンな可能性になる可能性がありますskype
。
chown skype /usr/bin/skype
chmod u+s /usr/bin/skype
これにより、コマンドは常に使用可能になりますskype
が、常にユーザーとして実行されますskype
。
上記のいずれの場合もSkype を新しいバージョンに更新するたびに、pacman
バイナリを置き換えるため、このプロセスを繰り返す必要があります。
解決策は、PKGBUILD
公式パッケージをダウンロードし、それを解凍して、必要な変更を実行する を作成することです。その後、手動でインストールします (他の AUR パッケージをインストールする場合と同様)。更新が必要なときはいつでも、手動で再構築する必要があります。ただし、Skype はそれほど頻繁に更新されません。
この最後のタスクでは、PKGBUILD の公式 wiki素晴らしいリソースです。