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

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

2
書き込み権限のみのフォルダは役に立たない…
何年もの間Linuxで働いており、自由な時間を自分自身で見つけたので、いくつかの基本を再訪することにしました。だから私は権限に関するもの(ソースコードをチェックせずに)とそのフォルダーの特別なケースを読み直し、(特定のユーザー/の)フォルダーの権限について新しい(少なくとも私には...)考え方を思いついたgroup / others):次のように、フォルダーを2列のテーブルとして想像します。 filename | inode foo | 111 bar | 222 読み取り権限あなたが読むことができる手段(およびリスト)表の左欄、書き込みテーブルにエントリを追加したり削除する権限の対応、および実行 iノードにファイル名から変換することができることに許可相当し; つまり、フォルダのコンテンツにアクセスできます。 私はいくつかの実験を行いましたが、結果はすべて私の「世界観」と一致していますが、1つの結論は避けられないようd-w-------です。権限を持つフォルダはまったく役に立たないということです。詳しく説明する:その内容を一覧表示できない、内部に存在することがわかっているファイルを読み取ることができない(名前をiノードに変換できないため)、ファイルを削除または名前変更または追加することはできません。 、およびハードリンクを追加することもできません(おそらく、これは名前とiノード番号を追加することを意味します。つまり、両方を知っていることになります。つまり、両方を知っているため、実行権限の設定を解除する目的に違反しています)。 。そこにあればもちろん、ある一つのこのようなフォルダ内のファイルは、あなたがその内容を削除することはできませんので、あなたは、どちらか、そのフォルダを削除することはできません。 だから...私は2つの質問をしたいと思います: 私のこの類推は正しいですか、それとも大きな失敗ですか? 前の回答とは無関係には、そこにある任意の説明に従って権限でフォルダを持つことが適切である状況は?

1
setfacl:これら2つのコマンドは同じですか?
Symfony2インストールの特定のサーバーに権限を設定する(capifonyに基づく)デプロイメントスクリプトがあります。これには、いくつかのディレクトリに対してこれを行う次の2つのコマンドが含まれています。 setfacl -R -m u:www-data:rwx -m u:`whoami`:rwX app/cache setfacl -dR -m u:www-data:rwx -m u:`whoami`:rwX app/cache これら2つのコマンドは、権限を修正する方法としてSymfony2サイトにありますが、これらは私と非常によく似ていました。そのためsetfacl、のマンページを確認しました。理解できることから、2番目のコマンドは、最初のコマンドが追加オプションを使用して実行することとまったく同じです(完全には理解していません)。私の質問は、私の仮定は正しいですか?もしそうなら、最初のコマンドを削除しても同じ効果がありますか?
10 permissions  acl 

2
tarアーカイブ内のファイルの所有権を変更する
私はユーザーとして作業していて、(ルートによって)解凍するとファイルをルート所有権で抽出するtarアーカイブを作成したい(そうしないと、ファイルが抽出された後、ルートごとにファイルの所有権を手動で変更する必要がある)その目的地へ)。 私はfakerootそれがまさにそれをしているように見えることを発見しました。しかし、私は自分のアーカイブを作成するために使用する必要がある構文を見つけることができません。 tar.xzアーカイブを作成して、ルートで解凍したときにファイルがルートの所有権を持つようにするにはどうすればよいですか? do something with fakeroot ... tar cfpJ foo.tar.xz foo/
10 files  permissions  tar 

3
ext3またはext4ファイルシステムのファイル権限を無効にすることはできますか?
ext3 / 4ファイルシステムのファイル権限を無効にすることはできますか? ext3またはext4ファイルシステムのファイルアクセス許可を完全に無効化または無視できるかどうか疑問に思っています。おそらく取り付けオプションですか? テストやリムーバブルメディアでこれを行うので、セキュリティへの影響は心配していません。

3
root権限を持つユーザーとしてVimを起動します
にカスタムVimファイル~/.vimと設定があります~/.vimrc。しかし、時々私はいくつかのファイル/etcなどを編集しなければなりません。 次のようにVimを起動すると、 $ sudo vim /etc/rc.conf Vimはデフォルトの設定を使用しているため、設定が失われます。それで、どうすればroot権限でVimを実行して、ユーザーの設定(ホームディレクトリにある)を失うことなくファイルを編集できますか? 私が試してみました: $ su username -c "vim /usr/lib/python2.7/setuptools/dist.py" しかし、バッシュは私にくれPermission deniedます。ただし、上記のコマンドは、たとえば次の場合に機能します/etc/acpi/handler.sh。何故ですか? 注:ユーザー名はrootではありません。

