質問

質問

私は「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同じ目的で、これは同じ質問で言及されました。

関連情報