GNU/Linux >> Linux の 問題 >  >> Ubuntu

非Sudoersユーザーがルート操作を行うスクリプトを実行できるようにするにはどうすればよいですか?

私はディレクトリ/opt/expeを持っていると思います そして、どのユーザーにも.txtファイルを作成してもらいたいです。ユーザーに次のように入力してもらいたい:

$ whoami
user1
$ export $file_name=my_txt_file
$ /opt/expe/create_file.sh
$ ls -cal /opt/expe
total 12
drwxr-xr-x 2 root  root 4096 Jul 29 19:27 .
drwxr-xr-x 6 root  root 4096 Jul 29 19:14 ..
-rwsr-sr-t 1 root  root   65 Jul 29 19:29 create_file.sh
-rw-r--r-- 1 user1 root    0 Jul 29 19:27 my_txt_file.txt

私はこれをsudoerで試します

$ whoami
user_sudoer
$ cat /opt/expe/create_file.sh
touch /opt/expe/$file_name.txt
chown $USER /opt/expe/$file_name.txt
$ chmod a+x /opt/expe/create_file.sh
$ chmod a+t /opt/expe/create_file.sh
$ chmod a+s /opt/expe/create_file.sh
$ chmod a+X /opt/expe/create_file.sh

次に、root以外のユーザーで取得しました:

$ whoami
user1
$ export $file_name=my_txt_file
$ /opt/expe/create_file.sh
touch: cannot touch '/opt/expe/prueba_txt.txt': Permission denied

このようなことをしてもいいですか。 postgres SECURITY DEFINERのようなものが欲しい コンセプト。

承認された回答:

私はPostgresに精通していませんが、少なくとも4つのオプションがあります:

  1. / opt / expeの権限をchmodで変更して、すべてのユーザーがこのディレクトリ内にファイルを作成できるようにします。

  2. そこに書き込む必要があるユーザー用に別のグループを作成し、chmodを使用して/ opt / expeグループのアクセス許可を変更して、このグループがそこに書き込むことができるようにします。

  3. 別のグループを作成し、sudoersルールを追加して、たとえば次のように説明されているように、このスクリプトを実行できるようにします。ユーザーが暗号化されたファイルコンテナをVeraCryptにマウントするにはどうすればよいですか?

  4. きめ細かいアクセス制御にはラベルセキュリティを使用します。セキュリティラベルの簡単な説明とその他のリンクは次のとおりです:https://unix.stackexchange.com/questions/53028/what-are-ext4-security-labels

ファイルを作成/削除する権限はディレクトリのプロパティであり、ファイル自体ではないことに注意してください。


Ubuntu
  1. ルートとしてGoogleChromeを実行する方法– Ubuntu 11.10 / Linux Mint 12

  2. スクリプトをルートとして遡及的に実行する方法は?

  3. スクリプトを実行する方法??

  1. Sudoを使用したリダイレクトまたはパイピングを含むコマンドを実行するにはどうすればよいですか?

  2. Ubuntu – Pam_execに現在のユーザーとしてスクリプトを実行させる方法は?

  3. Linux マシンで root ユーザーとして Elasticsearch 2.1.1 を実行する方法

  1. バックグラウンドでシェルスクリプトを実行する方法は?

  2. ターミナルをルートとして実行する方法は?

  3. LightdmでGreeter/ログインスクリプトを実行する方法は?