請問如何將putty設為sudo權限 [論壇 - Ubuntu基本設定]


正在瀏覽:   1 名遊客


 到底部   前一個主題   下一個主題  [無發表權] 請登錄或者註冊



請問如何將putty設為sudo權限
會員三級
註冊日期:
2016/4/18 12:29
所屬群組:
已註冊使用者
等級: 9
HP : 0 / 221
MP : 39 / 4481
EXP: 84
離線
Hi

各位先進好,我在Ubuntu上安裝了putty,可正常使用
但每插上usb2rs232之後會因為權限不足而造成無法存取/dev/ttyXX
若使用command下sudo putty,就不會有這問題,但這實在很麻煩(用先開Terminal下指令,下完之後還不能關掉)
請問我要如何讓putty設成sudo的權限,讓他可以跳出對話窗讓我輸入密碼(我的GParted可以)
網路上有其他教學可以提高使用著的權限,但因為我的環境是工作用不太方便動(環境不是我建立的)
感謝各位先進
謝謝

2016/5/26 14:52
應用擴展 工具箱
回覆: 請問如何將putty設為sudo權限
會員二級
註冊日期:
2016/2/24 19:05
所屬群組:
已註冊使用者
等級: 5
HP : 0 / 114
MP : 15 / 2378
EXP: 59
離線
您的思路雖然沒錯但並非治本的作法。

現在裝置檔案由系統自動偵測產生,決定裝置檔案要設成什麼權限設成誰可以誰不行存取是透過 udev 這個架構來處理。

您應該檢查該裝置檔案預設允許哪個群組的使用者直接存取,然後將您的使用者加進該群組中,這樣就算 Putty 沒有用 root 身份執行也一樣可以存取該裝置

2016/5/26 15:34
應用擴展 工具箱
回覆: 請問如何將putty設為sudo權限
會員三級
註冊日期:
2016/4/18 12:29
所屬群組:
已註冊使用者
等級: 9
HP : 0 / 221
MP : 39 / 4481
EXP: 84
離線
因為是新手
不太確定加入該群組後會不會產生其他影響,所以才會採用以sudo執行
另外我剛剛將帳號加入了dialout群組之後仍舊需要以sudo執行
冏rz

2016/5/26 16:51
應用擴展 工具箱
回覆: 請問如何將putty設為sudo權限
會員五級
註冊日期:
2012/4/22 10:50
所屬群組:
已註冊使用者
等級: 36
HP : 0 / 898
MP : 664 / 28670
EXP: 92
離線
ubuntu_net2016 寫到:
因為是新手
不太確定加入該群組後會不會產生其他影響,所以才會採用以sudo執行
另外我剛剛將帳號加入了dialout群組之後仍舊需要以sudo執行
冏rz


要登出系統,再登入,group加入才會生效,

另外我還在寫說明,還沒寫完,等會貼上



2016/5/26 16:54
應用擴展 工具箱
回覆: 請問如何將putty設為sudo權限
管理員
註冊日期:
2011/3/11 6:32
所屬群組:
討論區管理群
等級: 44
HP : 216 / 1084
MP : 1088 / 38163
EXP: 38
離線
samwhelp 寫到:
要登出系統,再登入,group加入才會生效,

GJ

2016/5/26 17:14
本篇發表文章以「創用CC BY 3.0 或更新之台灣地區版本」授權條款釋出,如何使用敬請參考
 Creative Commons — 姓名標示 3.0 台灣 — CC BY 3.0 TW
 http://creativecommons.org/licenses/by/3.0/tw/

「你不懂的東西就不要亂講,被懂得人看破手腳就算了,騙不懂的人誤導別人,還要別人把你當成大師,這就真的是說不過去了。」
 by Allen Own
 出處 http://www.plurk.com/p/i4uogm

自由知識創作平台介紹
 https://docs.google.com/document/d/1MGG6lW_0qCgH4U785R-IwSc_INdoBGej1l-JxiA4gPE
如何建立新的自由知識創作平台文件
 https://docs.google.com/document/d/11NdzOW2lGYksfyQIcPMPye5tlmj1J0QTkgPTmQvIvKA
