linux附屬組
❶ linux中用戶怎麼加入附屬組
可以使用usermod命令。usermod可用來修改用戶帳號的各項設定。
需要使用的參數:
-G|--groups
##把用戶追加到某些附屬組中,僅與-a選項一起使用
用法示例:
將user1用戶加入到group1組當中
$
usermode
-aG
group1
user1
❷ linux一個用戶可以有主組和附屬組,那麼該用戶創建的文件所屬組只能是主組嗎
可以實現
setfacl
設置文件訪問控制列表
❸ 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所屬的組列表
❹ Linux 中附屬組和主組的區別
在使用useradd命令創建用戶的時侯可以用-g 和-G 指定用戶所屬組和附屬組。
基本組:如果沒有指定用戶組,創建用戶的時候系統會默認同時創建一個和這個用戶名同名的組,這個組就是基本組,不可以把用戶從基本組中刪除。在創建文件時,文件的所屬組就是用戶的基本組。
附加組:除了基本組之外,用戶所在的其他組,都是附加組。用戶是可以從附加組中被刪除的。
用戶不論為與基本組中還是附加組中,就會擁有該組的許可權。一個用戶可以屬於多個附加組。但是一個用戶只能有一個基本組。
❺ Linux的介紹與應用
體系結構主要分為用戶態的內核態。所謂內核本質上是一段管理計算機硬體設備的程序。所謂用戶態上層應用程序的活動空間。內核必須為上層應用提供資源,CPU,存儲,IO資源,這被稱為系統調用,系統調用是不能被簡化的操作,其他復雜調用都是多個系統調用組合的結果。
我們要查看所有的系統調用,可以使用命令
所得到的列表如下
其中 2 代表的意思是系統調用, 3 指的是公共庫函數。公共庫函數是封裝系統調用,一組定義好的系統調用的組合。
Shell 是指一種應用程序,這個應用程序提供了一個界面,用戶通過這個界面訪問操作系統內核的服務。
Linux 的 Shell 常見的有:
在指定目錄下查找文件。
find + 路徑 + -name + 「文件名」
之上的命令使用遞歸查找的方式查找到了 test 文件。如果我們想全局搜索則使用
當然find指令也支持表達式如果要查找所有以test開頭的問題,查找方式可以使用
* 表示通配符,可以實現模糊查詢。
如果要忽略大小寫查詢可以使用
對於grep使用過Linux的人基本都有接觸過。下面列舉一下grep的一些常用操作。
Linux系統用戶是根據用戶ID來識別的,默認ID長度為32位,用戶ID限制在60000以下。
linux系統中的用戶組(group)就是具有相同特性的用戶(user)集合,通過組可以更加方便的管理用戶,每個組擁有一個GroupID,每個用戶屬於一個主組,屬於一個或多個附屬組,一個用戶最多有31個附屬組。
Linux許可權是操作系統用來限制對資源訪問的機制,許可權一般分為讀、寫、執行。系統中每個文件都擁有特定的許可權、所屬用戶及所屬組,通過這樣的機制來限制哪些用戶或用戶組可以對特定文件進行相應的操作,Linux許可權授權,默認是授權給三種角色,分別是user、group、other(其他用戶)。
test目錄詳解如下:
d 表示目錄,同一位置如果為-則表示普通文件;
rwxr-xr-x 表示三種角色的許可權,每三位為一種角色,依次為u,g,o許可權,如上則表示user的許可權為rwx,group的許可權為r-x,other的許可權為r-x;
2表示文件夾的鏈接數量,可理解為該目錄下子目錄的數量;
4096表示該文件夾占據的位元組數;
+、-、=代表加入、刪除和等於對應許可權
授予用戶、組、其他人對test目錄擁有rwx許可權
撤銷用戶、組、其他人對test目錄擁有x許可權
Linux許可權可以將rwx用二進制來表示,其中有許可權用1表示,沒有許可權用0表示。
Linux許可權用二進制顯示如下:
rwx=111
r-x=101
rw-=110
r--=100
依次類推,轉化為十進制,對應十進制結果顯示如下:
rwx=111=4+2+1=7
r-x=101=4+0+1=5
rw-=110=4+4+0=6
r--=100=4+0+0=4
得出結論,用r=4,w=2,x=1來表示許可權。
所以我們有時候使用
為文件賦予所有許可權。
除了普通許可權,Linux還有三個特殊許可權
❻ 基本組和附屬組有什麼區別 Linux
Linux系統以組Group方式管理用戶,用戶和組的對應關系為多對多,即某個用戶可加入/屬於一個或多個組,某個組可以有0個、1個或多個用戶。
組的分類
從用戶的角度,分為主組和附屬組。
主組:也被稱為primary group、first group或initial login group,用戶的默認組,用戶的gid所標識的組。
附屬組:也被稱為Secondary group或supplementary group,用戶的附加組。
通過id命令可查看當前用戶的主組和附屬組
[root@localhost ~]# id root
uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel)
[root@localhost ~]# id gg
uid=503(gg) gid=503(gg) groups=503(gg)
[root@localhost ~]# id mm
uid=502(mm) gid=500(jww) groups=500(jww)
gid標識主組,groups表示用戶所屬的全部組(主組和附屬組)
1. 用戶必須有且只能有一個主組,可以有0個、1個或多個附屬組,就如我們一定會有一個用來安家的房子(類同主組),還可以有n個用於投資或其他打算的房子(附屬組)。
2. 主組也為默認組,當用戶own某個文件或目錄時,默認該文件或目錄的group owner為該用戶的主組(當然,可以通過chgrp修改group owner)。
3. 在/etc/passwd文件中,記錄行第四個欄位為gid,即用戶的主組id。
4. 在/etc/group文件中,記錄行第四個欄位為組的成員,不顯示將該組作為主組的組成員,只顯示將該組作為附屬組的組成員,因此,/etc/group的記錄行的第四個欄位沒有完整地列出該組的全部成員。
5. 當通過useradd命令創建新用戶時,可以通過-g參數指定已存在的某個組為其主組,若沒有使用-g參數,
則系統自動創建名稱和用戶名相同的組作為該用戶的主組(前提是variable in /etc/login.defs的USERGROUPS_ENAB屬性值為yes),如命令手冊的useradd關於-g參數的描述所示:
-g, --gid GROUP
The group name or number of the user′s initial login group. The
group name must exist. A group number must refer to an already
existing group.
If not specified, the bahavior of useradd will depend on the
USERGROUPS_ENAB variable in /etc/login.defs. If this variable is
set to yes (or -U/--user-group is specified on the command line), a
group will be created for the user, with the same name as her
loginname. If the variable is set to no (or -N/--no-user-group is
specified on the command line), useradd will set the primary group
of the new user to the value specified by the GROUP variable in
/etc/default/useradd, or 100 by default.
另外,可通過usermod -g 將普通用戶的主組/gid設置為系統中存在的任意某個組(永久性);
也可以通過newgrp暫時性變更當前用戶的主組/gid(只對於當前login session有效,非永久性)。
通過usermod -G 設置普通用戶的附屬組。
❼ linux下基本組和附屬組有什麼區別
基本組:創建用戶的時候系統會同時創建一個和這個用戶名同名的組,這個組就是基本組,不可以把用戶從基本組中刪除。
附加組:除了基本組之外,用戶所在的其他組,都是附加組。用戶是可以從附加組中被刪除的。
一個用戶可以屬於多個附加組。但是一個用戶只能有一個基本組。
就像樓上說的,一個孩子誕生了,他的基本組就是親生父母;他的附加組就是其他的乾爹干媽。就這個意思。
❽ linux中的目錄只有一個所屬組吧有沒有附數組
目錄文件的屬性分:所屬用戶、所屬組、其他用戶,這三類,其他組屬於其他用戶的范疇。
❾ Linux用戶組管理
在創建用戶時不會創建附屬組,附屬組只能通過命令創建
使用命令groupadd創建一個附屬組,也可以在命令中添加參數 -g 指定組id,組id設置的時候應該大於1000,不能重復,重復有可能導致系統無法啟動
groupadd這個命令並不能將用戶添加進用戶組中去,我們如何把用戶添加進用戶組中呢?
使用命令gpasswd加參數-a向一個用戶組中添加用戶,如果不加-a的話默認是修改或者設置組密碼,使用到組密碼的場景很少,至少我沒有碰見過。
使用命令gpasswd和參數-d把一個用戶從一個用戶組中移除
刪除組可以使用groupdel刪除組
用戶有自己的配置文件,組也有自己的配置文件,組的配置文件主要保存了組名稱,組密碼、組ID和組成員,這個配置文件統一保存在/etc/group文件中並以: 作為分隔符
❿ linux 查看文件的附屬組,不是所屬組,用groups 用戶名只是查看用戶,我想具體看某個文件的附屬組
我試了試,文件只有一個所屬組,不能有附屬組,用戶可以有多個組,文件所屬組ls -l 就能看到