Linux下的用戶和組

2019獨角獸企業重金招聘Python工程師標準>>> hot3.png

用戶和組

GNU/Linux?通過用戶和用戶組實訪問控制?——?包括對文件訪問、設備使用的控制。Linux?默認的訪問控制機制相對簡單直接,不過還有一些更加高級的機制,包括?ACL?和?LDAP?Authentication.

簡述

用戶一般指使用計算機的人。在本文語境中,該詞指用來識別用戶的用戶名稱,既可以是?Mary?或?Bill?這樣的真名,也可以是?Dragonlady,?Pirate?這樣的昵稱。關鍵是,計算機給每個賬戶分配了特定的名稱,而用戶則使用這些名稱訪問計算機。除了人之外,一些系統服務也以有部分限制,又享有部分特權的用戶賬戶身份運行。

由于安全需要,「用戶管理」應運而生,以加以明確限制各個用戶賬戶的權限。超級用戶?root?于計算機里擁有至高無上的管理權限,所以一般只作管理用。非特權用戶則可以用?su?或sudo?程序以臨時獲得特權。

個體可以擁有多賬戶,只不過彼此名稱當然不同。但有一些用戶名稱已事先被系統占用,比如?"root".

此外,任意用戶可能從屬某個「用戶組」。此外用戶也能夠新加入某些已經存在的用戶組,以獲取該組所擁有的特權。

一、權限與屬主

?191212_xPvj_2496664.png

第一列是文件訪問權限(例如,文件initramfs-linux.img的權限為-rw-r--r--),第三列和第四列分別是屬主和屬組(本例中所有文件屬主都是root用戶,屬組都是root組)。

191247_pYvr_2496664.png?

上述例子中,sf_Shared目錄由root用戶和vboxsf組所有。使用stat命令也可以查看文件所有權和權限:

$?stat?-c?%U?/media/sf_Shared/

root

$?stat?-c?%G?/media/sf_Shared/

vboxsf

$?stat?-c?%A?/media/sf_Shared/

drwxrwx---

二、用戶管理

使用who命令,可以查看目前已登陸的用戶。

使用useradd命令添加用戶:

#?useradd?-m?-g?[初始組]?-G?[附加組]?-s?[登陸shell]?[用戶]

-m:創建用戶主目錄/home/[用戶名];在自己的主目錄內,即使不是root用戶也可以讀寫文件、安裝程序等等。

-g:設置用戶初始組的名稱或數字ID;該組必須是存在的;如果沒有設置該選項,useradd會根據/etc/login.defs文件中的USERGROUPS_ENAB環境變量進行設置。

-G:用戶要加入的附加組列表;使用逗號分隔多個組,不要添加空格;如果不設置,用戶僅僅加入初始組。

-s:用戶默認登錄shell的路徑;Arch?Linux的init腳本使用bash;啟動過程結束后,默認啟動的登錄shell在此處設定;請確保使用的shell已經安裝。

以典型的桌面系統為例,要添加一個名為archie的用戶,并使用bash作為登錄shell:

#?useradd?-m?-g?users?-s?/bin/bash?archie

有關useradd的高級用法,參見man頁:

$?man?useradd

通過下列命令設置GECOS字段(用戶信息,例如用戶全名):

#?chfn?[用戶名]