應用擴展 工具箱
回覆: 請問如何將putty設為sudo權限
管理員
註冊日期:
2011/3/11 6:32
所屬群組:
討論區管理群
等級: 44
HP : 216 / 1084
MP : 1088 / 38163
EXP: 38
離線
ubuntu_net2016 寫到:
因為是新手
不太確定加入該群組後會不會產生其他影響,所以才會採用以sudo執行

在 GNU/Linux 與資訊安全領域注重一個「最小權限原則」,一個應用不可以得到它要正常運作所需的權限以外之額外權限
既然是新手,就一開始就學正確的解決問題方式:D

2016/5/26 17:16
本篇發表文章以「創用CC BY 3.0 或更新之台灣地區版本」授權條款釋出,如何使用敬請參考
 Creative Commons — 姓名標示 3.0 台灣 — CC BY 3.0 TW
 http://creativecommons.org/licenses/by/3.0/tw/

「你不懂的東西就不要亂講,被懂得人看破手腳就算了,騙不懂的人誤導別人,還要別人把你當成大師,這就真的是說不過去了。」
 by Allen Own
 出處 http://www.plurk.com/p/i4uogm

自由知識創作平台介紹
 https://docs.google.com/document/d/1MGG6lW_0qCgH4U785R-IwSc_INdoBGej1l-JxiA4gPE
如何建立新的自由知識創作平台文件
 https://docs.google.com/document/d/11NdzOW2lGYksfyQIcPMPye5tlmj1J0QTkgPTmQvIvKA
應用擴展 工具箱
回覆: 請問如何將putty設為sudo權限
會員五級
註冊日期:
2012/4/22 10:50
所屬群組:
已註冊使用者
等級: 36
HP : 0 / 898
MP : 664 / 28670
EXP: 92
離線
林博仁 寫到:
您的思路雖然沒錯但並非治本的作法。

現在裝置檔案由系統自動偵測產生,決定裝置檔案要設成什麼權限設成誰可以誰不行存取是透過 udev 這個架構來處理。

您應該檢查該裝置檔案預設允許哪個群組的使用者直接存取,然後將您的使用者加進該群組中,這樣就算 Putty 沒有用 root 身份執行也一樣可以存取該裝置


上面提的,應該是跟「這篇」提的,是一樣的概念。

雖然我一開始是因為好奇,「usb2rs232」一定要使用「putty」來連線嗎?

所以我使用「usb2rs232 ubuntu」當關鍵字查詢,

才查到上面「那篇」,以及裡面提到的另外「一篇」。

還有查到這個論壇也有一篇「討論


所以提供幾個指令參考,以下測試的環境「Xubuntu 16.04 64位元」

========================================================

## 目前使用帳號

執行


$ whoami



顯示你目前的登入使用的帳號(以下假設你的帳號是ubuntu_net2016)


ubuntu_net2016



========================================================

## 目前所屬群組

執行


$ groups



或是執行


$ id -Gn




顯示


ubuntu_net2016 adm cdrom sudo dip plugdev lpadmin sambashare



========================================================

## 加入群組

執行


$ ls /dev/ttyS* -l



顯示


crw-rw---- 1 root dialout 4, 64 May 17 01:50 /dev/ttyS0
...略...



找出要開啟的檔案,檔案所屬群組「dialout」。


執行


$ sudo usermod -a -G dialout ubuntu_net2016



或是


$ sudo usermod -a -G dialout $(whoami)



將目前的帳號,加入「dialout」群組

登出系統後,再登入,加入群組就會生效。

再執行


$ groups



顯示


ubuntu_net2016 adm dialout cdrom sudo dip plugdev lpadmin sambashare



========================================================


至於要不透過Terminal執行sudo的方式,
我目前知道的有兩種,但概念上差不多,
不過以下方法,有的要根據「檔案總管」是否支援,或是「檔案總管」是否「有設定」。


安裝「gksu


$ sudo apt-get install gksu



可以執行


$ dpkg -L gksu



知道這個套件有安裝那些檔案在系統上。


或是執行


$ whereis gksu



顯示


