關於 Ubuntu 預設的 UID 及 GID 問題 [論壇 - 新手村]
正在瀏覽:
1 名遊客
關於 Ubuntu 預設的 UID 及 GID 問題 |
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
會員一級
![]() ![]() 註冊日期:
2015/5/2 16:19 所屬群組:
已註冊使用者 等級: 4
HP : 0 / 75
![]() |
各位好,想請教有關 UID 及 GID 問題。
最近常常遇到沒有權限存取檔案,我爬文後發現, 原來 Ubuntu Live CD 預設帳號(ubuntu)的 UID 及 GID 好像都是 999; 可是我安裝 Ubuntu 時所建立的帳號(刻意也取名ubuntu),預設的 UID 及 GID 卻是 1000, 導致沒有權限,無法存取 Ubuntu Live CD 的帳號 ubuntu (999) 所建立的檔案。 因為有時需要使用 Ubuntu Live CD 開機,有時需要使用安裝好的 Ubuntu 系統開機, 如果 UID 及 GID 不同,無法互相存取檔案的話,真的很不方便。 想請問: 一、已經安裝好 Ubuntu 系統,如果把帳號(ubuntu)的 UID/GID 從 1000 修改為 999 的話,步驟會不會很複雜? 二、如果事後修改 UID/GID 真的很複雜的話;那能不能重新安裝 Ubuntu,一開始在建立帳號時,就直接指定 UID/GID 為 999 呢?
2015/5/3 21:19
|
||||||||||
![]() |
回覆: 關於 Ubuntu 預設的 UID 及 GID 問題 |
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
會員三級
![]() ![]() 註冊日期:
2012/4/26 9:45 所屬群組:
已註冊使用者 等級: 12
HP : 0 / 287
![]() |
使用下列指令修改目錄或檔案的存取權限就可以了(這是用來修改你的存檔區的存取權限的):
sudo chmod -R o+rwx <目錄或檔案名稱> 或是你可以把帳號加入 ubuntu live cd帳號的gid為子群組 usermod -G <群組名稱> <所要修改的帳號>
2015/5/3 21:34
|
||||||||||
![]() |
回覆: 關於 Ubuntu 預設的 UID 及 GID 問題 |
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
會員一級
![]() ![]() 註冊日期:
2015/5/2 16:19 所屬群組:
已註冊使用者 等級: 4
HP : 0 / 75
![]() |
您好,我知道可以用chown/chgrp/chmod指令,改變檔案的UID/GID值;
只是每次用不同的系統開機,都要去修改檔案的屬性,真的很麻煩。 所以我的問題是,希望能直接把不同系統的帳號(ubuntu)的UID/GID都改成一致(都是999),不知道可行嗎?
2015/5/3 21:42
|
||||||||||
![]() |
回覆: 關於 Ubuntu 預設的 UID 及 GID 問題 |
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
會員三級
![]() ![]() 註冊日期:
2012/4/26 9:45 所屬群組:
已註冊使用者 等級: 12
HP : 0 / 287
![]() |
tmpfs 寫到: 這要留給功力深的人回答,我目前只能說用usermod 可以改UID與GID;不過我沒改過,所以不知道改完之後你可不可以存取原來的檔案與目錄,兩邊要配得起來才行(除非你的存檔區是同一個區域,那這樣就省事多了)。 不然你就把要共用的再開一個ntfs區,然後兩邊都把它掛起來就解決了。
2015/5/3 21:48
|
||||||||||
![]() |
回覆: 關於 Ubuntu 預設的 UID 及 GID 問題 |
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
會員五級
![]() ![]() 註冊日期:
2012/4/22 10:50 所屬群組:
已註冊使用者 等級: 36
HP : 178 / 894
![]() |
redhung 寫到:tmpfs 寫到: http://linux.vbird.org/linux_basic/0410accountmanager.php#account ![]()
2015/5/3 21:53
|
||||||||||
![]() |
回覆: 關於 Ubuntu 預設的 UID 及 GID 問題 |
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
會員三級
![]() ![]() 註冊日期:
2012/4/26 9:45 所屬群組:
已註冊使用者 等級: 12
HP : 0 / 287
![]() |
samwhelp 寫到:redhung 寫到:tmpfs 寫到: 看完了,所以鳥哥也不建議修改UID。 看起來,再開一個ntfs區是比較好的辦法,這也是我之前用了很久的辦法。
2015/5/3 22:00
|
||||||||||
![]() |
回覆: 關於 Ubuntu 預設的 UID 及 GID 問題 |
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
會員一級
![]() ![]() 註冊日期:
2015/5/2 16:19 所屬群組:
已註冊使用者 等級: 4
HP : 0 / 75
![]() |
您好,感謝回覆。
我是把 Ubuntu 系統安裝在 SSD 的 EXT4 分割區上, 因為需要不定時執行 fstrim 指令: sudo fstrim -v / sudo fstrim -v /home 所以目前不考慮使用 NTFS 分割區。 (Linux 應該不能對 NTFS 分割區執行 fstrim 指令吧?) 主要還是希望,以後能完全脫離 Windows 作業系統,也盡量避免使用 Windows 檔案系統。
2015/5/3 22:22
|
||||||||||
![]() |
回覆: 關於 Ubuntu 預設的 UID 及 GID 問題 |
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
會員五級
![]() ![]() 註冊日期:
2012/4/22 10:50 所屬群組:
已註冊使用者 等級: 36
HP : 178 / 894
![]() |
## 前提
假設你使用的帳號是「tmpfs」,群組應該也是「tmpfs」。 ## 執行步驟 先切換成root帳號
這時候就不要用sudo了,因為若你改了/etc/passwd,要再改/etc/group,就不能使用sudo了,不過這時候就要搬出pkexec來解救了,參考「這篇」 以下執行都在root帳號完成。 ========================================= ## 更改「/etc/group」
將
改成
========================================= ## 更改「/etc/passwd」
將
改成
========================================= ## 修改家目錄的擁有者和所屬群組
或是
========================================= 大功告成! ![]() 此篇一樣收入這個「索引」。 ## 額外一提 一直還沒去研究「/etc/default/useradd」這個檔要怎麼使用。 先提出來給大家討論了。 執行下面指令,查詢「/etc/default/useradd」是屬於哪個套件。
顯示
所以知道「/etc/default/useradd」是屬於「passwd」這個套件。 可以執行下面的指令,查看「passwd」這個套件,有哪些檔案裝在系統裡
可以執行下面的指令,查看「passwd」這個套件,有哪些manual可以查詢
這幾個技巧可以參考「這篇」,「這篇」,「這篇」。 $ man useradd 另外還有「/etc/adduser.conf」這個檔。
另外Ubuntu的安裝程式是「ubiquity」這個套件。 你可以觀看「/usr/lib/ubiquity/user-setup/user-setup-apply」這個檔, 查詢「adduser」,看看能不能找到一些線索。 以上初步探索 ![]() tmpfs 寫到: redhung 寫到:samwhelp 寫到:redhung 寫到:tmpfs 寫到: tmpfs 寫到:
2015/5/3 23:05
|
||||||||||
![]() |
回覆: 關於 Ubuntu 預設的 UID 及 GID 問題 |
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
會員一級
![]() ![]() 註冊日期:
2015/5/2 16:19 所屬群組:
已註冊使用者 等級: 4
HP : 0 / 75
![]() |
非常感謝 "samwhelp" 的回覆及提示。
我昨天初次嘗試修改,結果失敗了。 系統無法再以我的 ubuntu 帳號登入圖形界面。 (登入畫面只有 "Guest Session" 帳號可以選擇,根本沒有出現我的 ubuntu 帳號) 失敗的原因,可能是我使用 chown 指令的方式錯誤,系統中有部份檔案的 UID 及 GID 沒有修改完整,導致帳號的權限錯亂。 後來不死心,繼續上網搜尋及爬文,參考了一些資料。 我今天再次嘗試修改,結果成功了。 在此分享一下我的詳細修改步驟,如下: ## 開始 ## 啟用 root 帳號(設定 root 密碼) ubuntu@ubuntu:~$ sudo passwd root [sudo] password for ubuntu: ************ Enter new UNIX password: ****** Retype new UNIX password: ****** passwd: password updated successfully ## 登出圖形界面(登出 ubuntu 帳號) ................ ## 切換到文字界面(同時按下Ctrl+Alt+F1組合鍵) Ubuntu 14.04.1 LTS ubuntu tty1 ## 登入 root 帳號 ubuntu login: root Password: ****** ## 確認 ubuntu 帳號的 UID root@ubuntu:~# id -u ubuntu 1000 ## 修改帳號的 UID 及 GID root@ubuntu:~# usermod -u 999 ubuntu root@ubuntu:~# groupmod -g 999 ubuntu ## 修改檔案的 UID 及 GID root@ubuntu:~# chown -Rhc --from=1000 999 / root@ubuntu:~# chown -Rhc --from=:1000 :999 / ## 同步 root@ubuntu:~# sync ## 登出 root 帳號 root@ubuntu:~# logout ## 登入 ubuntu 帳號 ubuntu login: ubuntu Password: ************ ## 關閉 root 帳號(清除 root 密碼) ubuntu@ubuntu:~$ sudo passwd -dl root [sudo] password for ubuntu: ************ passwd: password expiry information changed. ## 登出 ubuntu 帳號 ubuntu@ubuntu:~$ logout ## 切換到圖形界面(同時按下Ctrl+Alt+F7組合鍵) ## 結束 心得:使用 chown 指令,要小心輸入參數,否則用錯會導致系統錯亂。
2015/5/5 21:41
|
||||||||||
![]() |
回覆: 關於 Ubuntu 預設的 UID 及 GID 問題 |
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
會員五級
![]() ![]() 註冊日期:
2012/4/22 10:50 所屬群組:
已註冊使用者 等級: 36
HP : 178 / 894
![]() |
tmpfs 寫到: 讚喔! 我是用Xubuntu 14.04 測試,忘了講! 我改完,也是會"Guest Session" 但我可以輸入不同的帳號,所以還是可以登入。 我本來還在想,不知道還有哪裡沒有改到,會導致發生問題。 感謝你又讓我學到了一招,用打指令的方式,來修改。 雖然「redhung」有提到,用打指令的方式,之前我沒去深究,所以只想到要修改那兩個檔。 還學到「chown --from」的用法,太感謝了 ========================================================= 另外應該可以直接用
這時候會問你原來帳號的密碼。 只要輸入正確就可以切換到root了。(前提是原來帳號可以使用sudo) 就不需要啟用root密碼後,又把root密碼關閉。 不過也讓我學會關閉密碼的方式。 ![]() ========================================================= 剛查 $ man usermod 又看到一個檔「/etc/login.defs」。 發現裡面有一段
先紀錄一下,以後再來研究,這部份的用法 ========================================================= 另外想到一個, 既然可以用「chown --from= ...」來改 不知道有沒有指令,可以找出系統所有檔案屬於某個uid的, 不然就要寫script了,一樣先紀錄起來。 不過一時也沒想到有什麼情境,有這樣的需求。 ========================================================= 另外「chown」和「chmod」是屬於「coreutils」這個「套件」。
2015/5/5 21:57
|
||||||||||
![]() |
您可以查看帖子.
您不可發帖.
您不可回覆.
您不可編輯自己的帖子.
您不可刪除自己的帖子.
您不可發起投票調查.
您不可在投票調查中投票.
您不可上傳附件.
您不可不經審核直接發帖.