2
異なるシステム間でファイルの所有権はどのように影響を受けますか?
私がUnixファイルシステムを理解しているように、UNIXシステム上のすべてのファイルは、そのシステムのグループとユーザーに属している必要があります。ファイルは、システムに存在しないグループまたはユーザーに属することはできません。 その仮定から、頭に浮かぶいくつかの質問があります。フラッシュドライブ、CDROM、ネットワーク共有など、コンピューター間でメディアを転送すると、グループとユーザーの属性はどうなりますか。ファイルは新しいシステムの誰に属していますか? システムでのみ機能するようにデータを制限できますか?(ここでは暗号化については話しておらず、基本的なことだけを述べています。) また、2台のコンピューター間でデータを転送するときに、グループとユーザーの属性をそのままにしておく方法があります(rootに属するものは新しいシステムのrootに属し、通常のユーザーと同じです)。

3
Systemd Unitファイルにパスワードを渡す一般的な方法はありますか?
systemdユニットファイルを使用してサービスを開始したいと思います。このサービスを開始するにはパスワードが必要です。パスワードは平文でsystemdユニットファイルに保存したくないのです。また、このパスワードをインタラクティブに提供したくありません。 このための通常のスクリプトを作成している場合は、制限付きのアクセス許可(400または600)でrootが所有するファイルに資格情報を保存し、スクリプトの一部としてファイルを読み取ります。これを行う特定のsystemdスタイルの方法はありますか、それとも通常のシェルスクリプトと同じプロセスに従うだけですか?


1
「passwd」で始まる名前のファイルを作成できないのはなぜですか。「/ etc」内?
Ubuntu 16.04がインストールされたPCを持っています。最近、いくつかのパッケージをインストールしたいのですが、インストールに問題があります。少し調べたところ、失敗はLinuxユーザーアカウントシステムに関連しているようです。問題は、接頭辞が付いた名前のファイルをパスpasswd.に作成できないことです/etc。 # ls /etc/passwd.* ls: cannot access '/etc/passwd.*': No such file or directory # touch /etc/passwd.test-test-test touch: cannot touch '/etc/passwd.test-test-test': Permission denied # ls /etc/passwe.* ls: cannot access '/etc/passwe.*': No such file or directory # touch /etc/passwe.test-test-test # /またはなどの他のパスにそのファイルを作成できます/usrが、/etcでは作成できません。また、で他のファイル名を使用してファイルを作成できますが/etc、接頭辞がのファイル名は使用できませんpasswd.。他のPCではこの問題を再現できません。 私は他のコマンドを試しました: nano /etc/shadow.xxx echo xxx > /etc/shadow.xxx touch /etc/test-temp-file && …

2
一部のumask値が有効にならないのはなぜですか?
私は許可をよりよく理解しようとしているので、いくつかの「練習」をしています。以下は、それぞれの出力で使用している一連のコマンドです。 $ umask 0022 $ touch file1 $ ls -l file1 -rw-r--r-- 1 user group 0 Mar 16 12:55 file1 $ mkdir dir1 $ ls -ld dir1 drwxr-xr-x 2 user group 4096 Mar 16 12:55 dir1 デフォルトのファイル権限は666(rw-rw-rw-)であり、ディレクトリのデフォルト権限は777(rwxrwxrwx)であることを知っているため、これは理にかなっています。私は私が持っているこれらのデフォルトのアクセス許可からumaskの値を減算した場合 666-022=644、rw-r--r--、のためにfile1、それは以前の出力とコヒーレントだそう。 777-022=755、rwx-r-x-r-x、のためにdir1、また、コヒーレント。 しかし、私はからのumaskを変更した場合022に021、それはもはやありません。 これはファイルの例です: $ umask 0021 $ touch file2 $ ls -l …