gksu: /usr/bin/gksu /usr/share/gksu /usr/share/man/man1/gksu.1.gz




執行


$ whereis gksudo



顯示


gksudo: /usr/bin/gksudo /usr/share/man/man1/gksudo.1.gz




執行


$ ls /usr/bin/gksudo -l



顯示


lrwxrwxrwx 1 root root 4 Dec 25 2014 /usr/bin/gksudo -> gksu




再來進入正題

## 方法一


產生一個script檔,命名「putty.sh」,內容如下


#!/usr/bin/env bash

gksu putty



或是簡單一行也行


gksu putty




設定可執行


$ chmod u+x putty.sh



然後你就可以在你的檔案總管,點選剛剛「putty.sh」,就會跳出你說的要你輸入密碼的對話框,
我的檔案總管是「dolphin」,
若是「caja」,則是要特別設定,
下拉選單「Edit / Preferences」,會出現一個設定對話框,在第二個tab「Behavior」,
中間有一個「Executable Text Files」,選擇「Run executable text files when they are opend」。
至於「Ubuntu」內建的檔案總管應該是「nautilus」,請自行測試確認。

執行下面的指令,看看putty是不是用root來執行。


$ ps aux | grep putty




## 方法二

撰寫「desktop檔」,

你可以在「/usr/share/applications/」這個資料夾,可以找到很多


