Linuxファイルの権限付加について

このQ&Aのポイント
  • Linuxファイルの権限付加について質問があります。OS: Linux(Debian)。現在プログラムでシリアル通信のプログラムを組んでいるが、権限がないとエラーが発生する。権限を与えても再起動後にリセットされるため、権限のリセットを防ぐ方法を教えてほしい。
  • 質問:Linux(Debian)でシリアル通信プログラムを作成中ですが、権限がない場合にエラーが発生します。ルート権限で権限を与えるとプログラムが成功するのですが、再起動後にリセットされてしまい、再び権限がないエラーが発生します。権限のリセットを防ぐ方法を教えてください。
  • Linux(Debian)でシリアル通信のプログラムを組んでいるが、権限がないとエラーが発生します。ルート権限で権限を与えることで成功しますが、再起動後にリセットされてしまい、再び権限がないエラーが発生します。権限のリセットを防ぐ方法を教えてください。
回答を見る
  • ベストアンサー

Linux ファイルの権限付加について

Linux ファイルの権限付加について質問があります。 OS:Linux(Debian) 現在プログラムでシリアル通信のプログラムを組んでいるんですが 権限がありませんとエラーが発生し、端末(コマンドプロンプト)で ルート権限で # chmod 7 /dev/ttyG0 で権限を与え 再度プログラム上で実行し うまく成功したのですが、パソコンを再起動すると 再び権限がリセットされたのか、また権限がありませんとエラーが発生し できませんでした。 そこで質問ですが、パソコンの電源が落とされても権限がリセットされないようにするためには どのようにすればよろしいのかご教授願います プログラムの開発環境Qt5.3

質問者が選んだベストアンサー

  • ベストアンサー
  • Wr5
  • ベストアンサー率53% (2177/4070)
回答No.1

>パソコンの電源が落とされても権限がリセットされないようにするためには >どのようにすればよろしいのかご教授願います 実行しているユーザを該当のグループに追加する。というのがまずは取るべき対処かと。 # SELinuxとかだとそうもいかない場合もあったりしますが。 「Debian uDev パーミッション」辺りで検索するとそこそこ見つかるんじゃないでしょうかね。 # USBシリアルでひっかかりそうだけど。 あまり褒められた対処じゃないと思いますが、 /etc/rc.local 辺りで変更しちゃう。という手もあるかも知れません。 # こっちはUSBだと対処できませんけどね。rc.local実行時に刺さっている保証ないし。

その他の回答 (1)

回答No.2

まず第一にパーミッションの設定方法について勉強されてはどうでしょう。 4=r 2=w 1=x 読み書き実行→4+2+1=7 通常のパーミッションは644のように「ユーザー グループ その他」の3桁となっています。 どのユーザーの範囲に権限を与えたいのかはわかりませんがとりあえずchmod 777と打ってみては?

