當前位置:首頁 » 操作系統 » linux文件用戶用戶組

linux文件用戶用戶組

發布時間: 2023-07-02 11:54:03

A. linux添加/刪除用戶和用戶組

Linux添加/刪除用戶和用戶組

本文總結了Linux添加或者刪除用戶和用戶組時常用的一些命令和參數。

1、建用戶:adser phpq                             //新建phpq用戶passwd phpq                               //給phpq用戶設置密碼

2、建工作組groupadd test                          //新建test工作組

3、新建用戶同時增加工作組useradd -g test phpq                      //新建phpq用戶並增加到test工作組

註::-g 所屬組 -d 家目錄 -s 所用的SHELL

4、給已有的用戶增加工作組usermod -G groupname username

或者:gpasswd -a user group

5、臨時關閉:在/etc/shadow文件中屬於該用戶的行的第二個欄位(密碼)前面加上*就可以了。想恢復該用戶,去掉*即可。

或者使用如下命令關閉用戶賬號:passwd peter –l

重新釋放:passwd peter –u

6、永久性刪除用戶賬號userdel peter

groupdel peter

usermod –G peter peter(強制刪除該用戶的主目錄和主目錄下的所有文件和子目錄)

7、從組中刪除用戶編輯/etc/group 找到GROUP1那一行,刪除 A或者用命令gpasswd -d A GROUP

8、顯示用戶信息id usercat /etc/passwd

更詳細的用戶和用戶組的解說請參考Linux用戶和用戶組詳細解說本文主要講述在Linux 系統中用戶(user)和用戶組(group)管理相應的概念;用戶(user)和用戶組(group)相關命令的列舉;其中也對單用戶多任務,多用戶多任務也做以解說。

本篇文章來源於PHP資訊 原文鏈接: http://www.phpq.net/linux/linux-add-delete-user-group.html

Linux用戶(user)和用戶組(group)管理概述

、理解Linux的單用戶多任務,多用戶多任務概念;Linux是一個多用戶、多任務的操作系統;我們應該了解單用戶多任務和多用戶多任務的概念;

1、Linux 的單用戶多任務; 單用戶多任務;比如我們以beinan 登錄系統,進入系統後,我要打開gedit 來寫文檔,但在寫文檔的過程中,我感覺少點音樂,所以又打開xmms 來點音樂;當然聽點音樂還不行,MSN 還得打開,想知道幾個弟兄現在正在做什麼,這樣一樣,我在用beinan 用戶登錄時,執行了gedit 、xmms以及msn等,當然還有輸入法fcitx ;這樣說來就有點簡單了,一個beinan用戶,為了完成工作,執行了幾個任務;當然beinan這個用戶,其它的人還能以遠程登錄過來,也能做其它的工作。

2、Linux 的多用戶、多任務;

有時可能是很多用戶同時用同一個系統,但並不所有的用戶都一定都要做同一件事,所以這就有多用戶多任務之說;

舉個例子,比如LinuxSir.Org 伺服器,上面有ftp 用戶、系統管理員、web 用戶、常規普通用戶等,在同一時刻,可能有的弟兄正在訪問論壇;有的可能在上傳軟體包管理子站,比如luma 或Yuking 兄在管理他們的主頁系統和FTP ;在與此同時,可能還會有系統管理員在維護系統;瀏覽主頁的用的是nobody 用戶,大家都用同一個,而上傳軟體包用的是FTP用戶;管理員的對系統的維護或查看,可能用的是普通帳號或超級許可權root帳號; 不同用戶所具有的許可權也不同,要完成不同的任務得需要不同的用戶 ,也可以說 不同的用戶,可能完成的工作也不一樣 ;

值得注意的是:多用戶多任務並不是大家同時擠到一接在一台機器的的鍵盤和顯示器前來操作機器,多用戶可能通過遠程登錄來進行,比如對伺服器的遠程式控制制,只要有用戶許可權任何人都是可以上去操作或訪問的;

3、用戶的角色區分;

用戶在系統中是分角色的,在Linux 系統中,由於角色不同,許可權和所完成的任務也不同;值得注意的是用戶的角色是通過UID和識別的,特別是UID;在系統管理中,系統管理員一定要堅守UID 唯一的特性;

root用戶:系統唯一,是真實的,可以登錄系統,可以操作系統任何文件和命令,擁有最高許可權;虛擬用戶:這類用戶也被稱之為偽用戶或假用戶,與真實用戶區分開來,這類用戶不具有登錄系統的能力,但卻是系統運行不可缺少的用戶,比如bin、daemon、adm、ftp、mail等;這類用戶都系統自身擁有的,而非後來添加的,當然我們也可以添加虛擬用戶;普通真實用戶:這類用戶能登錄系統,但只能操作自己家目錄的內容;許可權有限;這類用戶都是系統管理員自行添加的;

4、多用戶操作系統的安全;

多用戶系統從事實來說對系統管理更為方便。從安全形度來說,多用戶管理的系統更為安全,比如beinan用戶下的某個文件不想讓其它用戶看到,只是設置一下文件的許可權,只有beinan一個用戶可讀可寫可編輯就行了,這樣一來只有beinan一個用戶可以對其私有文件進行操作,Linux 在多用戶下表現最佳,Linux能很好的保護每個用戶的安全,但我們也得學會Linux 才是,再安全的系統,如果沒有安全意識的管理員或管理技術,這樣的系統也不是安全的。