$ ls /usr/share/applications/*.desktop




可以找一個複製過來改,


$ cp /usr/share/applications/putty.desktop ./putty-su.desktop



主要要改成


Exec=gksu putty



一樣可以在「dolphin」,
直接點選這個檔案「putty-su.desktop」,可以執行,會跳出輸入密碼的對話框,
至於其他的檔案總管,就請自行測試確認,是否可行。


也可以把剛剛的「putty-su.desktop」複製到「~/.local/share/applications/」


$ cp putty-su.desktop ~/.local/share/applications/




或是把「putty-su.desktop」複製到「/usr/share/applications/」


$ sudo cp putty-su.desktop /usr/share/applications/



這樣我在「Xubuntu」的開始功能表,查詢「putty」就會出現「選項」可以點選

我剛剛還有把「putty-su.desktop」改下面的欄位,


Name=Root PuTTY SSH Client



所以就會出現


PuTTY SSH Client
Root PuTTY SSH Client
Run putty





也可以把剛剛的「putty.sh」放到「/usr/local/bin」這個資料夾


$ sudo cp putty.sh /usr/local/bin/
$ sudo chmod +x /usr/local/bin/putty.sh




在「Xubuntu」開始功能表查詢「putty.sh」,就會出現下面的選項


Run putty.sh



一樣點選「Run putty.sh」,就會出現,詢問輸入密碼的對話框。


PS: 以上的方法,講的是概念,提供參考,請依照自己的系統來確認是否可行。




另外我也蠻同意「V字龍」的說法,所以上面只是提供作法和可行性,至於要採取什麼樣的策略,就自行斟酌吧。

V字龍 寫到:
ubuntu_net2016 寫到:
因為是新手
不太確定加入該群組後會不會產生其他影響,所以才會採用以sudo執行

在 GNU/Linux 與資訊安全領域注重一個「最小權限原則」,一個應用不可以得到它要正常運作所需的權限以外之額外權限
既然是新手,就一開始就學正確的解決問題方式:D



=============================================

額外一提

執行


$ grep Exec= /usr/share/applications/gparted.desktop




顯示


Exec=gparted-pkexec



執行


$ whereis gparted-pkexec




顯示


gparted-pkexec: /usr/bin/gparted-pkexec




執行


$ cat /usr/bin/gparted-pkexec



顯示


#!/bin/sh
pkexec "/usr/sbin/gparted" "$@"





也就是「gparted」,
使用的是「pkexec」這個指令,是屬於「policykit-1」這個套件,
這個就請自行研究了,我也沒探究下去了。



2016/5/26 18:58
應用擴展 工具箱
回覆: 請問如何將putty設為sudo權限
會員三級
註冊日期:
2016/4/18 12:29
所屬群組:
已註冊使用者
等級: 9
HP : 0 / 221
MP : 39 / 4481
EXP: 84
離線
Hi all,

感謝各位的指導還有samwhelp的教學
前一篇的不行是我有重開機,後來重開了兩次才可以
不過提一下就加入了該群組,還是要把home/.putty/sessions
設為777才可以儲存設定
另外V字龍說的很有道理
謝謝各位的幫忙

2016/6/2 10:31
應用擴展 工具箱
回覆: 請問如何將putty設為sudo權限
會員五級
註冊日期:
2012/4/22 10:50
所屬群組:
已註冊使用者
等級: 36
HP : 0 / 898
MP : 664 / 28670
EXP: 92
離線
ubuntu_net2016 寫到:
Hi all,

感謝各位的指導還有samwhelp的教學
前一篇的不行是我有重開機,後來重開了兩次才可以
不過提一下就加入了該群組,還是要把home/.putty/sessions
設為777才可以儲存設定
另外V字龍說的很有道理
謝謝各位的幫忙



關於

ubuntu_net2016 寫到:
不過提一下就加入了該群組,還是要把home/.putty/sessions
設為777才可以儲存設定



這是因為一開始,你使用「sudo putty」來儲存session,
所以該檔案的「擁有者」和「群組」都是「root」。

你可以執行


$ ls ~/.putty/sessions/ -al



就可以看到「~/.putty/sessions/」這個資料夾裡面所有檔案相關的資訊。

假設「~/.putty/sessions/test」是你說的「session file」。

執行


$ stat ~/.putty/sessions/test -c %U:%G



顯示


root:root



前面指的是「Owner(擁有者)」,後面指的是「Group(群組)」


除了你說的「改777」,

另外一種作法,也可以把該檔案的「擁有者」和「群組」改回你自己的

假設你的「帳號」和「群組」都是「ubuntu_net2016」,


執行


$ sudo chown ubuntu_net2016:ubuntu_net2016 ~/.putty/sessions/test



或是執行


$ sudo chown $(whoami):$(whoami) ~/.putty/sessions/test



以上補充


2016/6/2 10:57
應用擴展 工具箱
回覆: 請問如何將putty設為sudo權限
管理員
註冊日期:
2011/3/11 6:32
所屬群組:
討論區管理群
等級: 44
HP : 216 / 1084
MP : 1088 / 38163
EXP: 38
離線
ubuntu_net2016 寫到:
不過提一下就加入了該群組,還是要把home/.putty/sessions
設為777才可以儲存設定

事實上這是負負得正喔,請參考第 1373495 號 Ubuntu 軟體缺陷:
Bug #1373495 “sudo shouldn't preserve caller's HOME environment ...” : Bugs : sudo package : Ubuntu
https://bugs.launchpad.net/ubuntu/+source/sudo/+bug/1373495

就是因為您使用 sudo 執行 putty 才會造成用普通身份執行 putty 發生錯誤

2016/6/2 22:31
本篇發表文章以「創用CC BY 3.0 或更新之台灣地區版本」授權條款釋出,如何使用敬請參考
 Creative Commons — 姓名標示 3.0 台灣 — CC BY 3.0 TW
 http://creativecommons.org/licenses/by/3.0/tw/

「你不懂的東西就不要亂講,被懂得人看破手腳就算了,騙不懂的人誤導別人,還要別人把你當成大師,這就真的是說不過去了。」
 by Allen Own
 出處 http://www.plurk.com/p/i4uogm

自由知識創作平台介紹
 https://docs.google.com/document/d/1MGG6lW_0qCgH4U785R-IwSc_INdoBGej1l-JxiA4gPE
如何建立新的自由知識創作平台文件
 https://docs.google.com/document/d/11NdzOW2lGYksfyQIcPMPye5tlmj1J0QTkgPTmQvIvKA
應用擴展 工具箱


 [無發表權] 請登錄或者註冊


可以查看帖子.
不可發帖.
不可回覆.
不可編輯自己的帖子.
不可刪除自己的帖子.
不可發起投票調查.
不可在投票調查中投票.
不可上傳附件.
不可不經審核直接發帖.