私は「achille」としてログインし、achilleは2つのグループに属しています。
groups achille
achille: achille users
「tree.test」ファイルのグループ所有者を「users」グループに変更したいと思います。
ls -l tree.test
-rw-r--r--. 1 achille achille 2512881 Dec 1 11:53 tree.test
私は私のホームディレクトリに対するフルアクセス権を持っています。
ls -ld $HOME
drwx------. 15 achille achille 4096 Dec 10 11:51 /home/achille
私は試みる:
chown :users tree.test
chown: changing group of 'tree.test': Operation not permitted
私は試みる:
chgrp users tree.test
chgrp: changing group of 'tree.test': Operation not permitted
いいですね。それで、「ユーザー」グループをデフォルトグループにすることにしました。
usermod コマンドは achille で使用できるので、これを使用します (そうですか?)。
usermod -g users achille
usermod: Permission denied.
usermod: cannot lock /etc/passwd; try again later
これを行うために、rootとしてログインしました(デフォルトグループの変更)。
su -
password:
それから
usermod -g users achille
確認してください:
id -gn achille
users
次にctrl + Dを押してachileに再度ログインします。
ファイルは最終的に "Users"グループに属していましたが、私のホームディレクトリとその中のすべてのファイル/ディレクトリもUsersグループに属していたため、結果は悪かった。
最後に、(rootとしてログインせずに)newgrpコマンドを使用する方法を見つけました。
newgrp users
id -gn
users
touch file0
file0はユーザーをグループ所有者として持ちます。
しかし、achilleが変更したいグループに属している限り、newgrpは機能しているようです。それ以外の場合は、次のエラーメッセージが表示されます。
newgrp games
Password: (what password to put here?)
newgrp: failed to crypt password with previous salt: Invalid argument ????
今、私はchgrp、chown、usermodが権限のないユーザーのツールキットに保存する価値があるかどうか疑問に思いました。みんなありがとうございます!
答え1
おそらく
質問
新しいグループにユーザーを追加すると、ディスクの構成ファイルに一部のデータが書き込まれます。既存のプロセスに変更はありません。
問題を解決する方法。
ログアウトして再度ログインするか、新しいグループが追加されたnewgrp
新しいシェルプロセスを作成できます(これはファイルのデータを読み取り、新しいプロセスで新しいシェルを起動し、新しいグループを追加して権限検証を実行します)。グループに追加)。
答え2
私はあなたが正確に何を探しているのか知りたいです。 chown/chgrp ジョブをテストするには、以下を使用できます。名前空間ユーザースペースから1つ作成chroot 刑務所その後、刑務所内で特権プロセスを開始し、新しいユーザーやその他の必要なアイテムを作成します。
また、使用することができますfakechroot
同じ目的で、これは同じ質問で言及されました。