質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

VPS

VPS(バーチャル・プライベート・サーバ)は、仮想化されたサーバをレンタルするサービスで、共有サーバでありながら専門サーバと同等の機能を果たします。物理的な専門サーバより安価で提供できるメリットがあります。

Q&A

解決済

3回答

4886閲覧

sudoとパーミッションの関係

PartyKids

総合スコア65

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

VPS

VPS(バーチャル・プライベート・サーバ)は、仮想化されたサーバをレンタルするサービスで、共有サーバでありながら専門サーバと同等の機能を果たします。物理的な専門サーバより安価で提供できるメリットがあります。

0グッド

0クリップ

投稿2017/07/14 02:35

閲覧ありがとうございます。
VPSで本番環境を初めて構築中の初心者です。rootや一般ユーザーの役割を考えず、エラーに困ったらsudoコマンドを多用していたため行き詰り、その原因の一つがパーミッションではないかと考え、質問させていただきました。

前提

ローカル:Mac
VPS:さくらVPS
os:centos7

設定&エラー

linux

1root@<ip_address> #ログイン 2adduser deloy #一般ユーザー登録 3passwd deploy 4gpasswd -a deploy wheel #グループ追加 5yum -y install nano 6groups deploy => deploy wheel 7exit #終了 8 9ssh deploy@<ip_address> #ログイン 10sudo yum -y install git 11git clone git://github.com/sstephenson/rbenv.git rbenv 12fatal: could not create work tree dir 'rbenv'.: Permission denied

試したこと(実験)

linux

1ssh deploy@<ip_address> #ログイン 2groups root => root 3gpasswd -a deploy root 4groups deploy => root deploy wheel 5cd /usr/local 6sudo touch a.txt 7ls -al 8 -rw-r--r--. root root 9nano a.txt → Warning: No write permission 10sudo chmod g+wx a.txt 11ls -al 12 -rw-rwxr-- root root 13nano a.txt → Warning: No write permission 14sudo chmod o+wx a.txt 15ls -al 16 -rw-rwxrwx root root 17nano a.txt → success!!

疑問1:a.txtのdeployユーザーをrootグループに追加したのに書き込めないのはなぜ?

deployユーザーはrootグループに所属しており、ファイル所有者rootはrootグループに属しているので、グループ権限を変更すれば(chmod g+wx)、deployユーザーは、sudo無しで書き込みができると思っていました。しかし、実際にはその他のユーザー権限を変更しなければ書き込めませんでした。
rootグループはrootのみしかなれない?

疑問2:wheelグループ

root権限という言葉から、wheelグループにrootは含まれていると勘違いしていたのですが、wheelグループはsudoコマンドを使えるユーザー制限するためだけのグループ?という理解でよろしいのでしょうか?

疑問3:一般ユーザーがsudo無しでコマンドを実行するには?

『一般ユーザー sudo なし』っと検索しても、ユーザー切替時のパスワード無しがヒットしてしまい、うまく検索できないので助けてください。
/home/deployディレクト下では、deployユーザーはsudo無しでコマンド実行する事が出来ることは、分かったのですが、それ以外の場合(usr/local等)は、どうなんですか?
一旦sudoを付けたコマンドを実行させ、その度に作成されたディレクトリ&ファイルにchmodでパーミッションを変更する必要があるのですか?

よろしくお願いいたします!!

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

sudoの設定はvisudoコマンドでは?
ただしvi(vim)の操作をできる前提です

投稿2017/07/14 04:21

yambejp

総合スコア114769

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

PartyKids

2017/07/14 09:26

コメントありがとうございます! vimの操作は、現段階では省きたかったので、nanoをインストールしたのですが、sudoersを直接編集しないために、visudoコマンドを用いるですね! viが出てきたら、nanoに変換して作業しており、そこまで気が付きませんでした! ご指摘ありがとうございます!!
guest

0

ベストアンサー

疑問1:
deployユーザーの所属グループを変更しても、それが有効になるのは次にログインしてからです。
なので、一度ログインし直せばうまくいくケースでした。

疑問2:
Yes

疑問3:
sudoersというファイルをごにょごにょします。
sudoersをキーワードにぐぐってみてください。

投稿2017/07/14 03:25

yuba

総合スコア5568

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

PartyKids

2017/07/14 10:02

疑問3が解決出来ないので質問してもよろしいでしょうか? <前提> ssh deploy@<ip_address> #ログイン cd /usr/local/ drwxr-xr-x. root root touch funky → cannot touch ‘funky’: Permission denied sudo touch funky → success -rw-r--r-- root root funkyディレクト下で作業するとpermission deniedになるので、funkyディレクトリをsudo無しで作成したいです。 つまり、drwx------- deploy deploy でファイルを作成です。 sudoersを調べても、一般ユーザーの`sudo`実行コマンド制限方法、`sudo`実行時のパスワード省略方法やパスワードのキャッシュ時間の設定等しか見つけられませんでした。 私の質問内容が不適切だったため、誤解を招くような表現をしてしまったのではと思い、再度質問させていただきました。 よろしくお願いいたします!!
PartyKids

2017/07/19 21:25

全部の疑問に回答していただき、ありがとうございました! まだまだ勉強不足ですが、よろしくお願いいたします。
guest

0

疑問1に対してだけ。gpasswdによってユーザーをグループに追加したときは、一旦ログアウトや再起動をしなければ反映されません。単にそれをしていないだけでは。

投稿2017/07/14 03:23

keicha_hrs

総合スコア6768

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

PartyKids

2017/07/14 09:32

コメントありがとうございます! そうだったんですね! firewalldやsshdの設定を変更した際には、reloadやrestartしていたので、パーミッションを変更した際にもrestart等があるのでは?と気にはしていたのですが、そのようなコメントが無かったので、特に何かする必要性はないっと思っていました。。。。 再起動orログアウトだったんですね。 ご指摘ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問