タグ付けされた質問 「not-root-user」

管理者権限なしで管理タスクを実行する。

1
非rootユーザーがバックグラウンドプログラムを自動起動する方法
非ルートユーザーとして、システムの起動時にバックグラウンドジョブを実行したい。これは、root権限を必要としない一種のサービスです。それを行う方法はありますか? 1つの方法はを入力することですsudo -u user commandがrc.local、編集にrc.localはルート権限が必要です。 別の方法は、cron毎分起動して実行中のインスタンスをチェックすることですが、まずシステムを不必要に起動し、次に実行中のインスタンスをチェックする際に競合状態が発生する可能性があります。 3番目の方法はで実行することですが~/.bash_profile、ユーザーのログインなしで起動したいです。

1
ルートアクセスなしでwebdav fuse clientを実行することは可能ですか?
davfs2Linuxでの使用方法を示す例を見てきましたが、それぞれ次のいずれかが関係しています。 mountルートとして実行 にエントリを追加する /etc/fstab mount.davfssetuidを実行しますが、悲しいことに、まだエントリが必要です/etc/fstab これは回避できますか?そうでない場合、websavのどの側面が、例えばsshfsよりもそれを妨げますか?

2
ルート権限を必要とせずにsyslinux / extlinuxをディスクイメージファイルにインストールする方法
自作のLinuxディストリビューションを構築しましたが、ブートローダーのインストールを除き、完全なディスクイメージファイルを非ルートユーザーとして作成できます。syslinux(実際にはextlinux)を使用しています。インストールするには、ブートパーティションをループバックマウントする必要があります。これには、root / sudo特権が必要です。コマンドはメイクファイルから実行され、変数名はそれらを置き換えるものを明確に示す必要があります。 sudo losetup -o $(BOOT_FS_PARTITION_OFFSET) $(LOOP_DEVICE) $(IMAGE_FILE_NAME) sudo mount $(LOOP_DEVICE) $(LOOP_MOUNT_POINT) sudo $(EXTLINUX) -S $(DISK_SECTORS) -H $(DISK_HEADS) -i $(LOOP_MOUNT_POINT) sudo umount $(LOOP_MOUNT_POINT) sudo losetup -d $(LOOP_DEVICE) root権限を必要とせずにsyslinuxまたはextlinuxをディスクイメージファイルに書き込む方法はありますか?

2
非共有でchrootをシミュレートする
最小限のソースからのLinuxディストリビューション用のブートストラップを作成しようとしています。 chrootのような環境でビルドしたいと思います。これにより、パッケージングが簡素化されます。私はこの時点でセキュリティを気にしません。ブートストラップは、非標準のサードパーティコマンドを必要としません。rootである必要もないのなら素晴らしいことです。 これが、fakechroot(1)fakeroot(1)chroot(1)がまさに私が探しているものではない理由です。 unshare(1)と/ bin / shを使用して/を偽造することは可能ですか?

3
ssh-key経由でログオンしましたが、アカウントのパスワードをリセットできますか?
sshkey(ssh -i /home/me/.ssh/ssh-key me@server)経由でサーバーにログインしています。 そのサーバーの管理者からsudoの権利を取得しましたが、実際のUnixパスワードを忘れたため(またはそれを知らされなかったため)、行使することはできません。すでにログオンしています- passwd古いパスワードを知らなくても、でパスワードをリセットできますか?

3
非ルートとしてのBluetooth LEスキャン?
bluetooth LEデバイスのスキャンを実行するには、hcitoolにroot権限が必要なようです。通常のユーザーの場合、出力は次のとおりです。 $ hcitool lescan Set scan parameters failed: Operation not permitted LEスキャンにhcitoolに root権限が必要なのはなぜですか? 非ルートとして何らかの方法でLEスキャンを実行することは可能ですか?

4
cgroupの管理にはrootアクセスが必要ですか?
2つの異なるオペレーティングシステム(UbuntuとCentOS)のコントロールグループを操作しようとしています。聞きたいことはほとんどありません。 cgcreateコマンドを使用してコントロールグループを作成しようとしていますが、マシンでrootアクセスが必要なようです。これまでに見た例はすべて、コントロールグループを作成または変更するためにrootユーザーになる必要があることについて何も述べていません。 rootユーザーである必要は本当にありますか?最終目標は、libcgroup APIを使用してリソースを制御するための制御グループを作成および管理するC ++アプリケーションを作成することです。ただし、C ++アプリケーションはrootユーザーによって実行されることはありません。通常のユーザーである可能性があります。

