當前位置:首頁 » 操作系統 » linux串口許可權

linux串口許可權

發布時間: 2023-07-02 19:17:06

1. linux怎麼連接區域網

實現Linux下的區域網遠程接入,利用Linux伺服器的兩個串口構建撥號伺服器的方法,遠程用戶可以通過撥號連接到區域網,方便地進行信息傳遞和資源共享。

實現步驟如下:

  1. 初始化串口設備

    在/etc/inittab文件中加入如下兩行,用來初始化ttyS0和ttyS1兩個串口設備:
    S0:345:respawn:/sbin/mgetty -D -X 3 ttyS0
    S1:345:respawn:/sbin/mgetty -D -X 3 ttyS1
    然後,運行「/sbin/init q」命令使改動生效。

  2. 指定認證方式

    在/etc/PPP目錄下創建文件ppplogin,內容如下:

    #!/bin/sh

    /usr/sbin/pppd auth -chap +pap login

    該文件指定用戶登錄時採用PAP認證。PAP和CHAP是PPP服務的兩種身份驗證協議。

    保存文件後,給文件設置執行的許可權:

    #chmod a+x /etc/ppp/ppplogin

    然後,更改/etc/mgetty+sendfax/login.config文件,去掉「/AutoPPP/」一行前面的注釋,並改為如下內容:

    /AutoPPP/ - - /etc/PPP/ppplogin

  3. 修改options文件

    修改/etc/PPP/Options文件為如下內容;

    detach

    Modem

    Lock

    crtscts

    asyncmap 0

    netmask 255.255.255.0

    proxyarp

    ms-dns 192.168.11.1

    「detach」選項非常重要。如果不指定這個選項,撥號程序就會進入後台,使得Shell腳本退出,隨之而來的是串列線路被掛斷,導致連接中止。「detach」防止了tty設備脫離PPPD的控制。

    「Modem」選項使得PPPD監視DTR引線,可以觀察到對等點是否已掉線。

    「Lock」選項指定在串列設備上使用UUCP風格的鎖定。

    「crtscts」選項用以打開硬體握手信號。

    「asyncmap 0」設置了非同步字元映射,這個映射指定控制字元不能直接通過連接發送,需要先進行轉義。

    「netmask 255.255.255.0」設定PPP網路介面的網路掩碼。

    「proxyarp」選項打開了ARP代理功能。

    「ms-dns」2.168.11.1」指定了區域網內的DNS伺服器地址,如沒有可以不設。

  4. 給撥入用戶分配IP

    創建/etc/ppp/Options.ttyS0和/etc/ppp/

    options.ttyS1兩個文件,內容如下:

    # Vi options.ttyS0

    192.168.11.3:192.168.11.242

    # Vi options.ttys1

    192.168.11.3:192.168.11.243

    其中,「192.168.11.3」是用作撥號伺服器的那台Linux機器的IP地址,「192.168.

    11.242」和「192.168.11.243」是分別指定給COM1口和COM2口撥入用戶的IP地址。

  5. 口令驗證

    編輯文件/etc/PPP/pap-secrets,內容如下:

    * * "secret" 192.168.11.242

    * * "password" 192.168.11.243

    如上所示,每行代碼包含四列,分別代表用戶名、伺服器地址、口令值和IP地址列表。「*」表示可以與任何內容進行匹配。

    用戶撥入後,如果需要訪問區域網內的其它伺服器,就必須打開IP轉發功能:

    echo 1> /proc/sys/net/ipv4/ip_forward

    要想在空閑一段時間後自動解除連接,需要在/etc/ppp/options中加入如下一行:

    idle 600

    上述代碼中,「600」表示600秒,即10分鍾。

2. linux怎麼鎖住串口,禁止其他程序使用,即禁止其他程序進行讀寫操作,即使是root用戶也不允許讀

應該是沒有這樣的辦法的。
linux系統基本上不會禁止root的許可權,即使你想辦法禁止了,也有辦法打開,除非那不是真正的root。
你應該換一個思路來解決你的問題。比如除了你的程序,沒有其他程序運行在這台電腦上,沒有其他用戶有權訪問這台電腦,不就解決了嗎?

3. Linux串口相關的操作及綁定

@ toc

可在控制台輸入

也可以用stty設置串口參數

使用後相當於串口回傳,發什麼回什麼

發送數據

可以對串口發送數據比如對com1口

一般情況下串口的名稱全部在dev下面,如果你沒有外插串口卡的話默認是dev下的ttyS* ,一般ttyS0對應com1,ttyS1對應com2,當然也不一定是必然的;

如果有ttyS設備,再看/dev/有沒有ttyS*,如沒有就建立一個:

如果板子的設備中沒有標准串口設備ttyS0,也沒有ttySAC0。/dev下應該有一個USB串口:/dev/ttyUSB0.

當一個串列卡或數據卡被偵測到時,它會被指定成為第一個可用的串列設備。通常是/dev/ttyS1(cua1)或/dev/ttyS2(cua2),這完成看原已內建的串口數目。ttyS*設備會被報告在/var/run/stab內。

PC上的串口一般是ttyS,板子上Linux的串口一般叫做ttySAC

可能是linux下的串口設備沒有打開,需要改變串口設備
的許可權,或者根據文章頭添加用戶到組處理

可以通過以下命令 查看 板子上的硬體埠的內核設備名

該條命令會將 ttyUSB0所對應的硬體埠的kernel設備名 顯現出來, 得到KERNEL== '1-5.5.4', 而不是之前的ttyUSB0

cmd.sh如下:

./getUSB.py 調用當前路徑下的getUSB.py這個Python語言,明確此次是哪個,ttyUSB0,或者ttyUSB1掛載在埠3-1.1上

getUSB.py:

完成之後 ,設置開機啟動cmd.sh(在/etc/rc.local中設置)則每次開機之後,會從/dev/ttydata獲取到固定埠的數據

方式一

寫入內容如下:

方式二

我的硬體序列號:ATTRS{serial}=="FTSYWCXZ"這個號是唯一的

可以通過/dev/usb_0打開串口設備

常用的匹配類型:

4. arm+linux平台,怎麼打開串口掛設備

ARM+linux 其實還是在linux上面對串口進行操作。

在linux中一切皆文件,所以對串口的操作就變成對文件的操作了。

串口在linux下的設備文件是tty或者是相關的名字,具體需要查閱相關手冊

然後下面對串口的操作就是對tty這個文件操作了。

  1. 打開文件 fd = open("/dev/tty",讀寫許可權);

  2. 配置串口參數,波特,奇偶校驗,停止位。(串口參數配置一定要與目標串口一致)

  3. 這里就可以對串口文件進行讀寫了。對文件的讀寫就是對串口的讀寫了

熱點內容
演算法導論對數 發布:2025-03-19 07:30:58 瀏覽:144
sql字元串日期 發布:2025-03-19 07:30:52 瀏覽:730
編程求距離 發布:2025-03-19 07:30:52 瀏覽:979
win8無法訪問共享 發布:2025-03-19 07:30:49 瀏覽:28
個人電腦怎麼把伺服器放到公網 發布:2025-03-19 07:19:35 瀏覽:785
linux配置網路界面 發布:2025-03-19 07:10:10 瀏覽:900
安卓哪個手機最小 發布:2025-03-19 07:09:08 瀏覽:621
電腦無線網路怎麼打開伺服器 發布:2025-03-19 06:53:09 瀏覽:925
網頁緩存視頻下載 發布:2025-03-19 06:52:19 瀏覽:987
演算法實戰 發布:2025-03-19 06:52:14 瀏覽:515