(這樣將會以交互式模式啟動chfn

通過下列命令設置用戶密碼:

#?passwd?[用戶名]

另一個交互式界面的添加用戶的工具:

#?adduser

adduser會詢問一些常見的設置,并使用合適的默認值,調用useradd創建用戶。該命令還會設置用戶信息和密碼,囊括了chfnpasswd兩個命令的功能。

使用userdel命令刪除用戶:

#?userdel?-r?[用戶名]

-r選項表示一并刪除用戶主目錄和郵件。

三、用戶信息存儲

本地用戶信息儲存在/etc/passwd文件中。要查看系統上所有用戶賬戶:

$?cat?/etc/passwd

一行代表一個用戶,格式如下:

account:password:UID:GID:GECOS:directory:shell

此處:

§?account:用戶名

§?password:用戶密碼

§?UID:用戶的數字ID

§?GID:用戶所在主組的數字ID

§?GECOS:可選的注釋字段,通常記錄用戶全名

§?directory:用戶的主目錄($HOME

§?shell:用戶的登陸shell(默認為/bin/sh

注意:?Arch?Linux?使用影子密碼。passwd文件對所有人可讀,在里面存儲密碼(無論是否加密過)是很不安全的。在password字段,通常使用一個占位字符(x)代替。加密過的密碼儲存在/etc/shadow文件,該文件對普通用戶限制訪問。

四、用戶組管理

/etc/group文件儲存了系統中用戶組的信息,詳情參見:man?group

使用groups命令查看用戶所在組的名稱:

$?groups?[用戶名]

若省略用戶名,默認顯示當前用戶所在組。

id命令提供額外的信息,包括用戶UID以及相關用戶組GID:

$?id?[用戶名]

查看所有組:

$?cat?/etc/group

使用groupadd創建新的組:

#?groupadd?[組名]

使用gpasswd將用戶添加到組:

#?gpasswd?-a?[用戶名]?[組名]

刪除用戶組:

#?groupdel?[組名]

將用戶從組中移除:

#?gpasswd?-d?[用戶名]?[組名]

如果用戶已登錄,必須重新登錄使更改生效。

五、文件列表

警告:?不要手動編輯這些文件。有些工具可以更好的處理鎖定、避免數據庫錯誤。

文件

作用

/etc/shadow

保存用戶安全信息

/etc/passwd

用戶賬戶信息

/etc/gshadow

保存組賬號的安全信息

/etc/group

定義用戶所屬的組

/etc/sudoers

可以運行?sudo?的用戶

/home/*

主目錄

?

?

?

轉載于:https://my.oschina.net/u/2496664/blog/531704

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/286696.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/286696.shtml
英文地址,請注明出處:http://en.pswp.cn/news/286696.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

漫畫C語言 做個聊天軟件你不懂也得懂

學完C語言做不出東西?不存在的,咱們做一個最“隱私”的聊天器,就倆人,你和我。咱們聊天的信息你知我知沒別人知。 對了,本文評論區點贊、收藏抽獎。 社區也有抽獎,本周社區抽獎帖子 :https://b…

【Microstation】第一章:Microstation三維模型構建概述

MicroStation 是國際上和AutoCAD齊名的二維和三維CAD設計軟件,第一個版本由Bentley兄弟在1986年開發完成。其專用格式是DGN,并兼容AutoCAD的DWG/DXF等格式。 MicroStation是Bentley 工程軟件系統有限公司在建筑、土木工程、交通運輸、加工工廠、離散制造…

libgdx游戲引擎開發筆記(十)SuperJumper游戲例子的講解(篇四)---- 主游戲界面內部框架編寫...

上一講,我們已經實現了點擊play進入游戲界面但僅僅是個黑屏 今天,我們就試著編寫代碼讓它出現游戲的一些簡單場景。還是在上一講的代碼基礎上,我們創建兩個類:World 和 WorldRenderer 1.Word類: 12345678910111213141…

看看《System.CommandLine》

記得之前出過幾篇.net tool工具的文章,當時的做法是所有工具的語法分析全部自己解釋,自己執行,語法的解釋占了大部分時間,反而工具的功能被弱化了。其實微軟有一個CommandLine框架在緩慢的發展著,至今都沒有正式發布&a…

Sublime Text 3 import Anaconda 無法正常補全模塊名解決辦法

Sublime Text 3 Anaconda配置 在安裝Sublime Text3之后我們總會安裝一些插件,比如Python的Anaconda自動補全插件。但是,裝好之后發現import 時無法像別的IDE里面那樣自動補全模塊名,就像圖中一樣: 解決辦法在Sublime Text的git…

hdu - 2586 How far away ?(最短路共同祖先問題)

題目鏈接:http://acm.hdu.edu.cn/showproblem.php?pid2586 最近公共祖先問題~~LAC離散算法 題目大意:一個村子里有n個房子,這n個房子用n-1條路連接起來,接下了有m次詢問,每次詢問兩個房子a,b之間的距離是多少。 很明顯…

Android之添加固定圖標到桌面

我的QQ群 1 需求 Android之添加固定圖標到桌面 2 部分實現 在AndroidManifest.xml里面添加如下權限 <uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" /><uses-permission android:name="com.android.launcher.perm…

想做程序員?不同方向入門路線全解

學習計算機編程有很多方向如果你沒有一個正確的路線&#xff0c;那么就會&#xff1a; 就會跟上面所說的那樣&#xff0c;被迫成為一個全棧&#xff0c;這是比較尷尬的。 若你想比較準確的針對某個方向學習&#xff0c;那就繼續往下看吧。 一、程序員分為哪幾個方向 隨著…

【轉】OpenGL超級寶典筆記——紋理映射Mipmap

原文地址 http://my.oschina.net/sweetdark/blog/177812 , 感謝作者&#xff0c;若非法轉載請聯系本人。 目錄[-] MipmappingMipmap過濾構建Mip層Mipmaps 硬件生成LOD&#xff08;多細節層次&#xff09;偏好紋理對象管理多個紋理常駐紋理紋理優先級回顧Mipmapping Mipmap是一個…

【Microstation】第二章:Microstation三維建模基礎知識

本章的主要內容包括模型的顯示樣式(線框、光滑)、三維定位(V、T、S、F)、Microstation常見的坐標系統(世界坐標系、ACS輔助坐標系、精確繪圖坐標系、)和Microstation的工作區域(2D和3D)。 一、顯示樣式 二、三維定位 三維定位在Microstation中顯得尤為重要,常見…

xtrabackup對MySQL數據庫的備份及恢復教程

xtrabackup xtrabackup 是 percona 的一個開源項目&#xff0c;可以熱備份innodb &#xff0c;XtraDB,和MyISAM&#xff08;會鎖表&#xff09;。對MyISAM存儲引擎會鎖表&#xff0c;也是很郁悶的因為線上使用的是Innodb和MyISAM兩種存儲引擎&#xff0c;比較 頭疼&#xff01;…

實現 EF Core 6 自定義查詢標記

前言在《EF Core使用Simple Logging輸出日志》中&#xff0c;我們介紹了查詢標記 TagWith&#xff0c;它可以幫助我們快速定位到需要的日志&#xff1a;而在 .NET 6 中&#xff0c;新增了另外一個查詢標記 TagWithCallSite&#xff0c;它可以標記出代碼的位置&#xff1a;var u…

LeetCode: 14. Longest Common Prefix

Write a function to find the longest common prefix string amongst an array of strings. 大意就是&#xff0c;寫一個函數可以找到一個數組字符串中的最長前綴。 分析&#xff1a; 最長前綴的最大值為數組字符串中長度最短的字符&#xff0c;由最短字符串由后向前遞減可以得…

jQuery選擇器和選取方法

我們已經使用了帶有簡單Css選擇器的jQuery選取函數:$()。現在是時候深入了解jQuery選擇器語法&#xff0c;以及一些提取和擴充選中元素集的方法了。 一、jQuery選擇器 在CSS3選擇器標淮草案定義的選擇器語法中&#xff0c;jQuery支持相當完整的一套子集&#xff0c;同時還添加了…

0運維?微信小程序云開發增刪查改【05】

在創建小程序時&#xff0c;選擇云開發&#xff1a; 隨后進入項目之后&#xff0c;此時整個目錄如下&#xff1a; 此時我們如圖目錄即可找到首頁位置&#xff1a; 接著咱們清除 index.wxml 代碼內容&#xff1a; 在 index.wxml 中加入如下代碼&#xff1a; <view> …

Android之解決卸載app后再次安裝提示room數據庫錯誤

1、問題 目前只有一個google手機之前安裝了app,里面有room寫的數據庫&#xff0c;后面把app卸載了&#xff0c;再次安裝新的app(修改了數據庫里面的字段)&#xff0c;啟動奔潰。 2、分析 提示數據庫錯誤&#xff0c;很明顯就像以前的app里面的數據庫沒有刪除一樣&#xff0c;…

【Microstation】第三章:Microstation三維模型構建與編輯

本章主要講述三維基本實體繪制、三維構造元素繪制、三維模型編輯。 一、三維基本體素繪制 對于立方體、圓柱、球、圓錐等這些基本立體單位,MS提供了專門的繪圖工具。 基本體素繪制有兩種方式: (1)精確繪圖工具 (2&

文件系統管理相關命令

查看文件系統相關屬性的命令&#xff1a;blkidblkid是一個查看磁盤設備屬性相關信息的命令行工具blkid -L LABEL | UUID :根據UUID查看對應的設備是哪個blkid [-ghlv] [-c file] [-w file] [-o format][-s tag] [-t NAMEvalue] device [device ...]-i&#xff1a;顯示io限制lsb…

CSharpFunctionalExtensions -函數式編程C#的功能擴展

簡介該庫有助于以更實用的方式編寫代碼安裝在NuGet上可用dotnet add package CSharpFunctionalExtensions或者PM> Install-Package CSharpFunctionalExtensions例子Maybe創建一個值Maybe<string> apple Maybe<string>.From("apple");// orMaybe<s…

Android之實現夸克瀏覽器書簽和歷史頁面滑動時候右上角圖標切換效果

1 需求 實現夸克瀏覽器書簽和歷史頁面滑動時候右上角圖標切換效果,頁面滑動的時候,圖標也左右滑動,但是只是顯示其中的一個 https://www.captainai.net/st/ 2 代碼實現 xml布局實現 <LinearLayoutandroid:id="@+id/mainLl"android:layout_width="24d…