タグ付けされた質問 「permissions」

権限は、ファイル、ディレクトリ、デバイスなどのリソースへのアクセスを制御するUnixの方法であり、所有者、グループ、またはすべてのユーザーに対して指定できます。


3
読み取りアクセスなしの書き込みアクセス
ユーザーがファイルへの書き込みアクセス権を持ち、それを読み取ることができない可能性はありますか?どうして可能ですか? 次のコマンドを試しました。 debianbox@debian:~/posix/io$ touch filetest debianbox@debian:~/posix/io$ ls -l filetest -rw-r--r-- 1 debianbox debianbox 0 14 oct. 03:10 filetest debianbox@debian:~/posix/io$ echo "Hello World" > filetest debianbox@debian:~/posix/io$ cat filetest Hello World debianbox@debian:~/posix/io$ chmod u-r filetest debianbox@debian:~/posix/io$ cat filetest cat: filetest: Permission forbidden debianbox@debian:~/posix/io$ ご覧のとおり、このファイルには書き込みアクセス権がありますが、読み取りアクセス権はありません。これはどのように可能ですか?これはバグと見なされますか?そうでない場合、これはどのような状況で役立ちますか?

3
常に存在し、「通常の」ユーザーがlstatできないファイルがありますか?
これは単体テストに必要です。パラメーターとして渡されたファイルパスでlstatを実行する関数があります。lstat失敗したコードパスをトリガーする必要があります(コードカバレッジが90%に達する必要があるため) テストは1人のユーザーでのみ実行できるため、Ubuntuに常に存在するファイルがあるのではないかと思っていましたが、通常のユーザーにはそのファイルまたはそのフォルダーへの読み取りアクセス権がありません。(lstatrootとして実行されない限り、失敗します。) 存在しないファイルは解決策ではありません。そのための別のコードパスがあり、既にそれをトリガーしています。 編集:ファイルのみへの読み取りアクセスの不足は十分ではありません。それでlstatまだ実行できます。/ rootにフォルダーを作成し、その中にファイルを作成することで、(ルートアクセス権を持つローカルマシンで)トリガーできました。そして、フォルダにパーミッション700を設定します。そのため、ルートでのみアクセス可能なフォルダーにあるファイルを検索しています。

2
読み取り権限を持つディレクトリをリストできないのはなぜですか?
ディレクトリdとその中にファイルを作成しましたf。その後、そのディレクトリの読み取り権限のみを付与しました。これは、ファイルを一覧表示できることを意味するはずです(たとえば、こちら)が、できません。 will@wrmpb /p/t/permissions> ls -al total 0 drwxr-xr-x 3 will wheel 102 4 Oct 08:30 . drwxrwxrwt 16 root wheel 544 4 Oct 08:30 .. dr-------- 3 will wheel 102 4 Oct 08:42 d will@wrmpb /p/t/permissions> ls d will@wrmpb /p/t/permissions> 書き込みと実行の許可を変更すると、ファイルを見ることができます。 will@wrmpb /p/t/permissions> chmod 500 d will@wrmpb /p/t/permissions> ls d …
14 permissions  osx  fish 


2
ディレクトリの所有者を変更する方法
編集:問題は、Appleがアクセス許可を使用してバックアップをマークし、ユーザーがそれらを変更できないようにすることです(おそらくセキュリティ機能)。使用するchmod -RN <dir>ことで、重要なデータを持つすべてのフォルダーからACLデータを削除しました。これにより、自分を所有者にして適切な権限を適用することができました。 元の質問 私は非常に大きなバックアップ(> 700GB)を持っていますが、今では間違った許可(クリーンインストール中にUIDが変更された、長い話)があり、それらを変更する必要があります。時間のかかるオプションは、各フォルダーを手動で移動してアクセス許可を変更することですが、これには時間がかかります。 chown自分をすべての重要なデータの所有者にしてchmod 700から、それらすべてのフォルダーrwxで自分だけにアクセス許可を与えるために使用したいと思います。 理想的な解決策はfind、正規表現に一致するフォルダー(現在のフォルダー)を再帰的に検索し.*/[DCV].*|Pictures|M[ou].*て、UIDを所有者にし、アクセス許可を700に設定する方法です。 私が把握できない重要なビット: ただし、実行しようとするchown Me DirectoryNameとが取得されchown: DirectoryName: Operation not permittedます。 私が見つけたものはすべて、ディレクトリではなくファイルのパーミッションの変更に関連しています。たぶん私はこれを間違った方法で見ていますか? 私のUID rwxと---他のすべての人にUIDを与える方法がないことを教えてくれます。 どうすればこれを達成できますか?Mac OS X 10.10.3を実行しています。 これはUNIX / Linuxフォーラム(およびMacを実行している)であることは知っていますが、この質問はシェル、、、および権限の使用に関するものでchownありchmod、ここに投稿されたソリューションはすべてのUNIXベースのOSに適用されます。投稿されたソリューションにより、古いバックアップがTime Machineに再表示されることが望ましいでしょう。 すぐに返信してくれたすべての人に感謝しますがchown、何らかの理由でディレクトリで動作しないようです。これが.sparsebundleネットワークドライブ上のディスクイメージであるという事実は関連していますか?外付けドライブと同じだと思いました。


1
外部ドライブのファイル所有者とグループはどのように記憶されますか?
外付けハードドライブをext4パーティションでフォーマットし、その後マウントしました。新しいパーティションを使用できるように、sudo chown me:me /mount/directoryファイルの所有者とグループをルートから自分に変更しました。 この変更は永続的であるため、この情報はどこに保存されるのでしょうか。ハードドライブをデタッチしてから別のディレクトリにマウントしても、ファイルの所有者とグループとして設定されているため、マウントディレクトリのiノードに情報を保存できません。 それで、パーティション全体には、この種の情報が格納される独自のiノードがありますか?または、おそらく情報が保存される別の場所がありますか?