2
root以外のユーザーがインスタンスを使用してsystemdサービスを制御できるようにするにはどうすればよいですか?
dbaグループのユーザーがdatabase@サービスを制御できるようにする必要があります。この関連する質問に対する答えsystemctlは、sudoersファイルに許可したいすべての「動詞」をリストすることですが、システムに存在する可能性のあるデータベースが事前にわからないため、私のケースには当てはまりません。たとえば、私がリストした場合 %dba = /usr/bin/systemctl start database@awsesomeapp %dba = /usr/bin/systemctl start database@anotherawsesomeapp %dba = /usr/bin/systemctl start database@yetanotherawsesomeapp %dba = /usr/bin/systemctl start database@wowyetanotherawsesomeapp # ... other "verbs" omitted for brevity 将来存在する可能性のあるインスタンスは対象外であり、dbaは $ sudo systemctl start database@omgwowyetanotherawsesomeapp とにかく、私は特定のシステムをいじるよりも、パッケージの点で多くのことを考えています。 別の関連する質問に対するこの驚くべき回答に示されているように、これにsudoグロブを使用することは、最終的に安全ではないことに注意してください。 %dba ALL = /usr/bin/systemctl start database@[a-z]* # UNSAFE! 許可します $ sudo systemctl start database@awsesomeapp …

2
どうすればユーザーがプロセスに負の優しさを優先させることができますか?
ユーザーがシステムで特定のプロセスを実行して、負のnice値を指定してほしい。この特定のプログラムはminecraftサーバーであり、サーバーの制御はコマンドラインに依存しているため、プロセスを単純にバックグラウンドにフォークすることはできません。 私の現在のbashスクリプトは次のようになります(重要な部分): sleep 10 && \ sudo renice -n $NICENESS $(ps -u $(id -u) -o "%p:%c" | sed -n "s/:java$//p") & \ java -Xmx8G -Xms2G -jar minecraft_server.jar nogui sleep単にの実行を遅らせreniceます。reniceそれ自体がps、ユーザー自身のIDを使用してJavaプロセスをチェックするために使用します。さまざまなユーザーの下でJavaが生成される他のインスタンスが存在する可能性がありますが、minecraftサーバーは独自のユーザーminecraftで実行されます。 サーバーを起動するたびにパスワードを入力したくないのは明らかです。 以下からの/ etc / sudoersファイル: minecraft ALL = NOPASSWD: /etc/renice これを行うよりエレガントな方法はありますか?NOPASSWDと組み合わせて、単に使用することniceはオプションではありません。オプションは大きなセキュリティ問題になります。sudo nice bash

2
ユーザーのタイムゾーンを変更するには?
私は(たとえばDebianで)システムdpkg-reconfigure tzdataのタイムゾーンを変更するために使用できることを知っていますが、ユーザーのタイムゾーンをどのように変更できるのか疑問に思っています(Linux / Unixがそのようなアイデアをサポートしている場合)。 私は通常、sshを介してリモートでサーバーで作業しますが、サーバーがUTCで内部的に動作し(ファイルなど)、タイムゾーンが表面的である場合、接続元に応じて希望のタイムゾーンで時間を確認したいと思います。これは可能ですか?

2
非rootユーザーとして「スクリーン」セッションを開始するにはどうすればよいですか
root以外のユーザーとしてRHELボックスで新しい「画面」セッションを開く方法はありますか?root以外のユーザーとして「screen」コマンドを使用して新しい画面を開こうとすると、失敗して次のメッセージが表示されます。 Cannot open your terminal '/dev/pts/2' - please check. 少し調べてみたところ、/ dev / ptsのアクセス許可を変更して、root以外のユーザー(画面を開こうとしているユーザー)に読み取り/書き込みアクセスを許可するよう提案している人を見つけました。それは機能するかもしれませんが、きちんとした解決策のようには見えません。root以外のユーザーがスクリーンセッションを開くことができる「合法的な」方法はありますか? 編集:私のRHEL 5.5、6.2、6.5マシンでこの問題が発生しました。これらすべてのボックスの画面バージョンは「画面バージョン4.00.03(FAU)23-Oct-06」です。 PS:-私はrootとしてスクリーンセッションを開き、コマンド/プロセスを開始するために 'su'を実行できることを知っていますが、それは私が探しているものではありません。