從伺服器角度來說,多用戶的下的系統安全性也是最為重要的,我們常用的Windows 操作系統,它在系紡許可權管理的能力只能說是一般般,根本沒有沒有辦法和Linux或Unix 類系統相比;

二、用戶(user)和用戶組(group)概念; 1、用戶(user)的概念; 通過前面對Linux 多用戶的理解,我們明白Linux 是真正意義上的多用戶操作系統,所以我們能在Linux系統中建若干用戶(user)。比如我們的同事想用我的計算機,但我不想讓他用我的用戶名登錄,因為我的用戶名下有不想讓別人看到的資料和信息(也就是隱私內容)這時我就可以給他建一個新的用戶名,讓他用我所開的用戶名去折騰,這從計算機安全形度來說是符合操作規則的;

當然用戶(user)的概念理解還不僅僅於此,在Linux系統中還有一些用戶是用來完成特定任務的,比如nobody和ftp 等,我們訪問LinuxSir.Org 的網頁程序,就是nobody用戶;我們匿名訪問ftp 時,會用到用戶ftp或nobody ;如果您想了解Linux系統的一些帳號,請查看 /etc/passwd ;

2、用戶組(group)的概念; 用戶組(group)就是具有相同特徵的用戶(user)的集合體;比如有時我們要讓多個用戶具有相同的許可權,比如查看、修改某一文件或執行某個命令,這時我們需要用戶組,我們把用戶都定義到同一用戶組,我們通過修改文件或目錄的許可權,讓用戶組具有一定的操作許可權,這樣用戶組下的用戶對該文件或目錄都具有相同的許可權,這是我們通過定義組和修改文件的許可權來實現的;

舉例:我們為了讓一些用戶有許可權查看某一文檔,比如是一個時間表,而編寫時間表的人要具有讀寫執行的許可權,我們想讓一些用戶知道這個時間表的內容,而不讓他們修改,所以我們可以把這些用戶都劃到一個組,然後來修改這個文件的許可權,讓用戶組可讀,這樣用戶組下面的每個用戶都是可讀的; 用戶和用戶組的對應關系是:一對一、多對一、一對多或多對多; 一對一:某個用戶可以是某個組的唯一成員;多對一:多個用戶可以是某個唯一的組的成員,不歸屬其它用戶組;比如beinan和linuxsir兩個用戶只歸屬於beinan用戶組;一對多:某個用戶可以是多個用戶組的成員;比如beinan可以是root組成員,也可以是linuxsir用戶組成員,還可以是adm用戶組成員;多對多:多個用戶對應多個用戶組,並且幾個用戶可以是歸屬相同的組;其實多對多的關系是前面三條的擴展;理解了上面的三條,這條也能理解;

三、用戶(user)和用戶組(group)相關的配置文件、命令或目錄; 1、與用戶(user)和用戶組(group)相關的配置文件;

1)與用戶(user)相關的配置文件;

/etc/passwd註:用戶(user)的配置文件;/etc/shadow註:用戶(user)影子口令文件;

2)與用戶組(group)相關的配置文件; /etc/group註:用戶組(group)配置文件;/etc/gshadow註:用戶組(group)的影子文件;

2、管理用戶(user)和用戶組(group)的相關工具或命令; 1)管理用戶(user)的工具或命令;

useradd    註:添加用戶 

adser    註:添加用戶

passwd     註:為用戶設置密碼

usermod  註:修改用戶命令,可以通過usermod 來修改登錄名、用戶的家目錄等等;

pwcov       註:同步用戶從/etc/passwd 到/etc/shadow 

pwck         註:pwck是校驗用戶配置文件/etc/passwd 和/etc/shadow 文件內容是否合法或完整;

pwunconv  註:是pwcov 的立逆向操作,是從/etc/shadow和 /etc/passwd 創建/etc/passwd ,然後會刪除 /etc/shadow 文件;

finger        註:查看用戶信息工具

id              註:查看用戶的UID、GID及所歸屬的用戶組

chfn          註:更改用戶信息工具

su             註:用戶切換工具

sudo         註:sudo 是通過另一個用戶來執行命令(execute a command as another user),su 是用來切換用戶,然後通過切換到的用戶來完成相應的任務,但sudo 能後面直接執行命令,比如sudo 不需要root 密碼就可以執行root 賦與的執行只有root才能執行相應的命令;但得通過visudo 來編輯/etc/sudoers來實現;

visudo      註:visodo 是編輯 /etc/sudoers 的命令;也可以不用這個命令,直接用vi 來編輯 /etc/sudoers 的效果是一樣的;

sudoedit  註:和sudo 功能差不多;

2)管理用戶組(group)的工具或命令;

groupadd  註:添加用戶組;

groupdel         註:刪除用戶組;

groupmod        註:修改用戶組信息

groups     註:顯示用戶所屬的用戶組

grpckgrpconv   註:通過/etc/group和/etc/gshadow 的文件內容來同步或創建/etc/gshadow ,如果/etc/gshadow 不存在則創建;

grpunconv   註:通過/etc/group 和/etc/gshadow 文件內容來同步或創建/etc/group ,然後刪除gshadow文件;

3、/etc/skel 目錄; /etc/skel目錄一般是存放用戶啟動文件的目錄,這個目錄是由root許可權控制,當我們添加用戶時,這個目錄下的文件自動復制到新添加的用戶的家目錄下;/etc/skel 目錄下的文件都是隱藏文件,也就是類似.file格式的;我們可通過修改、添加、刪除/etc/skel目錄下的文件,來為用戶提供一個統一、標準的、默認的用戶環境;

[root@localhost beinan]# ls -la /etc/skel/