1
RAIDiator OSでのext3ファイルシステムのrootユーザーとして、ディレクトリ内の1つのファイルのみのアクセス権が拒否されました
私は、Debianに基づいていると思う「ストレージ」という名前のReadyNASボックスを持っています。rootとしてsshでログインできます。Webサーバーを再構成しようとしていますが、理解できないファイルアクセス許可の問題が発生しています。/etc/frontview/apache/apache.pemrootとしても何もできません!同じディレクトリ内の他のファイルと比較して、特別な権限がないようで、それらを操作できます。 storage:~# whoami root storage:~# cd /etc/frontview/apache/ storage:/etc/frontview/apache# ls -lah apache.pem* -rw------- 1 admin admin 4.0k Jul 10 2013 apache.pem -rw------- 1 admin admin 4.0k Jun 9 05:57 apache.pem.2017-02-04 -rw------- 1 admin admin 1.5k Jun 9 05:57 apache.pem.orig storage:/etc/frontview/apache# touch apache.pem touch: creating `apache.pem': Permission denied storage:/etc/frontview/apache# touch apache.pem.2017-02-04 storage:/etc/frontview/apache# …

2
setuidが実行可能ファイルで機能しないのはなぜですか?
スクリプトでsetuidを有効にするとセキュリティの問題が発生するため、デフォルトでは無効になっていますが、実行可能ファイルで機能することを期待しています。この投稿で説明されている手順に従って、出力としてuidを示す実行可能ファイルを作成しました。シェルスクリプトでsetuidを許可します しかし、実行前と実行後の両方で同じuid(1000)を返しますsudo chmod +s ./setuid-test。これは、setuidが実行可能ファイルに影響を与えないことを意味すると思います。なぜ、どのように解決するのですか? ソースコード: #include <stdio.h> #include <unistd.h> int main(int argc, char** argv) { printf("%d", geteuid()); return 0; } 構築して実行 $ gcc -o setuid-test setuid-test.c $ ./setuid-test 1000 $ sudo chown nobody ./setuid-test; sudo chmod +s ./setuid-test $ ./setuid-test 1000 実行するとls -la、これは私が得るものです: me@me:~$ ls -la setuid-test -rwsrwsr-x 1 …

2
/ tmpを誤って削除した
偶然、私は走ったsudo rm -r /tmp、それは問題ですか? を使用して再作成しましたがsudo mkdir /tmp、問題は解決しましたか? ディレクトリを再作成した後、Ubuntu 14.04のnautilusのサイドバーの場所セクションに/ tmpが表示されますが、これは以前にはありませんでしたが、問題ですか。 最後に、sudo chown $USER:$USER /tmp以前と同じようにアクセスできるように実行する必要があります..この後、副作用はありますか? ちなみに、bashのオートコンプリートを使用しようとすると、この一見関連するエラーが表示されます bash:here-documentの一時ファイルを作成できません:権限が拒否されました

1
node-devを使用してnpmの開始が許可されないのはなぜですか?
権限の低いユーザーでnode.jsアプリケーションを起動しようとしています。私が知っているすべてのファイルは正しいユーザーが所有しており、適切に設定されたアクセス許可を持っています。これを行うためにスクリプトファイルを使用しようとしています。このコマンドでスクリプトを呼び出します sudo su - nodejs ./start-apps.sh シェルスクリプトはこのコマンドを実行してアプリを起動します cd "/home/nodejs/my-app" npm start npm startされ、ここで文書化。基本的には、使用するコマンドをpackage.jsonファイルから取得します。このファイルは、アプリでは次のようになります。 // snip "scripts": { "start": "node-dev app" }, そして、それはエラーを吐き出します: > my-app@0.1.0-build.100 start /home/nodejs/my-app > node-dev app sh: 1: node-dev: Permission denied npm ERR! spicoli-authorization@0.1.0-build.100 start: `node-dev app` npm ERR! Exit status 126 それshはシェルコマンドからのエラーを報告していると言っているようです。問題がnpmコマンド自体にアクセスしているのではないと思います。アクセスした場合、npmコマンドからの出力の前に拒否された権限が発生します。ただし、除外するために、npmコマンド自体の権限を以下に示します。 $ sudo find / …

4
ファイルのグループ権限を検査する方法
bashスクリプトからファイルのグループ権限を検査したいと思います。具体的には、ファイルにグループ書き込み可能ビットがオンになっているかどうかを確認する必要があります。 それでおしまい。そのような単純な。しかしながら: 持ち運びにも便利です。 test -w <file グループ書き込み可能かどうかはわかりません。 の出力はls -ld人間にとっては良いですが、スクリプトについてはよくわかりません。技術的にはdrwxrwxr-x、グループビットを抽出するなど、出力を解析できましたが、これは脆弱に思われます。 のインターフェイスstatは、OS Xと他のシステムとの間で完全に互換性がありません。 find <file> -perm ... おそらく答えにはなりませんか?
9 bash  permissions  ls  stat 

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