web-dev-qa-db-ja.com

CentOS 7でユーザーにフォルダーの読み取り/書き込み権限を割り当てる

CentOS 7サーバーにrootとしてログインしています。 /somefolderというフォルダを作成しました。リモートコンピューターからsomeusernameを介してscpがそのフォルダーに書き込みできるようにしたいです。 someusernamescp /some/directory/in/remotepc someusername@centos7server:/somefolder/を入力してファイルを正常に転送できるようにするには、どのコマンドを実行すればよいですか?

chmod -R u+rw /somefolderのように推測できますが、それは推測にすぎません。そして、どのように私はどのユーザーを指定しますか?

3
CodeMed

Anthonの答えは技術的には正しいですが、私はこれを書いて、Octalパーミッションがどこから来たのか、そしてそれらを計算する方法を説明します。 Octal Permissionsは* nixの世界で最も重要な概念の1つです。

このコンセプトが重要な理由

nix Circa 1969 -1974の誕生破棄されたDEC PDP-7写真と履歴 を参照)および Linus Torvalds 1994年頃のLinuxの作成。Unixのようなクローンとして、ファイル権限は常にGranularレベルで存在しています。

きめ細かなファイルアクセス許可とは、必要に応じて、ユーザーがファイルレベルからアクセス許可を付与し、はしごを登ってディレクトリに、次にディレクトリの親に、さらにルートまで進むことを意味します。

一方、Windowsには Windows 2000のリリースまでの詳細な権限 がありませんでした。現在でも、Windowsの権限は、GUIウィンドウやアドオンを使用せずに管理するのは非常に困難です Active Directory * nixシステムの動作を実現するサーバー。


8進数のアクセス許可のしくみ

すべての* nixファイル許可は、2つの概念で機能します。

  1. Userクラス-別名UGO
  2. Modeクラス-別名RWX

Jared Heeschenが 彼の記事 で述べているように:

ここで、chmodを使用できる別の方法、つまり数値について見ていきます。これは、より一般的に使用される形式ですが、ユーザーフレンドリーではありません。

コンピュータはバイナリで動作するため、ファイルのアクセス許可もバイナリで動作します。パーミッション文字列を次のように見た場合:

 UGO UGO UGO UGO 
 ------------------------ 
 111 110 101 100 

10進数に変換すると、次のようになります。

 UGO UGO UGO UGO 
 ------------------------ 
 111 110 101 100 
 7 6 5 4 

ありがとう、数学のJared


最後のステップ

2進数表現を10進数に変換したら、ユーザークラスの3つの部分すべての権限を組み合わせることができます。

ls -al

 U G O 
 ----------- 
-rwxrwxrwx所有者グループファイル数日付ファイル名

モード:0777

 U G O 
 ----------- 
-rw-r--r--所有者グループファイル数日付ファイル名

モード:0644

ショートカットとして、これを使用できます Handy Permissions Calculator and Decoder 。これらの8進数がわかると、ユーザーはchmodコマンドを使用し、8進数シーケンスを使用してモードをすばやく変更できます。いつものように、より多くの場合、man chmod


参考文献

Linuxファイルの権限のしくみ
chmodを使用-8進モード

2
eyoung100

ユーザーsomeusernameが最初にrootによって作成されたフォルダに書き込むことができるようにするには、rwx権限または所有者応答を変更する必要があります。グループ。権限を制限する場合、someusernameは所有者またはグループメンバーである必要があります。

chmod 777 /somefolderを実行すると、someusernameを含め、全員が読み書きできます。

chmod 770 /somefolderを実行する場合、someusername/somefolderを所有するグループのメンバーである必要があり、さらに以下を実行する必要があります。

chgrp someusername /somefolder

(今日よくあるように、ユーザーsomeusernameの作成時に作成されたグループsomeusernameがあると仮定します。someusernameのグループを取得するには、id someusername)。

chmod 700 /somefolderを実行する場合、someusername/somefolderの所有者である必要があり、さらに次のことを実行する必要があります。

chown someusername /somefolder

ディレクトリの場合、そのディレクトリ内のファイルとディレクトリにアクセスするには、実行ビットを設定する必要があります。したがって、644がディレクトリに適していることはめったになく、700755750の権限は、ディレクトリでよく見られます。

7
Anthon