関連するQ&A

  • LINUX QTで作成したCSVファイル

    現在、私はOS:LINUX(Debian)上で、開発環境QT5を使ってアプリケーションを作成しています そこでひとつ難題が発生したので質問させていただきました 現在QTでCSVファイルを作成するようなプログラムを作成しています QT上、もしくは直接デバッグフォルダかリリースフォルダからアプリ実行すると正常に CSVが作成されるんですが、 今回電源をつけてから自動的にアプリが実行できるよう LINUXの設定にある自動起動するアプリケーションにとうろくしました。 パソコンを立ち上げてみて自動起動することは確認できましたが、CSV作成で失敗してしまう 事象が発生しました. アプリを実行すると正常に作成されるんですが なぜか自動起動されると作成に失敗されます よろしくお願いします

  • linux(fedora)root権限の設定

    お世話になります。 fedoraを使用している際、 rootで読み取れないフォルダができているのに気付きました。 システムファイル等ではなく、一般のファイルです。 どこでできたかわかりませんが、ソフトが自動生成したもののようです。 パーミッションは -wxr----tで、 rootで、コンソールから chmod -t <ディレクトリ名>や chmod -R 755 <ディレクトリ名> しても、許可されていない操作です。 権限がありません、等でどうにもなりません。 -wxですと、読み取り不可かと思いますが、 rootでも、強制的にディレクトリのパーミッションを 変更することはできないのでしょうか。 windowsでは所有権をリセットして・・・という手がありますが linuxではそのようなものはないでしょうか。 よろしくお願いします。

  • chmodでパーミッションを変更する権限がないエラー・・・?

    レンタルサーバ「ロリポップ」を使用しています。 chmod命令で、ディレクトリやファイルのパーミッションを変更するプログラムを書きました。 chmodr($filename,0700); そうすると以下のようなエラーが表示されます。 Warning: chmod() [function.chmod]: Operation not permitted パーミッションを変更する権限がないために発生していると思うのですが、どうすればプログラムからパーミッションを変更することができるのでしょうか? ちなみにperlでは可能でした。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • Linux上でのシリアル送受信

    質問の内容を書いてくださいこんばんは。 ある課題で、Linux上でシリアルポートを使っての通信をしなければなりません。 シンプルな方法としては、ヌルモデムケーブルを使っての送受信で、先生もその方法をデモンストレーションとしてみせてくれました。先生としてはその方法でやってほしいが、少し点数は落ちるとしても、一大のPCでターミナルを二つ開いてttyS0に書き出し→ttyS0で受信を視覚化できるならいいそうです。 自分ができる範囲でやろうと思い、後者ですすめようとしたのですが、まずUbuntuのインストールで(何が悪かったのかわかりませんが)HDがパァになり(Windowsとは別パーティションでした)、仕方が無いので、Virtualboxを使ってやろうと思ったのですが、やはり物理的にシリアルポートが存在しないので躓いています。echoでリダイレクトしてもエラーになるので、存在しないのが問題なのかな? と……エラーコードは出ず、input/output error としか出ません。 質問したいことは三つです: ・Virtualboxで、せっかくの仮想マシンなのですから、そのシリアルポートを「ある」ことにできないでしょうか? 最近のマシンはそもそもついてこないのか、デスクトップにもノートにもないです。ノートに至っては、VGAすらないほど……。 ・シンプルにecho 'test' >/dev/ttyS0として、これをCatなどで二つ目のターミナルに表示させるにはどうしたらいいのでしょう(多分、何かを受信するまで待たせる必要があるのかなーと思いますが……)? cat</dev/ttyS0では何も表示されません。延々と待ち続けます。 ・この二つをこなせるプログラムをCで書くのに、参考になるサイトなどはありますか? とうほう海外なので、書籍はちょっと厳しいです。 なにぶん、Linux初心者なもので、よろしくお願いします。

  • Linuxでシリアルポートが利用できません

    Linuxでシリアルポートが利用できません debian5.0.6をdynabook satellite1800で使っています j-pilotで/dev/ttyS0を開こうとすると”dev/ttyS0 そのようなデバイスはありません” とでてきてしまいHotsyncができません。 ほかにネットで色々調べてみると、/dev/ttyS0をopen()しようとした時に ENODEVがかえって来てしまっている事がわかりました。 しかし,ioportやirqは/proc/ioportsや/proc/interruptsをみてみると バイオスで設定されている物と同じでした。 でも/proc/interruputsの一番最後のフィールドにはserialとは載っていませんでした。 あと起動時には [ 27.374146] ali15x3_smbus 0000:00:08.0: ALI15X3_smb region uninitialized - up grade BIOS or use force_addr=0xaddr [ 27.374325] ali15x3_smbus 0000:00:08.0: ALI15X3 not detected, module not inse rted. というエラーがでてました。 自分はpicやpalmがいじりたいのでシリアルポートがないときついです。 どうしたらシリアルポートが使えるようになりますか?

  • qt creatorのプロジェクトでビルドエラー

    現在Debian Linuxが搭載されているBeagleBoneBlackにqt creatorをインストールしてプログラミングしています。 windows8.1のPCにもqt creatorインストールしていて、こちらでhello worldのテストのプロジェクトを作成して動作できることを確認しており、このプロジェクトをDebian Linux側にも移してビルドしてみたのですが、エラーが発生してしまいます。 https://sourceforge.jp/projects/cc1101driver/scm/svn/tree/2497/trunk/20140717/tes0721_02/ こちらが現在のqt creatorのプロジェクトです。 tes0721_02.proというプロジェクトファイルをDebian Linux側で開くとつぎのようなエラーが表示されます。 Configure Project No valid Qt versions found. Please add a Qt version in Tools > Options > Build & Run(Qt Creator > Preferences > Build & feRun on Mac OS) or via the maintenance tool of the SDK. このエラーの解決方法をご教示頂きますよう、よろしくおねがい致します。

  • Windows NT のブートローダーでLinuxを起動したい・・・が?

    http://www.okweb.ne.jp/kotaeru_thanks.php3?a=39602 の続きとなる質問ですが Compaq Professional Workstation 5000(DualPentiumPro 200MHz/256)で smpカーネルを動かしたいのですが LILOは正常に動作し、圧縮されたカーネルを展開した直後に リセットがかかってしまいます。 最初: 増設9.1Gのみの接続で /dev/sda1 - Linux /dev/sda2 - SWAP LILOも正常起動し、Linuxもsmpカーネルで正常に起動しました。 その後、NTローダーとの共存で (FDにLILOを入れたときも同様) 内蔵2G /dev/sda1 - 診断パーティーション /dev/sda2 - NTFS 2G 増設9.1G(実質内蔵) /dev/sdb1 - Linux (500M) root用1 /dev/sdb2 - Linux (500M) root用2 /dev/sdb3 - Linux (500M) root用3 /dev/sdb4 - 拡張パーティーション /dev/sdb5 - Linux SWAP /dev/sdb6 ~ /dev/sdb8 /usr用 /dev/sdb9 - NTFS そして、LILO は無事起動しました。 (bootのプロンプトはでます) しかし、どうやっても、SMPカーネルが起動しません。 このあたりで、わかる方はいらっしゃいますでしょうか? Uncompressing Linux .....(なんとか kernel)というような感じになります。 p.s. 参考までに、Workstation 5000 は、IDEからのブートも できないようです。 よろしくお願いします。

  • Linux(Debian GNU/Linux)で「場所」→「ネットワー

    Linux(Debian GNU/Linux)で「場所」→「ネットワーク」からXPの共有フォルダを覗きたい。 Linuxカテゴリが見つからなかったので、 Windowsも絡むこともありこちらで質問させていただきます。 Debian(lenny)を使用しており、Windows側からは Debianのフォルダを覗くことはできるようになりました。 しかし、その逆がどうも上手くいきません。 画像のようなダイアログが出るのですが Linuxマシンでログインする際のユーザ名やパスワードを入れてもダメですし 覗く先のWindowsでログインする際のユーザ名やパスワードを入れてもうまくいきません。 他のWindowsパソコンからWindows共有フォルダを覗くことは パスワード等の入力の必要もなく可能になっています。

  • ユーザーのアクセス権限

    linux環境におけるユーザー自身のアクセス権限について質問があります。 例えば、ユーザーはtest1、test2、test3が作成されておりまして、 homeディレクトリの配下には、test1、test2、test3のディレクトリがある状態を仮定します。 test3は、自分自身のホームディレクトリである「/home/test3」には当然アクセス可能ですが、 その他のアクセス権限として、 「home/test1/」 と 「home/test1/testdir」にはアクセス可能で、 その他のディレクトリへはアクセス出来ないように設定したいのです。 ぐぐって調査しましたが、 chmodなどのディレクトリベースでの権限設定が殆どでして、 ユーザーベースでの権限設定などが発見できず困っております。 よろしくお願いいたします。

  • Linux ソフトウェエア Raid0のディスク増設

    Linux ソフトウェエア Raid0のディスク増設 Debian lennyのサーバに1TBのHDD2台を設置し、mdadmを使ってRaid0を構築 md3としてデータ用のディスクとして使用しています。 さらにディスク容量を増やしたいので、1TBを2台追加したいのですが # mdadm /dev/md3 --add /dev/sdc1 このようなコマンドで追加できるかと思ったのですが mdadm: add new device failed for /dev/sdc1 as 2: Invalid argument このようなエラーが出てaddが完了しません。 Raid0の場合、Arrayにディスクを追加できないのでしょうか?