摘要:同理,對于用戶群組的刪除,分別有和,它們的也是一模一樣的。修改已有用戶用戶組修改已有用戶用戶組有關的工作,分別交給以下兩個命令對于,比較常用的參數有,它們分別修改用戶的主群組額外加入的群組用戶。要切換當前用戶所登陸的群組,使用命令。
查看信息 查看文件、文件夾的filesystem metadata
# 查看**單個**文件、文件夾的權限信息 stat filename # 或者使用以下命令來查看當前目錄下**所有**文件、文件夾的權限信息 ls -la # 顯示username、groupname ls -na # 顯示userid、groupid
ls -l每個列的含義:這篇博客。查詢用戶、群組信息
# 查看當前用戶(準確地說是當前bash進程的擁有者)的信息: id # 查看指定用戶的信息: id username id userid # 查看當前用戶(準確地說是當前bash進程的擁有者)的所有群組: groups # 查看指定用戶的所有群組(注意該命令必須輸入username,不能是userid): groups username # 查看**所有**用戶的信息: cat /etc/passwd # 查看**所有**群組的信息: cat /etc/groupcurrent group
執行id命令以后你會看到返回結果包括gid和groups。關于gid 與groups 的區別:gid只是當前登陸群組, 而groups列出了用戶所在的所有群組。用戶所在的群組可以有很多,但是在任何一個時刻,一個用戶只能登陸一個群組。后面面會介紹newgrp命令,使用它,用戶可以切換到其他群組。
primary group 和 supplementary group用戶所在的群組可以有很多,可以指定其中一個為主群組(primary group),剩下的都是supplementary group。主群組是 GUI登陸、打開命令行窗口、ssh登陸 以后的默認登陸群組。
修改primary group和supplementary group的usermod命令下面會講到。
What is the difference between primary group and secondary group in Ubuntu?Real User ID, Effective User ID, Saved User ID
在查看一些命令的manuals時(比如id),你可能會注意到userid還分為Real User ID, Effective User ID, Saved User ID三種。每個進程的描述表(process descriptor table)都存儲了這三種UID。
Linux進程權限的研究——real user id, effective user id, saved set-user-id
User_identifier - wikipedia
Difference between Real User ID, Effective User ID and Saved User ID
ps aux
ps命令非常強大,幾乎能給你所有需要的進程信息!設置幾個參數就能讓它輸出我們想要的進程信息:
ps --pid 25138 -O uid,uname,gid,group,ppid
上面的參數表示,我要查看pid為6685的進程,并且除了默認的列以外,多展示幾列:uid,uname,gid,group,ppid。
輸出如下:
在ps manuals中,能找到這個命令的更多用法、更多可以展示的列:在docker容器內使用ps命令
在docker容器內的bash使用ps命令時,很有可能會提示你ps命令不存在,這是因為docker image經常精簡掉了ps程序(畢竟docker容器中一般只運行一個進程)。這個時候使用
apt-get update && apt-get install procps
來安裝ps。
在中國連接國外的Ubuntu軟件源服務器可能會非常慢,這時你應該改一下ubuntu的軟件源(通過系統設置就能改)。修改文件元信息 chmod修改文件、文件夾的權限
如果你在docker容器內使用apt,你需要手動改變軟件源。先通過Ubuntu Sources List Generator定制符合你需要的sources.list文件(至少要選擇"Main - Officially supported software."這一項),然后將這個文件放在容器內的路徑/etc/apt/sources.list(可以使用命令docker cp ./sources.list 容器名稱:/etc/apt/sources.list或者Dockerfile的COPY ./sources.list /etc/apt/sources.list指令)。
# 修改文件、文件夾的權限(如果要修改不屬于當前用戶的文件,還需要使用sudo) chmod 755 filename # 遞歸修改文件夾、文件夾內所有文件的權限(注意要使用sudo和-R) sudo chmod 777 -R /path/to/directorychown修改文件的擁有者、擁有群組
執行這種修改時,必須使用sudo。
# 修改文件/文件夾的owner sudo chown username filename # 修改文件/文件夾的group sudo chown :groupname filename # 同時修改文件/文件夾的owner和group sudo chown username:groupname filename # 加上-R參數,能夠遞歸修改文件夾、文件夾內的所有文件!
上面的username、groupname也可以用userid、groupid代替。使用userid、groupid有一個很方便的地方:userid、groupid可以不存在于當前系統中,這在使用docker bind-mount volume的時候很有用!
參考ubuntu doc。修改用戶、群組信息 新建和刪除
新建用戶、群組有關的工作,分別交給以下兩個命令:
adduser
addgroup
adduser和addgroup的manuals頁面其實是一模一樣的,它們的功能是很相似的,只不過adduser對應于user,addgroup對應于group。
使用這兩個命令可以做到這幾件事:
新建一個normal user
adduser [options] [--home DIR] [--shell SHELL] [--no-create-home] [--uid ID] [--firstuid ID] [--lastuid ID] [--ingroup GROUP | --gid ID] [--disabled-password] [--disabled-login] [--gecos GECOS] [--add_extra_groups] [--encrypt-home] user
新建一個system user
adduser --system [options] [--home DIR] [--shell SHELL] [--no-create- home] [--uid ID] [--group | --ingroup GROUP | --gid ID] [--disabled- password] [--disabled-login] [--gecos GECOS] user
新建一個user group
addgroup [options] [--gid ID] group
新建一個system group
addgroup --system [options] [--gid ID] group
將一個已經存在的user加入到一個已經存在的group中
adduser [options] user group
這五種功能的解釋,以及每種功能可以使用的參數,都在manuals有詳細的解釋。
同理,對于用戶、群組的刪除,分別有deluser和delgroup,它們的manuals也是一模一樣的。
修改已有用戶、用戶組修改已有用戶、用戶組有關的工作,分別交給以下兩個命令:
usermod
groupmod
對于usermod,比較常用的參數有--gid --groups --uid,它們分別修改用戶的 主群組、額外加入的群組、用戶id 。
對于groupmod,比較常用的參數有--gid --new-name,它們分別修改群組的id、群組的名稱。
切換用戶、切換群組 切換用戶在bash中切換用戶以后,通過這個bash執行的子程序,會以新的用戶身份來完成。
注意,僅僅是當前bash進程的擁有者改變了。并不像windows那樣注銷整個系統再以新用戶登陸!
如這個回答所講,在命令行中切換用戶只需要通過以下命令:
su - username切換群組
前面已經說過,一個用戶可以加入多個群組,但是任何一個時刻只能登陸一個群組。要切換當前用戶所登陸的群組,使用newgrp命令。
newgrp - groupname練手教程
新建用戶并加入sudo用戶組
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/27334.html
閱讀 2980·2021-11-16 11:45
閱讀 5124·2021-09-22 10:57
閱讀 1763·2021-09-08 09:36
閱讀 1585·2021-09-02 15:40
閱讀 2508·2021-07-26 23:38
閱讀 1184·2019-08-30 15:55
閱讀 923·2019-08-30 15:54
閱讀 1213·2019-08-29 14:06