您好,登錄后才能下訂單哦!
這篇“Linux下怎么新增用戶、指定用戶組、家目錄、獲取sudo權限”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“Linux下怎么新增用戶、指定用戶組、家目錄、獲取sudo權限”文章吧。
//系統環境 # cat /etc/redhat-release CentOS Linux release 7.5.1804 (Core) # uname -r 3.10.0-862.el7.x86_64 //SELinux 設置 # setenforce 0 # sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config //校準時間的定時任務 # crontab -l 01 */3 * * * /usr/sbin/ntpdate time1.aliyun.com && clock -w
//useradd命令的man信息 useradd - 創建一個新用戶或更新默認新用戶信息 useradd [選項] 登錄 useradd -D useradd -D [選項] 如果使用時不帶 -D 選項,useradd 命令使用命令行上指定的值和系統的默認值創建一個新用戶。根據命令行選項,useradd 命令也會更新系統文件和創建新用戶的主目錄并復制初始文件。 默認上,也會為用戶創建組 (察看 -g, -N, -U,和 USERGROUPS_ENAB)。 useradd 可以使用的選項有: -b, --base-dirBASE_DIR The default base directory for the system if -dHOME_DIR is not specified. BASE_DIR is concatenated with the account name to define the home directory. The BASE_DIR must exist otherwise the home directory cannot be created. 如果選項沒有指定,useradd 將使用 /etc/default/useradd 中的 HOME 變量,或者默認的 /home。 -c, --commentCOMMENT 任何字符串。通常是關于登錄的簡短描述,當前用于用戶全名。 -d, --home-dir HOME_DIR The new user will be created using HOME_DIR as the value for the user's login directory. The default is to append the LOGIN name to BASE_DIR and use that as the login directory name. -D, --defaults 看下邊,“更改默認值”子節。 -e, --expiredateEXPIRE_DATE 用戶賬戶將被禁用的日期。日期以 YYYY-MM-DD 格式指定。 如果沒有指定,useradd 將使用 /etc/default/useradd 中 EXPIRE 變量指定的默認過期日期,或者一個空字符串(不過期)。 -f, --inactiveINACTIVE 密碼過期后,賬戶被徹底禁用之前的天數。0 表示立即禁用,-1 表示禁用這個功能。 如果未指定,useradd 將使用 /etc/default/useradd 中的 INACTIVE 指定的默認禁用周期,或者默認為 -1。 -g, --gidGROUP 用戶初始登陸組的組名或號碼。組名必須已經存在。組號碼必須指代已經存在的組。 如果沒有指定, useradd 的行為將依賴于 /etc/login.defs 文件中的 USERGROUPS_ENAB 參數。如果此參數設置為了 yes (或者在命令行上指定了 -U/--user-group),將會為用戶創建一個組,組名和登錄名相同。如果選項設置為了 no (或者在命令行上指定了 -N/--no-user-group),useradd 會把新用戶的主組設置為 /etc/default/useradd 中 GROUP 變量指定的值,再或者默認是 100。 -G, --groupsGROUP1[,GROUP2,...[,GROUPN]]] 用戶還屬于的附加組列表。每個組都用逗號隔開,沒有中間的空格。這里的組受到了 -g 選項給定的組同樣的限制。默認上,用戶只屬于初始組。 -h, --help 現實幫助信息并退出。 -k, --skelSKEL_DIR 骨架目錄,包含使用 useradd 創建用戶時,要復制到用戶主目錄中的文件和目錄。 這個選項只有在指定 -m (或 --create-home) 選項時才有效。 如果此項沒有設置,骨架目錄使用 /etc/default/useradd 中的 SKEL 的變量或默認為 /etc/skel。 如果可以,也復制 ACL 和擴展屬性。 -K, --keyKEY=VALUE 默認覆蓋 /etc/login.defs (UID_MIN, UID_MAX, UMASK, PASS_MAX_DAYS 及其它)。 例如:-K PASS_MAX_DAYS=-1 可以用于創建一個密碼不會過期的系統賬戶,即使系統賬戶沒有密碼。可以指定多個 -K 選項,如:-K UID_MIN=100-K UID_MAX=499 -l, --no-log-init 不要將用戶添加到最近登錄和登錄失敗數據庫。 默認上,最近登錄和登錄失敗中用戶的條目會被重置,以避免重新使用先前刪除的用戶的條目。 -m, --create-home 如果不存在,則創建用戶主目錄。骨架目錄中的文件和目錄(可以使用 -k 選項指定),將會復制到主目錄。 默認上,如果沒有指定此選項并且 CREATE_HOME 沒有啟用,不會創建主目錄。 The directory where the user's home directory is created must exist and have proper SELinux context and permissions. Otherwise the user's home directory cannot be created or accessed. -M, --no-create-home Do not create the user's home directory, even if the system wide setting from /etc/login.defs (CREATE_HOME) is set to yes. -N, --no-user-group 不要創建同名組,而是將用戶添加到 -g 選項指定的組,或根據 /etc/default/useradd 中的 GROUP 變量。 如果沒有指定 -g, -N 和 -U 選項,默認行為由 /etc/login.defs 中的 USERGROUPS_ENAB 變量指定。 -o, --non-unique 允許使用重復的 UID 創建用戶賬戶。 此選項只有和 -u 選項組合使用才有效。 -p, --passwordPASSWORD 加密了的密碼,就像 crypt(3) 的返回值。默認為禁用密碼。 注 您應該確保密碼符合系統的密碼政策。 -r, --system 創建一個系統賬戶。 System users will be created with no aging information in /etc/shadow, and their numeric identifiers are chosen in the SYS_UID_MIN-SYS_UID_MAX range, defined in /etc/login.defs, instead of UID_MIN-UID_MAX (and their GID counterparts for the creation of groups). 注意:useradd 不會為這種用戶創建主目錄,無論 /etc/login.defs (CREATE_HOME) 中是的默認設置是怎樣。如果想為要創建的系統賬戶創建主目錄,需要指定 -m 選項。 -R, --rootCHROOT_DIR Apply changes in the CHROOT_DIR directory and use the configuration files from the CHROOT_DIR directory. -s, --shellSHELL 用戶的登錄 shell 名。默認為留空,讓系統根據 /etc/default/useradd 中的 SHELL 變量選擇默認的登錄 shell,默認為空字符串。 -u, --uidUID 用戶 ID 的數字值。此值必須為唯一的,除非使用了 -o 選項。此值必須非負,默認使用大于等于 UID_MIN,且大于任何其他用戶 ID 最小值。 請參考 -r 選項和 UID_MAX 的描述。 -U, --user-group 創建一個和用戶同名的組,并將用戶添加到組中。 如果沒有指定 -g, -N 和 -U 選項,默認行為由 /etc/login.defs 中的 USERGROUPS_ENAB 變量指定。 -Z, --selinux-userSEUSER 用戶登陸的 SELinux 用戶。默認為留空,這會造成系統選擇默認的 SELinux 用戶。 只帶 -D 選項使用時,useradd 將顯示當前的默認值。-D 和其它選項配合使用時,useradd 將為指定的選項更新默認值。有效的“更改默認值”選項有: -b, --base-dirBASE_DIR 新用戶主目錄的路徑前綴。如果創建新賬戶時,沒有使用 -d 選項,用戶的名稱將會綴在 BASE_DIR 的后邊形成新用戶的主目錄名。 這個選擇在 /etc/default/useradd 中設置 HOME 選項。 -e, --expiredateEXPIRE_DATE 禁用此用戶賬戶的日期。 此選項在 /etc/default/useradd 中設置 EXPIRE 變量。 -f, --inactiveINACTIVE 密碼過期到賬戶被禁用之前的天數。 這個選項在 /etc/default/useradd 中設置 INACTIVE 變量。 -g, --gidGROUP 新用戶初始組的組名或 ID (使用了 -N/--no-user-group 或者 /etc/login.defs 中的變量 USERGROUPS_ENAB 設置為 no 時)。給出的組必須存在,并且數字組 ID 必須有一個已經存在的項。 這個選項在 /etc/default/useradd 中設置 GROUP 變量。 -s, --shellSHELL 新用戶的登錄 shell 名。 這個選項在 /etc/default/useradd 設置 SHELL 變量。 系統管理員負責將默認的用戶文件放在 /etc/skel/ 目錄中(或者命令行上、/etc/default/useradd中指定的任何其它目錄)。 CAVEATS 您可能不能想 NIS 組或 LDAP 組添加用戶。這只能在相應服務器上進行。 相似地,如果用戶名已經存在于外部用戶數據庫中,比如 NIS 或 LDAP,useradd 將拒絕創建用戶賬戶的請求。 用戶名不能超過 32 個字符長。 在 /etc/login.defs 中有如下配置變量,可以用來更改此工具的行為: CREATE_HOME (boolean) 指示是否應該為新用戶默認創建主目錄。 此設置并不應用到系統用戶,并且可以使用命令行覆蓋。 GID_MAX (number), GID_MIN (number) useradd,groupadd 或 newusers 創建的常規組的組 ID 的范圍。 GID_MIN 和 GID_MAX 的默認值分別是 1000 和 60000。 MAIL_DIR (string) 郵箱目錄。修改或刪除用戶賬戶時需要處理郵箱,如果沒有指定,將使用編譯時指定的默認值。 MAIL_FILE (string) 定義用戶郵箱文件的位置(相對于主目錄)。 MAIL_DIR and MAIL_FILE 變量由 useradd,usermod 和 userdel 用于創建、移動或刪除用戶郵箱。 如果 MAIL_CHECK_ENAB 設置為 yes,它們也被用于定義 MAIL 環境變量。 MAX_MEMBERS_PER_GROUP (number) 每個組條目的最大成員數。達到最大值時,在 /etc/group 開始一個新條目(行)(使用同樣的名稱,同樣的密碼,同樣的 GID)。 默認值是 0,意味著組中的成員數沒有限制。 此功能(分割組)允許限制組文件中的行長度。這對于確保 NIS 組的行比長于 1024 字符。 如果要強制這個限制,可以使用 25。 注意:分割組可能不受所有工具的支持(甚至在 Shadow 工具集中)。您不應該使用這個變量,除非真的需要。 PASS_MAX_DAYS (number) 一個密碼可以使用的最大天數。如果密碼比這舊,將會強迫更改密碼。如果不指定,就假定為 -1,這會禁用這個限制。 PASS_MIN_DAYS (number) 兩次更改密碼時間的最小間隔。將會拒絕任何早于此的更改密碼的嘗試。如果不指定,假定為 -1,將會禁用這個限制。 PASS_WARN_AGE (number) 密碼過期之前給出警告的天數。0 表示只有只在過期的當天警告,負值表示不警告。如果沒有指定,不會給警告。 SYS_GID_MAX (number), SYS_GID_MIN (number) useradd、groupadd 或 newusers 創建的系統組的組 ID 的范圍。 SYS_GID_MIN 和 SYS_GID_MAX 的默認值分別是 101 和 GID_MIN-1。 SYS_UID_MAX (number), SYS_UID_MIN (number) useradd 或 newusers 創建的系統用戶的用戶 ID 的范圍。 SYS_UID_MIN 和 SYS_UID_MAX 的默認值分別是 101 和 UID_MIN-1。 UID_MAX (number), UID_MIN (number) useradd 或 newusers 創建的普通用戶的用戶 ID 的范圍。 UID_MIN 和 UID_MAX 的默認值分別是 1000 和 60000。 UMASK (number) 文件模式創建掩碼初始化為此值。如果沒有指定,掩碼初始化為 022。 useradd 和 newusers 使用此掩碼設置它們創建的用戶主目錄的模式。 也被 login 用于指定用戶的初始 umask。注意,此掩碼可以被用戶的 GECOS 行覆蓋(當設置了 QUOTAS_ENAB 時),也可以被帶 K 指示符的 limits(5) 定義的限制值覆蓋。 USERGROUPS_ENAB (boolean) 如果 uid 和 gid 相同,用戶名和主用戶名也相同,使非 root 組的組掩碼位和屬主位相同 (如:022 -> 002, 077 -> 007)。 如果設置為 yes,如果組中沒有成員了,userdel 將移除此用戶組,useradd 創建用戶時,也會創建一個同名的默認組。 /etc/passwd 用戶賬戶信息。 /etc/shadow 安全用戶賬戶信息。 /etc/group 組賬戶信息。 /etc/gshadow 安全組賬戶信息。 /etc/default/useradd 賬戶創建的默認值。 /etc/skel/ 包含默認文件的目錄。 /etc/login.defs Shadow 密碼套件配置。 useradd 可以返回如下值: 0 成功 1 無法更新密碼文件 2 無效的命令語法 3 給了選項一個無效的參數 4 UID 已經使用 (且沒有 -o) 6 指定的組不存在 9 用戶名已被使用 10 無法更新組文件 12 無法創建主目錄 14 can't update SELinux user mapping
//新增用戶testuser賦予root權限 //方法一: 修改 /etc/sudoers 文件,找到下面一行,把前面的注釋(#)去掉 ## Allows people in group wheel to run all commands %wheel ALL=(ALL) ALL //然后修改用戶,使其從屬于root組(wheel),命令如下: #usermod -g root testuser //修改完畢,現在可以用testuser帳號登錄,然后用命令 su - ,即可獲得root權限進行操作。 //方法二(推薦使用): 修改 /etc/sudoers 文件,找到下面一行,在root下面添加一行,如下所示: ## Allow root to run any commands anywhere root ALL=(ALL) ALL testuser ALL=(ALL) ALL //修改完畢,現在可以用testuser帳號登錄,然后用命令 su - ,即可獲得root權限進行操作。 //方法三: 修改 /etc/passwd 文件,找到如下行,把UID修改為 0 ,如下所示: testuser:x:500:500:testuser:/home/user/testuser:/bin/bash //修改后如下 testuser:x:0:500:testuser:/home/user/testuser:/bin/bash //保存,用testuser賬戶登錄后,直接獲取的就是root帳號的權限。
//創建admin用戶并獲取sudo權限 //創建用戶屬組 # groupadd operation //查看驗證 # tail -n 5 /etc/group //創建用戶admin 指定組 operation 指定附加組 root 指定家目錄 # useradd -g operation -G root -d /home/user/admin admin //修改admin目錄權限 # chmod -R 766 /home/user/admin //修改admin用戶密碼 # passwd admin //修改 /etc/sudoers 文件,找到下面一行,在root下面添加一行,強制保存退出,如下所示: ## Allow root to run any commands anywhere root ALL=(ALL) ALL admin ALL=(ALL) ALL //admin用戶如需修改沒有權限的文件需要在命令前添加sudo,如 $ sudo touch text.txt
使用過Linux的伙伴兒們都知道Linux為每個用戶都提供對應的家目錄,路徑為 /home/用戶名(管理員不同,他的家目錄是/root),并且家目錄下附送文件(文件夾)若干。
張伙伴兒問:如何查看家目錄?
登錄后進入終端,直接輸入pwd命令“顯示當前路徑”,顯示的路徑就是用戶的家目錄。
王伙伴兒問:如何查看家目錄下有哪些文件(文件夾)?
當然是Linux下最常用的命令ls啦。
Desktop Document … …都是藍色的,都是文件夾。
李伙伴兒問:家目錄下只有這些默認建立的文件夾嗎?
當然不是,輸入ls -al,a是全部的意思,l是列表的意思,將全部文件(文件夾)按列表的方式顯示。
白色的是文件標記字符為- 藍色的是文件夾標記字符為d (此外l 鏈接文件,b存儲接口設備,c穿行端口設備)
趙伙伴兒問:文件名中有點啥意思?
以點“.”開頭的文件(文件夾)為隱藏文件(文件夾),這為什么就是只輸入ls時他們沒有顯示出來。
劉伙伴兒問:一個點 兩個點 是啥意思?
一個點“.”表示當前目錄,兩個點“…”表示上一級目錄(此外“~”表示家目錄)
伙伴兒們,重要的4個文件.bash_history .bash_logout .bashrc .profile
.bash_history:保存本次開機前執行過的全部命令,(本次開機執行的命令當前不會被記錄)
.profile:bash啟動時執行此文件,其實啟動文檔有3個.bash_profile,.bash_login,.profile,優先執行 ~/.bash_profile,找不到時,再執行 ~/.bash_login ,還找不到,才執行 ~/.profile,此文件定義命令的路徑 (PATH) 與環境變量,可以添加自定義命令,做啟動時的工作。
.bashrc:每次執行命令時,都執行此文件,因此可將命令別名、路徑添加自定義命令到此文檔。
.bash_logout:注銷bash時,執行此文件,可以添加自定義命令做退出時的工作。
以上就是關于“Linux下怎么新增用戶、指定用戶組、家目錄、獲取sudo權限”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。