具体的には、mpez0に+1を与えたいと答えました。「グループ検索を許可するには、ディレクトリにグループ「x」ビットを設定する必要があります。「rw-」権限により、名前(r)が指定されたファイルを開くか、ファイルを作成できます(w)、ただしファイル(x)の一覧表示や検索は行いません。」
とても忘れやすいので、彼の解決策は真ん中に埋もれています。これは、ユーザーとグループのファイル/ディレクトリの権限に関して、新しいLinuxユーザーにとっては間違いなく問題です。
エイブリーが言ったすべてがお金で正しかった、もう一度私があなたに+1を与えることもできればいいのに。
もう1つのより詳細な例は、新しいLinuxユーザーに役立つ可能性があります(クレジットを探すのではなく、明確にするために別の例を示しています)。自分のPCで、特定の開発プロジェクト用に追加のユーザーを作成したいと思っていました。私のマシンとWeb上の同じ場所にあるサーバーとの間のSSH、SFTPの問題をテストしていた。すべてを設定した後、同じ「Permission denied」エラーが発生しました...はい、mpez0が指摘した他のアクセス権に基づく検索の問題を除いて、それは正しいように見えました。
注:新しいLinuxユーザーの場合、権限はユーザー、グループ、その他、またはそれぞれrwx、rwx、rwxであり、次のようになります。
drwxr-xr--
user has read + write + execute, rwx
group has only read and execute, r-x
other has only read acces r--
「その他」の場合、ディレクトリを検索/検索するには不十分であるため、エラーメッセージが表示されます。
これが私がやったことです(ステップ6でエラーメッセージが発生しました)
1)ユーザーhoiuserを作成しました(ユーザー情報を表示するには、finger cmd、「finger hoiuser」を使用するか、「cat / etc / passwd」ファイルを読み取ることができます)
2)グループhoidevsを作成しました(グループにユーザー「hoiuser」を追加しました)
root@zareason-breeze:/etc# cat group | grep hoidevs
hoidevs:x:1010:userz,hoiuser
新しい「グループ」権限をアカウントIDに関連付けるには、ログオフしてから再度ログインする必要があることに注意してください。
3)ディレクトリ/ home / userz / data / Sites / hoiのchgrp hoidevsとファイルの場所を作成
hoiuser@zareason-breeze:/home/userz/data/Sites/hoi$ ls -alF
total 16
drwxr-xr-x 4 userz hoidevs 4096 2012-02-27 13:34 ./
drwxr-xr-x 2 userz userz 4096 2012-02-29 17:00 odt/
drwxrwxr-x 2 userz hoidevs 4096 2012-02-27 13:34 html/
4)ターミナルウィンドウを開き、ユーザーuserzがアクティブでした
5)su-hoiuser(ユーザーhoiuserに切り替え)
6)/ home / userz / data / Sitesをcdしようとした
hoiuser@zareason-breeze:/home/userz/data$ cd Sites
-su: cd: Sites: Permission denied (voila, the problem)
userz@zareason-breeze:~/data/Sites$ ls -alF
total 60
drwxr-xr-- 11 userz userz 4096 2012-02-24 16:20 ./
drwxr-xr-x 4 userz hoidevs 4096 2012-02-27 13:34 hoi/
7)サイトの権限を変更しました
userz@zareason-breeze:~/data/Sites$ chmod 755 .
userz@zareason-breeze:~/data/Sites$ ls -alF
total 60
drwxr-xr-x 11 userz userz 4096 2012-02-24 16:20 ./
そして出来上がりの問題が修正されました...ここに証明があります
hoiuser@zareason-breeze:/home/userz/data$ id
uid=1009(hoiuser) gid=1009(hoiuser) groups=1009(hoiuser),1010(hoidevs)
hoiuser@zareason-breeze:/home/userz/data$ cd Sites (<- yea no error message)
hoiuser@zareason-breeze:/home/userz/data/Sites$ cd hoi
hoiuser@zareason-breeze:/home/userz/data/Sites/hoi$ ls -alF
total 16
drwxr-xr-x 4 userz hoidevs 4096 2012-02-27 13:34 ./
drwxr-xr-x 11 userz userz 4096 2012-02-24 16:20 ../
drwxr-xr-x 2 userz userz 4096 2012-02-29 17:00 odt/
drwxrwxr-x 2 userz hoidevs 4096 2012-02-27 13:34 html/
私たちの経験豊富なLinux / Unixユーザーでさえ、時々リマインダーが必要です。
指摘したように、ファイルがあるディレクトリに正しい権限を与えるだけでは十分ではありません。また、そのディレクトリに至るまでのすべてのディレクトリに正しい権限、特に「その他」の権限があることを確認する必要もあります。 「検索」して、ディレクトリとファイルを探します。xが実行を意味する場合、ほとんど直感的ではありません。
私のサブディレクトリ構造は/ home / userz / data / Sites / hoi / html /でした
自宅から
userz@zareason-breeze:~$ pwd
/home
これは、chmodの前の私のディレクトリ構造でした。
drwxr-xr-x 13 root root 4096 2012-02-29 14:51 home/
drwxr-xr-x 88 userz userz 4096 2012-02-29 17:07 userz/
drwxr-xr-x 476 userz userz 20480 2012-02-26 16:08 data/
drwxr-xr-- 11 userz userz 4096 2012-02-24 16:20 Sites/ (<-- Do you see it, other is r--)
drwxr-xr-x 4 userz hoidevs 4096 2012-02-27 13:34 hoi/
drwxrwxr-x 2 userz hoidevs 4096 2012-02-27 13:34 html/
これは、chmodの後のディレクトリ構造でした
drwxr-xr-x 13 root root 4096 2012-02-29 14:51 home/
drwxr-xr-x 88 userz userz 4096 2012-02-29 17:07 userz/
drwxr-xr-x 476 userz userz 20480 2012-02-26 16:08 data/
drwxr-xr-x 11 userz userz 4096 2012-02-24 16:20 Sites/ (<-- Fixed by the chmod > 755 ., now r-x)
drwxr-xr-x 4 userz hoidevs 4096 2012-02-27 13:34 hoi/
drwxrwxr-x 2 userz hoidevs 4096 2012-02-27 13:34 html/
唯一の変更点は、ディレクトリ「Sites」に対する「other」のrx権限であったことに注意してください。これが他の人の役に立つことを願って、それは私にとって良い復習でした。
/home/git
何ですか?