總用量92

drwxr-xr-x    3 root root  4096  8月 11 23:32 .

drwxr-xr-x  115 root root 12288 10月 14 13:44 ..

-rw-r--r--    1 root root    24  5月 11 00:15 .bash_logout

-rw-r--r--    1 root root   191  5月 11 00:15 .bash_profile-rw-r--r--    1 root root   124  5月 11 00:15 .bashrc

-rw-r--r--    1 root root  5619 2005-03-08  .canna

-rw-r--r--    1 root root   438  5月 18 15:23 .emacs

-rw-r--r--    1 root root   120  5月 23 05:18 .gtkrcd

rwxr-xr-x    3 root root  4096  8月 11 23:16 .kde

-rw-r--r--    1 root root   658 2005-01-17  .zshrc

/etc/skel目錄下的文件,一般是我們用useradd 和adser 命令添加用戶(user)時,系統自動復制到新添加用戶(user)的家目錄下;如果我們通過修改 /etc/passwd 來添加用戶時,我們可以自己創建用戶的家目錄,然後把/etc/skel 下的文件復制到用戶的家目錄下,然後要用chown 來改變新用戶家目錄的屬主; 4、/etc/login.defs 配置文件; /etc/login.defs文件是當創建用戶時的一些規劃,比如創建用戶時,是否需要家目錄,UID和GID的范圍;用戶的期限等等,這個文件是可以通過root來定義的;

比如Fedora 的 /etc/logins.defs 文件內容;

# *REQUIRED*#   Directory where mailboxes reside, _or_ name of file, relative to the#   home directory.  If you _do_ define both, MAIL_DIR takes precedence.#   QMAIL_DIR is for Qmail##QMAIL_DIR      MaildirMAIL_DIR        /var/spool/mail  註:創建用戶時,要在目錄/var/spool/mail中創建一個用戶mail文件;#MAIL_FILE      .mail# Password aging controls:##       PASS_MAX_DAYS   Maximum number of days a password may be used.#       PASS_MIN_DAYS   Minimum number of days allowed between password changes.#       PASS_MIN_LEN    Minimum acceptable password length.#       PASS_WARN_AGE   Number of days warning given before a password expires.#PASS_MAX_DAYS   99999   註:用戶的密碼不過期最多的天數;PASS_MIN_DAYS   0       註:密碼修改之間最小的天數;PASS_MIN_LEN    5       註:密碼最小長度;PASS_WARN_AGE   7       註:## Min/max values for automatic uid selection in useradd#UID_MIN                   500  註:最小UID為500 ,也就是說添加用戶時,UID 是從500開始的;UID_MAX                 60000   註:最大UID為60000;## Min/max values for automatic gid selection in groupadd#GID_MIN                   500   註:GID 是從500開始;GID_MAX                 60000## If defined, this command is run when removing a user.# It should remove any at/cron/print jobs etc. owned by# the user to be removed (passed as the first argument).##USERDEL_CMD    /usr/sbin/userdel_local## If useradd should create home directories for users by default# On RH systems, we do. This option is ORed with the -m flag on# useradd command line.#CREATE_HOME     yes   註:是否創用戶家目錄,要求創建;

5、/etc/default/useradd 文件;

通過useradd 添加用戶時的規則文件;

# useradd defaults fileGROUP=100HOME=/home  註:把用戶的家目錄建在/home中;INACTIVE=-1  註:是否啟用帳號過期停權,-1表示不啟用;EXPIRE=   註:帳號終止日期,不設置表示不啟用;SHELL=/bin/bash  註:所用SHELL的類型;SKEL=/etc/skel   註: 默認添加用戶的目錄默認文件存放位置;也就是說,當我們用adser添加用戶時,用戶家目錄下的文件,都是從這個目錄中復制過去的;

後記:

關於用戶(user)和用戶組(group)管理內容大約就是這么多;只要把上面所說的內容了解和掌握,用戶(user)和用戶組(group)管理就差不多了;由於用戶(user)和用戶組(group)是和文件及目錄許可權聯系在一起的,所以文件及目錄許可權的操作也會獨立成文來給大家介紹;

摘自  http://fedora.linuxsir.org/main/?q=node/91

B. Linux系統-文件系統&用戶組管理-問題解答

1)ls

ls  -l  /home/     #顯示home目錄下文件或文件夾的包括訪問許可權、所屬用戶、所屬主組、文件大小等信息, ls  -l  也是別名ll的命令與選項部分。

ls  -a    /root    #顯示root目錄下包括隱藏文件在內的所有文件