4
/ home / <user> /の権限755
デフォルトでは、ディレクトリの/home/&lt;user&gt;/アクセス許可がに設定されているのはなぜでしょうか755。これにより、他のユーザーがディレクトリに入り、自宅のファイルを読み取ることができます。これには正当な理由がありますか? 700たとえば、ホームとすべてのサブディレクトリにアクセス許可を設定できますか? chmod -R o-xw /home/&lt;user&gt;/ chmod -R g-xw /home/&lt;user&gt;/ 何も壊さずに? また、作成されたすべての新しいファイルが600ディレクトリを持つように、私の家に許可を設定することは可能700ですか?


4
自分のグループ内にあり、グループの読み取り権限が設定されているにもかかわらず、ファイルを読み取れない
unix / linuxマシンで奇妙な問題に遭遇しました: 私はグループのメンバーです。グループAと呼びましょう。特定のファイル(所有者が異なる)もグループAに属します。そのファイルの権限は -rw-rw---- そのため、そのファイルを開くことができるはずですが、そうではありません。ファイルのコンテンツを(catを使用して)表示しようとすると、「Permission denied」エラーメッセージが表示されます。 許可が正しいように見えるので、他に何がこれを引き起こしている可能性がありますか?「オーバーライド」許可制限はありますか?もしそうなら、どうやって見つけるのですか?
14 permissions  files  nfs  group 

2
あるマシンでrootが別のマシンからnfsマウントされたコンテンツを変更できないのはなぜですか?
NFSサーバーでは、次のエクスポートが定義されています。 #NFS exports Database /shared -alldirs -network=192.168.1 -mask=255.255.255.0 NFSクライアントの場合: 192.168.1.7:/shared /shared nfs rw 0 0 明らかに、サーバーのルートとして、私は何でもできます。ただし、クライアントでは、通常のユーザー「gabe」はnfsマウントを変更できますが(アクセス権がある場合)、rootは変更できません。 私の通常のユーザーとして: gabe@client$ cd /shared gabe@client$ ls -l total 8 drwxrwxrwx 4 gabe wheel 512 Mar 20 19:20 tmp gabe@client$ cd tmp gabe@client$ touch test.txt gabe@client$ rm test.txt ルートとして: # cd /shared/tmp # touch test.txt …
14 permissions  nfs 

3
(ルートとして実行されていない)SDLアプリにコンソールを使用させるには
SDLベースのプログラムを使用して、コンソールからログオンする必要なく、またルートとしてプログラムを実行せずに、グラフィックをコンソールに表示したい。たとえば、私はそれをssh経由で実行できるようにしたい。ターゲットOSはraspbianです。 問題を説明するためのPythonの短い例を次に示します。 import os, pygame os.environ['SDL_VIDEODRIVER'] = 'fbcon' pygame.init() s = pygame.display.set_mode() print "Success" コンソールから実行する場合、これは機能します(完了まで実行され、例外はスローされません)。rootとして実行する場合、sshを介して機能します。 ユーザーがオーディオグルー​​プとビデオグループに属していることを確認しました。 私はstraceを使用して、コンソールから実行する(動作する)、ssh経由でrootとして実行する(動作する)、ssh経由で通常のユーザーとして実行する(動作しない)の違いを確認しました。 最初の違いは、ユーザーが/ dev / tty0にアクセスする許可を持っていなかったことです。新しいグループ(tty0)を作成し、ユーザーをそのグループに入れ、そのグループに/ dev / tty0へのアクセスを許可するudevルールを追加しました。 strace出力は、このioctl呼び出しで分岐します-失敗はここに示されています。ioctlは、プログラムがコンソールから実行されるか、rootとしてsshから実行されると0を返します。 open("/dev/tty", O_RDWR) = 4 ioctl(4, VT_GETSTATE, 0xbeaa01f8) = -1 EINVAL (Invalid argument) (アドレスも異なりますが、それは重要ではありません。) 私のプログラムがrootとして実行されるときに機能することを考えると、これは許可の問題があることを意味すると思います。コンソールにログオンせずに(およびrootとして実行せずに)このプログラムを実行できるようにするために、ユーザーに必要な許可を与えるにはどうすればよいですか?

1
ユーザーに特別なプログラムの使用を制限できますか?
ユーザーを追加して、特別なプログラムの実行を制限することは可能ですか? たとえば、このユーザーがログインした後、彼はFirefoxを開いてインターネットを使用することしかできず、このユーザーは他のプログラムを実行できません。 たとえば、ターミナルでは、$ HOMEなどの環境変数を削除すると、コマンドにアクセスできなくなります。 しかし、Gnomeのようなグラフィカルシェルでプログラムを実行することは避けられますか?はいの場合、どのように?

3
GIDの意味?
GIDは実際にはどういう意味ですか? 私はそれをグーグルで調べましたが、これはlinux.about.comが言ったことです: プロセスのグループ識別番号。有効なグループ番号は/etc/group、および/etc/passwdファイルのGIDフィールドに記載されています。プロセスが開始されると、そのGIDは親プロセスのGIDに設定されます。 しかし、それはどういう意味ですか? 現在、私のフォルダに対する権限は次のとおりです。 0755 所有者のUIDを設定すると、 4755 そして、グループのGIDを設定すると、 2755 他の人にスティッキービットを設定すると、 1755 これらのアクセス許可を設定することも重要ですか?

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