① linux修改文件所屬用戶和組
linux怎麼修改文件所屬用戶和組?老悉我們一起來了解一下吧。② Linux查看用戶所屬的組的命令
Linux查看用戶所屬的組的命令的方法。
如下參考:
1.首先打開終端(在本例中是Ubuntu系統),然後為其打開命令界面。
③ 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 !
④ 如何在linux上用命令實現用戶和組的管理
linux上用戶和組的管理一般使用user和group相關命令管理
用戶管理:
1、添加新的用戶賬號
使用useradd命令,其語法如下:
useradd
選項
用戶名
其中各選項含義如下:
-c
comment
指定一段注釋性描述。
-d
目錄
指定用戶主目錄,如果此目錄不存在,則同時使用-m選項,可以創建主目錄。
-g
用戶組
指定用戶所屬的用戶組。
-G
用戶組,用戶組
指定用戶所屬的附加組。
-s
Shell文件
指定用戶的登錄Shell。
-u
用戶號
指定用戶的用戶號,如果同時有-o選項,則可以重復使用其他用戶的標識號。
用戶名
指定新賬號的登錄名。
2、刪除用戶
使用userdel命令,
其格式如下:
如果一個用戶的賬號不再使用,可以從系統中刪除。刪除用戶賬號就是要將/etc/passwd等系統文件中的該用戶記錄刪除,必要時還刪除用戶的主目錄。刪除一個已有的用戶賬號使用userdel命令,其格式如下:
userdel
選項
用戶名
常用的選項是-r,它的作用是把用戶的主目錄一起刪除。
3、修改用戶
使用usermod命令,
其格式如下:
修改用戶賬號就是根據實際情況更改用戶的有關屬性,如用戶號、主目錄、用戶組、登錄Shell等。
修改已有用戶的信息使用usermod命令,其格式如下:
usermod
選項
用戶名
常用的選項包括-c,
-d,
-m,
-g,
-G,
-s,
-u以及-o等,這些選項的意義與useradd命令中的選項一樣,可以為用戶指定新的資源值。
用戶組的管理
1、增加一個新的用戶組
使用groupadd命令,
其格式如下:
groupadd
選項
用戶組
可以使用的選項有:
-g
GID
指定新用戶組的組標識號(GID)。
-o
一般與-g選項同時使用,表示新用戶組的GID可以與系統已有用戶組的GID相同。
2、刪除一個已有的用戶組
使用groupdel命令,
其格式如下:
groupdel
用戶組
3、修改用戶組的屬性
使用groupmod命令。
其語法如下:
groupmod
選項
用戶組
常用的選項有:
-g
GID
為用戶組指定新的組標識號。
-o
與-g選項同時使用,用戶組的新GID可以與系統已有用戶組的GID相同。
-n新用戶組
將用戶組的名字改為新名字
⑤ 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