[解決済み] os.Mkdir と os.MkdirAll のパーミッションについて
質問
プログラムの開始時にログファイルを作成しようとしています。
をチェックする必要があります。
/log
ディレクトリが存在するかどうか確認する必要があります。もしディレクトリが作成されない場合は、ログファイルの作成に移ります。
さて、私は
os.Mkdir
(と同じように
os.MkdirAll
を使用していますが、2番目のパラメータにどのような値を入れても、アクセス権のないロックアウトされたフォルダが表示されます。ユーザーフォルダの読み取り/書き込みを行うには、この値をどのように設定すればよいのでしょうか?私はそれがあると思いました
0x700
と思ったのですが、うまくいかないようです。
ありがとうございました。
どのように解決するのですか?
8進数表記をそのまま使うことができます。
os.Mkdir("dirname", 0700)
パーミッションビット
+-----+---+--------------------------+
| rwx | 7 | Read, write and execute |
| rw- | 6 | Read, write |
| r-x | 5 | Read, and execute |
| r-- | 4 | Read, |
| -wx | 3 | Write and execute |
| -w- | 2 | Write |
| --x | 1 | Execute |
| --- | 0 | no permissions |
+------------------------------------+
+------------+------+-------+
| Permission | Octal| Field |
+------------+------+-------+
| rwx------ | 0700 | User |
| ---rwx--- | 0070 | Group |
| ------rwx | 0007 | Other |
+------------+------+-------+
Unix パーミッションの入門書
一般的なパーミッションの使用法
0755 ウェブサーバでよく使われる。所有者は読み取り、書き込み、実行が可能です。他の人は読み込みと実行はできますが、ファイルを変更することはできません。
0777 誰でも読み込み、書き込み、実行が可能です。Web サーバでは、ファイルやフォルダに '777' パーミッションを使うことはお勧めしません。誰でも悪意のあるコードをサーバに追加することができるからです。
0644 所有者だけが読み書きができます。他の人は読むことしかできません。誰もファイルを実行することはできません。
0655 所有者のみがファイルの読み取りと書き込みを行うことができますが、実行はできません。他のすべての人は読み込みと実行ができますが、ファイルを変更することはできません。
www.maketecheasier.com/file-permissions-what-does-chmod-777-means/
Linuxのディレクトリパーミッション
Linuxでディレクトリにパーミッションを適用する場合、パーミッションビットは通常のファイルとは異なる意味を持ちます。( ソース )
読み取りビット
ユーザはディレクトリに含まれるファイル名を読むことができます。
書き込みビット
実行ビットも設定されていれば、ユーザーはファイル名を{追加,名前変更,削除}することができます。
実行ビット
ユーザはディレクトリに入り、中のファイルにアクセスすることができる。
https://unix.stackexchange.com/a/21252
パーミッション計算機
手軽な パーミッション計算機 .
関連
-
Linux ddコマンド詳細説明:データのバックアップ、およびバックアッププロセスでのフォーマット変換のケース
-
Centos7のインストールと展開無料のconfluence wikiの(知識ベース)詳細な操作手順
-
deepin20のデフォルトブラウザを設定するには?deepinにデフォルトブラウザを追加するためのヒント
-
[解決済み] ワイルドカードマッチングに基づいて、現在のフォルダとサブフォルダ内のすべてのファイルを再帰的に検索するにはどうすればよいですか?
-
[解決済み] フォルダとそのサブフォルダ/ファイルのパーミッションを一括で変更する方法
-
[解決済み] Python の open() はファイルが存在しない場合、ファイルを作成しない
-
[解決済み] error: 'Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)' -- Missing /var/run/mysqld/mysqld.sock
-
[解決済み] ディレクトリをTarするが,完全な絶対パスはアーカイブに保存しない
-
[解決済み] C言語での新規ディレクトリの作成
-
[解決済み] BASHでmvを使ってファイル名にタイムスタンプを追加する。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Linuxのデスクトップの背景を画像で引き伸ばし表示にする方法とは?
-
rsyncとinotfiyの組み合わせでリアルタイムバックアップ問題を実現
-
Kali Linuxのデスクトップの外観スタイルを変更するには? KALIの外観の最適化のヒント
-
floor'への未定義の参照/`&'への未定義の参照
-
[解決済み] Linuxでデータファイルから最初の列(実際には行名)を削除する方法は?
-
[解決済み] bash sh - command not found [重複].
-
[解決済み] すべてのディレクトリとサブディレクトリを再帰的にgrepするにはどうしたらいいですか?
-
[解決済み] Bashでファイルの中身をループする
-
[解決済み] どのバージョンのPostgreSQLを使用していますか?
-
[解決済み] GolangでMkdirを使ってネストされたディレクトリを作成するには?