ls  -d    /etc/*    #顯示etc目錄下所有子目錄(不包括文件)

ls  -S   /root     #按文件從大到小排列顯示root目錄下各文件

ls  -Sr   /root   #按文件從小到大排列顯示root目錄下各文件

ls  -U   /root   #按文件創建時間從新到舊排列顯示root目錄下各文件

ls   -X   /root   #按文件後綴排序顯示root目錄下各文件

ls  -R   /root    #遞歸顯示root目錄下所有文件

ls  -t   /root     #按修改數據內容的時間(mtime)從新到舊排列顯示root目錄下各文件

2)touch

touch    /data/file1      #在data目錄下創建file1文件,如果目錄下已經有同名文件,則不會覆蓋同名文件

touch   -t   201910200830.50   /etc/hosts        #修改/etc/hosts文件的atime以及mtime的時間戳為2019年10月20日8點30分50秒

touch  -c  /data/f2     #刷新data目錄下f2文件的atime、mtime、ctime,如果f2文件不存在,則不會創建f2

3)cp

cp  etc/hosts   /home/     #復制/etc/hosts文件到 /home目錄下,如果home目錄下沒有hosts文件,則自動創建同名文件;如果有,則會直接覆蓋。

cp  -i   etc/hosts   /home/   #復制/etc/hosts文件到 /home目錄下,如果home目錄下沒有hosts文件,則自動創建同名文件;如果有,則會詢問用戶是否覆蓋。

cp  -r  /etc/ntp   /root     #復制/etc/ntp目錄下所有子目錄以及文件到root目錄下

cp  -a    /home/*  /data/    #復制/home/目錄下所有子目錄以及文件到data目錄下,所有文件的類型、軟鏈接、文件所屬關系、時間戳等信息都一並復制(但是home目錄下的隱藏文件不會被復制到data目錄下)

cp  -av   /home/*  /data/   #在實現cp  -a    /home/*  /data/   復制的基礎上,在終端上顯示復制過程

cp  -u   /etc/*   /data/       #將etc目錄下的文件復制到data目錄下,如果etc目錄的文件比data目錄下的同名文件新,則覆蓋data目錄下的同名文件,如果etc目錄下的文件比data目錄里的與之同名文件舊,則不覆蓋。

cp   --backup=numbered    etc/hosts   /home/hosts      #將etc目錄下hosts文件復制到home目錄下的hosts,在復制之前,會先對home目錄的hosts文件進行備份,避免被覆蓋後,原文件內容丟失。

4)mv

mv   /etc/hosts    /data/         #將etc目錄下hosts文件轉移到data目錄下,如果data目錄有同名文件,則直接覆蓋    

mv  -i    /etc/hosts    /data/    #將etc目錄下hosts文件轉移到data目錄下,如果data目錄有同名文件,則詢問是否覆蓋 

mv  f1   f2       #將當前目錄下的f1文件修改名字為f2

mv   -t    /data/    /etc/hosts     #將etc目錄下hosts文件轉移到data目錄下,如果data目錄有同名文件,則直接覆蓋 。功能實現上與mv   /etc/hosts    /data/    相同,但是移出路徑參數與移入路徑參數的位置發生了互換

mv    downloads/    D      #將當前目錄下的downloads目錄的名字改成D

5)rm

rm   /data/f1     #刪除data目錄下的f1文件

rm  -r   /data/*    #遞歸刪除data目錄下的所有文件

rm  -rf    /data/*   #強制遞歸刪除data目錄下的所有文件

6)file

file   /etc/hosts     #查看etc目錄下hosts文件的文件類型,如文本文件、壓縮文件、可執行程序等

7)stat

 stat   /data/f1      #查看/data/f1文件的三個時間,內容數據修改時間mtime,讀取時間atime,元數據修改時間ctime

8)pwd

#在當前目錄下輸入pwd回車,查看當前所在目錄路徑

pwd  -P    #顯示當前目錄或文件夾的真實路徑

9)cd

cd  /data    #進入data目錄   

cd  ~root    #進入root的家目錄

cd  -       #回到剛才離開的目錄

10)mkdir

mkdir  /data/dir        #在data目錄下創建dir目錄 

mkdir  -p   /data/dir1/dir2/dir3/dir4           #在data目錄下創建子目錄dir1/dir2/dir3/dir4,若dir1、dir2、dir3都不存在,則遞歸創建

11)rmdir

rmdir     /data/dir        #刪除data目錄下的dir目錄,如果dir裡面有文件,則dir不能被刪除

rmdir  -p    /data/dir1/dir2/dir3/dir4          #若dir1、dir2、dir3、dir4都是空目錄,則遞歸刪除data目錄下的dir1、dir2、dir3、dir4目錄

12)ln

ln    /data/f1    /data/f2        #在data目錄下創建文件f1的硬鏈接f2

ln  -s     f1   f1.link            #在當前目錄下創建文件f1的軟鏈接f1.link

#當軟鏈接路徑與原文件路徑不同時,如軟鏈接位置是:/root/f1.link  ,而原文件路徑是:/data/f1   。 則在創建軟鏈接時需要相對於軟鏈接的路徑,對原文件路徑補完相對路徑,具體如下:

ln  -s  ../data/f1   /root/f1.link

答:

1)創建/tmp/a1, /tmp/a2, /tmp/a1/a, /tmp/a1/b

mkdir   /tmp/a{1,2}

touch   /tmp/a1/{a,b}

2)在/tmp目錄下創建目錄:x_y, x_z, q_y, q_z

mkdir     /tmp/{x,q}_{y,z}

答:文件的元數據信息包括:

文件類型: 指文件所屬的類型,包括目錄、文本文件、壓縮文件、可執行程序等。系統實際上查看文件的頭部信息,magic number。

節點編號: 每個文件、文件夾在同一個磁碟分區內,都有一個唯一的節點編號inode,用於識別磁碟分區內的文件。節點編號的數量在一個磁碟分區內是有限的,如果節點編號耗盡,無論磁碟空間是否真的占滿,都會顯示磁碟空間已滿。

硬鏈接數: 是指指向該文件節點編號inode的文件名稱數量。

所屬用戶UID: 創建該文件的用戶的uid

所屬主組GID: 創建該文件的用戶的主組gid

文件大小: 表示該文件的磁碟空間佔用大小

mtime時間戳: 指文件的內容數據發生修改時的時間點

atime時間戳: 指文件被訪問時的時間點

ctime時間戳: 指文件的元數據發生變化時的時間點

訪問許可權: 指不同用戶對文件的訪問、修改、執行等操作的許可權

指向磁碟數據塊的直接指針: 直接指向磁碟數據塊的指針,一個文件最多有12個直接指針,每個直接指針指向一個4k大小的數據塊

指向磁碟數據塊的間接指針: 間接指向磁碟數據塊的指針,一個間接指針會先指向一個4k大小數據塊作為次階指針表,該數據塊又分成1024個4位元組大小的區間,一個區間存儲一個次階的指針,次階指針指向一個4k的磁碟數據塊存儲真正的文件數據,若依然不能滿足空間要求,則可繼續嵌套次階指針表,直到滿足文件存儲要求為止。

查看元數據信息方式:

1)ls  -l   /data     #可查看data目錄下非隱藏文件的訪問許可權、所屬用戶UID、所屬用戶主組GID、mtime時間戳、文件大小、硬鏈接數。

2)stat    /root/bin     #可查看root目錄下bin目錄的atime時間戳、mtime時間戳、ctime時間戳

3)ls   -lc     /root/    #查看root目錄下非隱藏文件的ctime時間戳

4)ls   -lu     /root/    #查看root目錄下非隱藏文件的atime時間戳

5)ls  -i    /root      #查看root目錄下所有非隱藏文件的節點編號

6)file   /root/.bashrc      #查看root目錄下.bashrc文件的文件類型

修改文件的時間戳信息:

touch   -t   201910200830.50   /etc/hosts       #將etc目錄下hosts文件的atime和mtime時間戳修改成2019年10月2日8時30分50秒

touch   -a   /etc/hosts    #更新etc目錄下hosts文件的atime和ctime為當前時間

touch   -m   /etc/hosts      #更新etc目錄下hosts文件的mtime和ctime為當前時間

答:  touch  /tmp/tfile-`date  +"%F-%H-%M-%S"`

答:

mkdir    /tmp/mytest1     #先創建mytest1目錄

cp    -a     /etc/p*[^0-9]      /tmp/mytest1/

或:

cp     -a      /etc/p*[^[:digit:]]      /tmp/mytest1/

答:

useradd   -u 5001  -md  /tmp/tom   -s  /bin/zsh     -G  jack    tom

1)useradd

useradd   jack     #創建用戶jack,用戶策略採用系統默認配置

useradd   -u 1008  jack       #創建用戶jack,指定用戶的UID為1008

useradd   -d   /data/jack    jack     #創建用戶jack,指定用戶家目錄路徑為/data/jack

useradd   -g  1111  jack     #創建用戶jack,指定用戶主組是GID=1111的組,但GID=1111的組需要事先存在,否則無法創建

useradd   -G  tom  jack      #創建用戶jack,指定用戶jack加入附加組tom,但tom組需要事先存在,否則無法創建

useradd  -s  /bin/zsh  jack      #創建用戶jack,制定用戶jack的shell類型是zsh

useradd  -r    jack        #創建系統用戶jack,系統用戶默認不創建家目錄

useradd  -r  -md   /data/jack    jack     #配合-d選項,創建系統用戶jack,指定該系統用戶創建家目錄/data/jack,並在家目錄中載入默認配置文件

useradd  -N    jack     #創建用戶jack,不創建jack同名主組,將jack主組默認為users

useradd  -M    jack    #創建用戶jack,強制用戶jack不創建家目錄

2)usermod

usermod  -G  wang   jack     #將jack用戶的附加組更改為wang,原有附加組刪除

usermod  -aG  wang   jack    #在不退出原有附加組情況下,jack用戶增加附加組wang

usermod   -l   jacky   jack      #修改用戶名稱為jacky

usermod  -e  20181212  jack    #將用戶jack的賬號過期日期修改為2018年12月12日

usermod  -s   /bin/csh    jack     #修改用戶jack的shell類型為csh,與命令:   chsh   -s   /bin/csh   jack    相等 

usermod  -c    'abcdefg'    jack    #編輯用戶jack的注釋為abcdefg

3)userdel

userdel   jack      #刪除用戶jack

userdel   -r    jack     #刪除用戶jack,包括用戶的家目錄、郵箱

4)groupadd

groupadd   -g   1010  leo    #創建組leo,指定GID為1010

groupadd   -r    leo       #創建系統組leo

5)groupmod

groupmod  -n   lee  leo    #修改組leo名字為lee

groupmod  -g   1111   leo   #修改組leo的GID為1111

6)groupdel

groupdel     wang           #刪除wang組,但是wang組必須不是任何用戶的主組,否則不可以刪除

7)su

su    jack   #當前用戶非登錄切換到jack賬號,不讀取jack賬號配置文件

su  -   jack   #當前用戶登錄切換到jack賬號,讀取jack賬號配置文件

8)groupmems

groupmems    -l   -g    root       #查看所有屬於root組的用戶

9)id

id       #查看當前用戶的UID名稱 、 主組名稱GID 、 附屬組名稱GID

id  root     #查看root用戶的UID名稱、  主組名稱GID  、附屬組名稱GID

id  -u  root    #查看root用戶的UID名稱  

id  -g   root   #查看root用戶的主組名稱GID  

id  -G  root   #查看root用戶的主組名稱GID 、 附屬組名稱GID

id  -nG  root   #只查看root用戶的主組名稱 、 附屬組名稱

10)chfn

chfn   jack     #編輯修改用戶jack的注釋  ,與命令:usermod  -c    'abcdefg'    jack   類似

11)chsh

chsh   -s   /bin/csh   jack     #修改用戶jack的shell類型為csh

12)chage

chage     jack         # 互動式修改用戶jack的密碼策略,包括修改:密碼創建時間、最小密碼修改期、密碼有效期、過期通知、過期寬限期、賬戶有效時間

chage   -l     jack     #查看用戶jack的密碼策略

chage    -d    0    jack     #讓用戶jack密碼期限立即過期,重新登錄需要更換密碼

13)passwd  

passwd     #修改當前用戶的賬號密碼

passwd    jack    #修改jack賬號密碼   (僅限root賬號)

passwd  -e   jack   #強制jack用戶下次登錄修改密碼 (僅限root賬號)

echo    hello   |  passwd  --stdin   jack     #利用管道標准輸入,快速將jack用戶密碼修改成hello,無需輸入兩次新密碼,不檢驗密碼的復雜度

14)newgrp

newgrp     root       #將當前用戶的主組切換成root,原主組切換成附屬組,如果當前用戶的附屬組沒有root組,切換時需要輸入root組密碼;如果當前用戶的附屬組包含root組,則無需輸入組密碼,直接切換

15)gpasswd   

gpasswd    jack     #創建jack組密碼

gpasswd   -a  wang   jack    #將wang用戶添加至jack組里

16)groups

groups   jack      #查看用戶jack所屬的組列表

C. Linux命令之用戶組管理

Linux中每個用戶都要屬於一個或多個組,有了用戶組,就可以將用戶添加到組中,這樣就方便管理員對用戶的集中管理。 Linux系統中用戶組分為root組、系統組、普通用戶組三類。當一個用戶屬於多個組時,這些組中只能有一個作為該用戶的主屬組,其他組就被稱為此用戶的次屬組。 組基本信息在文件/etc/group中;組密碼信息在文件/etc/gshadow中。通過命令:cat /etc/group、cat /etc/gshadow可查看文件內容。

各用戶組中,以 ":" 作為欄位之間的分隔符,分為 4 個欄位,每個欄位對應的含義為:

組名:密碼:GID:該用戶組中的用戶列表

而在gshadow文件中,每行代表一個組用戶的密碼信息,各行信息用 ":" 作為分隔符,分為 4 個欄位,每個欄位的含義如下:

組名:加密密碼:組管理員:組附加用戶列表

root用戶可以直接修改/etc/group文件達到管理組的目的,也可以使用以下命令:groupadd、groupdel、groupmod -n、gpasswd -a、gpasswd -d、newgrp。

下面使用案例分別講解這些命令:

添加用戶組的命令是 groupadd,命令格式如下:

groupadd  [ -g gid  [ -o ] ]  [ -r ]  [ -f ]  group

參數說明:

        -g:指定新建工作組的 id;

        -r:創建系統工作組,系統工作組的組ID小於 500;

        -K:覆蓋配置文件 "/ect/login.defs";

        -o:允許添加組 ID 號不唯一的工作組。

        -f,--force: 如果指定的組已經存在,此選項將失明了僅以成功狀態退出。當與 -g 一起使用,並且指定的GID_MIN已經存在時,選擇另一個唯一的GID(即-g關閉)。

示例:創建一個新的組,並添加組 ID。

[root@VM-4-4-centos ~]# groupadd  -g  888  newgroup

此時在/etc/group文件中產生了一個id為888的項目:

刪除用戶組時,可用groupdel(group delete)指令來完成。倘若該組中仍包括某些用戶,則必須先刪除這些用戶後,方能刪除組。 注意:刪除的組不能為主屬組! 命令格式:

groupdel  [組名]         

示例:刪除用戶組 newgroup

[root@VM-4-4-centos ~]# groupdel  newgroup

此時再查看/etc/group文件時可以看到用戶組newgroup已經不存在,刪除成功!

要更改用戶組識別碼或名稱可使用 groupmod 來完成。命令格式:

groupmod  [ -g  <群組識別碼>  < -o > ] [ -n  <新群組名稱 > ] [原群組名稱]

參數說明 :

        -g <群組識別碼> 設置欲使用的群組識別碼。

        -o 重復使用群組識別碼。

        -n <新群組名稱> 設置欲使用的群組名稱。

示例:創建用戶組newgroup並修改其名稱為modifiedgroup

[root@VM-4-4-centos ~]# groupadd  newgroup

[root@VM-4-4-centos ~]# groupmod  -n  modifiedgroup  newgroup

查看/etc/group文件,只存在名稱為modifiedgroup的用戶組,修改成功!

gpasswd 是 Linux 下工作組文件 /etc/group 和 /etc/gshadow 管理工具,用於將一個用戶添加到組或者從組中刪除。命令格式:

gpasswd  [可選項]  組名

可選項參數 :

        -a:添加用戶到組;

        -d:從組刪除用戶;

        -A:指定管理員;

        -M:指定組成員和-A的用途差不多;

        -r:刪除密碼;

        -R:限制用戶登入組,只有組中的成員才可以用newgrp加入該組。

示例1:將用戶yangwei添加到組modifiedgroup中

[root@VM-4-4-centos ~]# gpasswd  -a  yangwei  modifiedgroup

此時查看/etc/group文件發現組 modifiedgroup中出現用戶yangwei

示例2:將用戶yangwei從組modifiedgroup中給刪除

[root@VM-4-4-centos ~]# gpasswd  -d  yangwei  modifiedgroup

再次查看/etc/group文件發現用戶yangwei已經不存在。

當需要在不同的群組下工作的時候我們需要進行切換群組操作,這個操作由newgrp指令來完成。命令格式如下:

newgrp [群組名稱]

注意!當前用戶必須都是兩個群組的成員,否則切換群組時需要輸入切換組的組密碼,這時候當前用戶作為臨時成員在切換組下工作,所創建的文件全都屬於切換組。

示例1:用戶yangwei不屬於群組modifiedgroup,請將當前工作組切換為modifiedgroup。

示例2:將用戶yangwei添加到組modifiedgroup中,並切換工作組為modifiedgroup。

總結:Linux用戶組管理需要掌握最基本的幾個命令及其選項參數: groupadd 、groupdel 、groupmod 、gpasswd 、newgrp !

D. Linux添加刪除用戶和用戶組

方法步驟:
1、創建用戶
adser phpq //新建phpq用戶
passwd phpq //給phpq用戶設置密碼
2、建工作組
groupadd tes //新建test工作組
3、新建用戶同時增加工作組
useradd -g test phpq //新增phpq用戶並增加到test工作組
註:-g所屬組 -d家目錄 -s所用的shell
4、給已有的用戶增加工作組
usermod -G groupname username或者gpasswd -a user group
5、臨時關閉
在/etc/shadow文件中屬於該用戶的行的第二個欄位(密碼)前面加上*就可以了,想恢復該用戶,去掉*即可,或者使用如下命令關閉用戶賬號:passwd
peter -I
重新釋放:passwd peter -u
6、永久性刪除用戶賬號
userdel peter、groupdel peter、usermod -G peter
peter(強制刪除該用戶的主目錄和主目錄下的所有文件和子目錄)
7、從組中刪除用戶
編輯/etc/group找到GROUP1那一行,刪除A,或者用命令gpasswd -d A GROUP
8、顯示用戶信息
id user、cat /etc/passwd

E. Linux 用戶(user)和用戶組(group)管理概述

一、理解linux的單用戶多任務,多用戶多任務概念;
linux
是一個多用戶、多任務的操作系統;我們應該了解單用戶多任務和多用戶多任務的概念;
1、linux
的單用戶多任務;
單用戶多任務;比如我們以beinan
登錄系統,進入系統後,我要打開gedit
來寫文檔,但在寫文檔的過程中,我感覺少點音樂,所以又打開xmms
來點音樂;當然聽點音樂還不行,MSN
還得打開,想知道幾個弟兄現在正在做什麼,這樣一樣,我在用beinan
用戶登錄時,執行了gedit
、xmms以及msn等,當然還有輸入法fcitx
;這樣說來就有點簡單了,一個beinan用戶,為了完成工作,執行了幾個任務;當然beinan這個用戶,其它的人還能以遠程登錄過來,也能做其它的工作。
2、linux
的多用戶、多任務;
有時可能是很多用戶同時用同一個系統,但並不所有的用戶都一定都要做同一件事,所以這就有多用戶多任務之說;
舉個例子,比如linuxSir.Org
伺服器,上面有FTP
用戶、系統管理員、web
用戶、常規普通用戶等,在同一時刻,可能有的弟兄正在訪問論壇;有的可能在上傳軟體包管理子站,比如luma
或Yuking
兄在管理他們的主頁系統和FTP
;在與此同時,可能還會有系統管理員在維護系統;瀏覽主頁的用的是nobody
用戶,大家都用同一個,而上傳軟體包用的是FTP用戶;管理員的對系統的維護或查看,可能用的是普通帳號或超級許可權root帳號;不同用戶所具有的許可權也不同,要完成不同的任務得需要不同的用戶,也可以說不同的用戶,可能完成的工作也不一樣;
值得注意的是:多用戶多任務並不是大家同時擠到一接在一台機器的的鍵盤和顯示器前來操作機器,多用戶可能通過遠程登錄來進行,比如對伺服器的遠程式控制制,只要有用戶許可權任何人都是可以上去操作或訪問的;
3、用戶的角色區分;
用戶在系統中是分角色的,在linux
系統中,由於角色不同,許可權和所完成的任務也不同;值得注意的是用戶的角色是通過UID和識別的,特別是UID;在系統管理中,系統管理員一定要堅守UID
唯一的特性;
root
用戶:系統唯一,是真實的,可以登錄系統,可以操作系統任何文件和命令,擁有最高許可權;
虛擬用戶:這類用戶也被稱之為偽用戶或假用戶,與真實用戶區分開來,這類用戶不具有登錄系統的能力,但卻是系統運行不可缺少的用戶,比如bin、daemon、adm、ftp、mail等;這類用戶都系統自身擁有的,而非後來添加的,當然我們也可以添加虛擬用戶;
普通真實用戶:這類用戶能登錄系統,但只能操作自己家目錄的內容;許可權有限;這類用戶都是系統管理員自行添加的;
4、多用戶操作系統的安全;
多用戶系統從事實來說對系統管理更為方便。從安全形度來說,多用戶管理的系統更為安全,比如beinan用戶下的某個文件不想讓其它用戶看到,只是設置一下文件的許可權,只有beinan一個用戶可讀可寫可編輯就行了,這樣一來只有beinan一個用戶可以對其私有文件進行操作,linux
在多用戶下表現最佳,linux能很好的保護每個用戶的安全,但我們也得學會linux
才是,再安全的系統,如果沒有安全意識的管理員或管理技術,這樣的系統也不是安全的。
從伺服器角度來說,多用戶的下的系統安全性也是最為重要的,我們常用的Windows
操作系統,它在系紡許可權管理的能力只能說是一般般,根本沒有沒有辦法和linux或Unix
類系統相比;
二、用戶(user)和用戶組(group)概念;
1、用戶(user)的概念;
通過前面對linux
多用戶的理解,我們明白linux
是真正意義上的多用戶操作系統,所以我們能在linux系統中建若干用戶(user)。比如我們的同事想用我的計算機,但我不想讓他用我的用戶名登錄,因為我的用戶名下有不想讓別人看到的資料和信息(也就是隱私內容)這時我就可以給他建一個新的用戶名,讓他用我所開的用戶名去折騰,這從計算機安全形度來說是符合操作規則的;
當然用戶(user)的概念理解還不僅僅於此,在linux系統中還有一些用戶是用來完成特定任務的,比如nobody和ftp
等,我們訪問linuxSir.Org
的網頁程序,就是nobody用戶;我們匿名訪問ftp
時,會用到用戶ftp或nobody
;如果您想了解linux系統的一些帳號,請查看
/etc/passwd

2、用戶組(group)的概念;
用戶和用戶組的對應關系是:一對一、多對一、一對多或多對多;
一對一:某個用戶可以是某個組的唯一成員;
多對一:多個用戶可以是某個唯一的組的成員,不歸屬其它用戶組;比如beinan和linuxsir兩個用戶只歸屬於beinan用戶組;
一對多:某個用戶可以是多個用戶組的成員;比如beinan可以是root組成員,也可以是linuxsir用戶組成員,還可以是adm用戶組成員;
多對多:多個用戶對應多個用戶組,並且幾個用戶可以是歸屬相同的組;其實多對多的關系是前面三條的擴展;理解了上面的三條,這條也能理解;
三、用戶(user)和用戶組(group)相關的配置文件、命令或目錄;
1、與用戶(user)和用戶組(group)相關的配置文件;
1)與用戶(user)相關的配置文件;
/etc/passwd
註:用戶(user)的配置文件;
/etc/shadow
註:用戶(user)影子口令文件;
2)與用戶組(group)相關的配置文件;
/etc/group
註:用戶組(group)配置文件;
/etc/gshadow
註:用戶組(group)的影子文件;
2、管理用戶(user)和用戶組(group)的相關工具或命令;

F. linux中文件擁有者去掉執行許可權,其他用戶加上讀寫許可權,同組用戶加上只讀許可權 命令是什麼

可以使用chmodfilename改變文件的許可權,可以使用chownfilename改變文件所屬的用戶和組。

Linux下許可權有三種,用戶許可權,組許可權,簡寬其他用戶。可以使用ls-lfilename會列出改文件的許可權。分別用rwx表示讀,寫和可執行三種許可權,

對於目錄:

r:可以對此目錄執行ls以脊氏列出內部的所有文櫻咐散件;

w:可以在此目錄創建文件;

x:可以使用cd切換進次目錄,也可以使用ls-l查看文件的詳細內容;

對於文件:

r:可讀,可以使用類似cat等命令查看文件內容;

w:可寫,可以編輯或刪除此文件;

x:可執行,eXecutable,可以命令提示符下當做命令提交給內核運行。

(6)linux文件用戶用戶組擴展閱讀

linux文件許可權命令

屬性為rwx,則對應的數字為4+2+1=7

屬性為rw-,則對應的數字為4+2=6

屬性為r-x,則對應的數字為4+1=5

d表示文件的類型,這個文件的類型為目錄

rwx表示文件擁有者的許可權是讀寫執行,

r-x表示與擁有者同組的用戶許可權為讀取和執行

r-x表示其他用戶的許可權也為讀取和執行

G. linux里 什麼叫用戶組

用戶組的作用就是
因為linux
是多人多任務系統
所有可能有很多人在主機人作業。
比如
有A
B
C
D
4個人
在linux主機上作業,
A
B
C
3個人
在做同一個項目
建了一個文件夾
這個文件只能A
B
C
3個人進入,不能讓其他用戶進入
,所有就出來用戶組了,
那麼那個D

是非用戶組了。

H. linux怎麼更改文件所屬用戶,用戶組

linux下修改文件用戶組

chgrp:changegroup的簡寫,修改文件所屬的用戶組。

修改後查看ls-l

如果要修改該目錄下所有文件和目錄,使用-R參數。

要被改變的group名,必須在/etc/group文件中。/etc/group文件記錄系統中所有的組名稱。

I. linux修改文件所屬用戶和組

linux怎麼修改文件所屬用戶和組?我們一起來了解一下吧。
1、首先打開linux系統。


本文章基於ThinkpadE15品牌、centos7系統撰寫的。
熱點內容
安卓手機怎麼反色 發布:2025-03-19 06:15:19 瀏覽:820
安卓開視頻時聲音小怎麼辦 發布:2025-03-19 06:08:18 瀏覽:578
文件伺服器訪問速度慢 發布:2025-03-19 05:45:36 瀏覽:636
python的下載與安裝 發布:2025-03-19 05:41:38 瀏覽:770
安卓怎麼用手電筒檢測換屏 發布:2025-03-19 05:30:33 瀏覽:674
蘋果6怎麼設置短密碼 發布:2025-03-19 04:44:41 瀏覽:20
三人樂隊怎麼配置 發布:2025-03-19 04:34:42 瀏覽:917
趣編程入口 發布:2025-03-19 04:25:09 瀏覽:942
a的存儲形式 發布:2025-03-19 04:24:00 瀏覽:792
android鍵盤修改 發布:2025-03-19 04:21:45 瀏覽:167