1
Linuxで非ルートとして別の(新しい)glibc / gcc /…スタックを維持するにはどうすればよいですか
私たちの計算クラスターは、非常に古いバージョンのCentOSを実行し、古いカーネル(2.6.18)と、もちろん古いライブラリとバイナリを使用しています。すべてを更新するには、すべてのノードで多くの作業が必要になるため、これはオプションではありません。 (および/または)のC++11新しいバージョンを必要とする、したがって新しいバージョンを必要とするプログラムをコンパイルして使用しようとしています。私はシステムをいじりたくないので、ローカルディレクトリツリーで非rootユーザーとしてこれを実行したいと思います。gccclang 問題は、マシンに存在するものgccよりglibcも新しいものが必要であることです。したがって、おそらくここで説明するようglibcに、ローカルlib/ツリーでの別の新しいバージョンを維持する必要があります。 私は失われていますどこでどのように必要なすべてのバイナリに私の地元のlibsのパスI「決め打ち」を行う、すなわち、あるgcc、g++など?LD_LIBRARY_PATHをローカルlib/ツリーに設定すると、コンパイルされていないELF file OS ABI invalid新しいlibm.so/ を使用したいため、すべてのシステムバイナリが機能しなくなります()libc.so。 だから、それを包むために:(含む新しい、ローカル開発スタックを維持する適切な方法は何でglibc、gccrootとしていじりせずに古いシステムに並列など)は? 副次的な質問として、LD_LIBRARY_PATHを設定することは、SE全体で解決策として投稿されglibcます。私にとって、システムバイナリ(などls)を実行しようとすると、上記のエラーが発生します。どうして?私は何か間違ったことをしましたか、これは意図された動作ですか?

3
debian wheezyでsudoersファイルを適切に設定する方法は?
私は多くのブログ投稿を見てきました、それで十分です aptitude install sudo su root adduser USERNAME sudo しかし、これはを保護するだけです。aptitudeつまり、 aptitude install sendmailパスワードを要求します。実行する必要があり sudoますaptitude apt-get install sendmailパスワードを要求しないので、sudo特権は必要ありません 保護されたファイルを編集する場合、etcその中のファイルはパスワードを要求しないので、sudo特権は必要ありません のようなサービスを実行および停止できapacheます。パスワードを要求することはなく、sudo特権は必要ありません。 これを修正するには?これは私のsudoersファイルです: This file MUST be edited with the 'visudo' command as root. # # Please consider adding local content in /etc/sudoers.d/ instead of # directly modifying this file. # # See …

1
Xをワンライナーで実行するように「anybody」を設定するにはどうすればよいですか?
投稿された一般的なソリューションsudo dpkg-reconfigure x11-commonは、グラフィカルプロンプトを表示する実行ですが、これを非対話的に使用したいと考えています。 シナリオは、(Vagrantプロビジョニング中に)rootとしてマシンにSSHで接続しstartx、通常のユーザーとして一度実行して、いくつかの構成ファイルを生成してから、次の手順に進む必要があるというものです。 私が単純にできない理由su otheruser startxは、Xauthority / meが別のユーザーとしてSSH経由で接続されているためです...

1
1人のユーザー専用のupdate-alternatives
共有サーバーを使用しています。そのサーバーには、さまざまなバージョンのJavaがインストールされています。 Selection Path Priority Status ------------------------------------------------------------ 0 /usr/lib/jvm/java-6-openjdk/jre/bin/java 1061 auto mode * 1 /usr/lib/jvm/java-6-openjdk/jre/bin/java 1061 manual mode 2 /usr/lib/jvm/java-6-sun/jre/bin/java 63 manual mode 2番目のオプションを選択したいのですが、それを行おうとすると、権限がない(rootではない)と文句が表示されます。 「ユーザー空間」でそれを行う方法はありますか? rootユーザーがこの設定を自分だけに機能させることはできますか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.