test1
特定のコマンドのみを実行するように制限したいユーザーがいます。私が見つけたこれ解決策、私はそれをテストし(test1としてログインし、ランダムなコマンドを実行しましたが、そのうちの何も動作しませんでしたdate
)動作しました。これが私がしたことです:
cp /bin/bash /bin/rbash
useradd -s /bin/rbash test1
mkdir /home/test1/bin
chmod 755 /home/test1/bin
echo "PATH=$HOME/bin" >> /home/test1/.bashrc
echo "export PATH" >> /home/test1/.bashrc
chattr +i /home/test1/.bash_profile
ln -s /usr/bin/date /home/test1/bin
test1
私はあなたのようなLinuxの専門家よりもDBAに近いので、これが十分なのか、システムが何もしないように他のことをする必要があるのかわかりません。セキュリティを改善するための提案はありますか?
ご覧のとおり、次のコマンドへのリンクを作成するとifconfig
、
ln -s /sbin/ifconfig /home/test1/bin
このユーザーはを使用することtest1
もできます。たとえば、このオプションを使用してこのコマンドをどのように制限できますか?それともオプションなしで実行できますか?add | del | up | down
ifconfig
-a
答え1
一般ユーザーはネットワークインターフェイスを変更できません。
たとえば、root以外のユーザーは、次のようにインターフェイスの詳細を表示できますifconfig
。
$ ifconfig eth0
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
ether xx:xx:xx:xx:xx:xx txqueuelen 1000 (Ethernet)
RX packets 178399193 bytes 213874320365 (199.1 GiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 50539358 bytes 36748192570 (34.2 GiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device memory 0xba200000-ba21ffff
しかし、インターフェイスを閉じることはできません。
$ ifconfig eth0 down
SIOCSIFFLAGS: Operation not permitted
つまり、rootとして実行しないでくださいifconfig
(例えばsudo
。
答え2
走ってみたことがありますか/bin/rm
?記事の上部の警告を読んでいますか?
免責事項:これは単なるハッキングであり、実際の本番用途にはお勧めできません。
次のコメントも読んでみましょう。この回答Stack Overflowでコピーを入手してください。
実際にユーザーを制限したい場合安全にSELinuxやAppArmorなどの権限フレームワークを見ることもできます。