linux文件夾用戶組
1. linux怎麼更改文件所屬用戶,用戶組
linux下修改文件用戶組
chgrp:changegroup的簡寫,修改文件所屬的用戶組。
修改後查看ls-l
如果要修改該目錄下所有文件和目錄,使用-R參數。
要被改變的group名,必須在/etc/group文件中。/etc/group文件記錄系統中所有的組名稱。
2. linux修改文件所屬用戶和組
linux怎麼修改文件所屬用戶和組?我們一起來了解一下吧。1、首先打開linux系統。
本文章基於ThinkpadE15品牌、centos7系統撰寫的。
3. 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所屬的組列表
4. 如何更改linux文件的擁有者及用戶組
一、基本知識
在Linux中,創建一個文件時,該文件的擁有者都是創建該文件的用戶。該文件用戶可以修改該文件的擁有者及用戶組,當然root用戶可以修改任何文件的擁有者及用戶組。在Linux中,對於文件的許可權(rwx),分為三部分,一部分是該文件的擁有者所擁有的許可權,一部分是該文件所在用戶組的用戶所擁有的許可權,另一部分是其他用戶所擁有的許可權。對於文件的許可權請參考《Linux的chmod命令》
文件(含文件夾,下同)的許可權,在shell中可以通過chmod命令來完成,關於此請參考《Linux的chmod命令》。在shell中,可以使用chown命令來改變文件所有者及用戶組,chgrp命令來改變文件所在用戶組。在 Linux的C程序中,可以使用chown函數來改變文件所有者,及所中差在用戶組。
另外,在shell中,要修改文件當前的用戶必須具有管理員root的許可權。可以通過su命令切換到root用戶,也可以通過sudo獲得root的許可權。
二、使用chown命令更改文件擁有者
在 shell 中,可以使用chown命令來改變文件所有者。chown命令是change owner(改變擁有者)的縮寫。需要要注意的是,用戶必須是已經存在系統中的,也就是只能改變為在 /etc/passwd這個文件中有記錄的用戶名稱才可以。
chown命令的用途很多,還可以順便直接修改用戶組的名稱。此外,如果要連目錄下的所有子目錄或文件同時更改文件擁有者的話,直接加上-R的參數即可。
基本語法:
chown[-R]賬號名稱文件或目錄
chown[-R]賬號名稱:用戶組名稱文件或目錄
參數:
-R: 進行遞歸( recursive )的持續更改,即連同子目錄下的所有文件、目錄
都更新成為這個用戶組。常常用在更改某一目錄的情況。
示例1:
[root@localhost home]#touchtestfile//由 root 用戶創建文件
[root@localhost home]#lstestfile–l
-rw--w--w- 1 root root 0 Jun 7 19:35 testfile//文件的擁有者及擁有者級均為 root
[root@localhost home]#chownyangzongdetestfile//修改文件擁有者為 yangzongde
[root@localhost home]#lstestfile-l
-rw--w--w- 1 yangzongde root 0 Jun 7 19:35 testfile//查看文件擁有者為 yangzongde,但賣梁皮組仍為 root
示例2:渣余
chownbininstall.log
ls-l
-rw-r--r-- 1 bin users 68495 Jun 25 08:53 install.log
chownroot:rootinstall.log
ls -l
-rw-r--r-- 1 root root 68495 Jun 25 08:53 install.log
三、使用chgrp命令更改文件所屬用戶組
在shell中,可以使用chgrp命令來改變文件所屬用戶組,該命令就是change group(改變用戶組)的縮寫。需要注意的是要改變成為的用戶組名稱,必須在/etc/group里存在,否則就會顯示錯誤。
基本語法:
chgrp[-R]
1.linux中管理員和文件的屬主可以通過chmod更改文件的許可權.chmod 有兩種表示方法:文字和數字設定法.
g 就是組group,+是添加許可權.r是read讀. o是其他人other(非文件所有者和文件所有者所在組以外的其他人)
chmod g+r,o+r aaa.txt 就是給同組人,以及其他人對文件aaa.txt讀的許可權.
2.chmod n1n2n3 文件或者目錄名 750中7是表示的屬主(文件所有者)具有讀,寫和執行的許可權,5是文件所有者所在的組的許可權,5表示有讀和執行的許可權,表示文件屬主所在組的同組人有讀和執行的許可權,沒有對文件寫入的許可權.其他人沒有許可權.
5. linux里 什麼叫用戶組
用戶組的作用就是
因為linux
是多人多任務系統
所有可能有很多人在主機人作業。
比如
有A
B
C
D
4個人
在linux主機上作業,
A
B
C
3個人
在做同一個項目
建了一個文件夾
這個文件只能A
B
C
3個人進入,不能讓其他用戶進入
,所有就出來用戶組了,
那麼那個D
就
是非用戶組了。
6. linux下怎麼改文件夾的所屬組
1、打開自己的linux系統。
7. 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
8. linux怎麼更改文件所屬用戶,用戶組
chown [-R] 賬號名稱 文件或目錄
chown [-R] 賬號名稱:用戶組名稱 文件或目錄
參數:
-R : 進行遞歸( recursive )的持續更改,即連同子目錄下的所有文件、目錄
都更新成為這個用戶組。常常用在更改某一目錄的情況。
示例1:
[root@localhost home]# touch testfile //由 root 用戶創建文件
[root@localhost home]# ls testfile –l
-rw--w--w- 1 root root 0 Jun 7 19:35 testfile //文件的擁有者及擁有者級均為 root
[root@localhost home]# chown yangzongde testfile //修改文件擁有者為 yangzongde
[root@localhost home]# ls testfile -l
-rw--w--w- 1 yangzongde root 0 Jun 7 19:35 testfile //查看文件擁有者為 yangzongde,但組仍為 root
9. 如何更改linux文件的擁有者及用戶組
使用命令chown
基本格式
chown user:[group] file
其中user為用戶名,group為用戶組名,file為文件或者文件夾,[]中的內容表示可選。
簡單例子與說明:
chown user1:group1 file1
把當前文件夾下的file1的所有者改為user1,所有者用戶組改為group1
下面為chown命令的詳細,請參考:
Linux chown命令詳解使用格式和方法
指令名稱 : chown 使用許可權 : root
使用方式 : chown [-cfhvR] [--help] [--version] user[:group] file…
利用 chown 可以將檔案的擁有者加以改變。這個指令只有是由系統管理者(root)所使用,一般使用者沒有許可權可以改變別人的檔案擁有者,也沒有許可權可以自己的檔案擁有者改設為別人。只有系統管理者(root)才有這樣的許可權。
參數:
-c或-change:作用與-v相則激似,但只傳回修改的部分
-f或–quiet或–silent:不顯示錯誤信息
-h或–no-dereference:只對符號鏈接的文件做修改,而不更改其他任何相關文件
-R或-recursive:遞歸處理,將指定目錄下的所有文件及子目錄一並處理
-v或–verbose:顯示指令執行過程
–dereference:作用和-h剛好相反
–help:顯示在線說明
–reference=<參考文件或目錄>:把指定文件或目錄的所有者與所屬組,統統設置成和參考文件或目錄的所有者與所屬組相同
–version:顯示版本信息
chown命令使用舉例:(像我用的vps,就要先ssh登錄)
# chown [-R] [用戶名稱] [文件或目錄]
# chown[-R] [用戶名稱:組名稱] [文件或目錄]
範例1:將test3.txt文件的屬主改為test用戶。
# ls -l test3.txt
-rw-r–r– 1 test root 0 2009-10-23 9:59 test3.txt
# chown test:root test3.txt
# ls -l test3.txt
-rw-r–r– 1 test root 0 2009-10-23 9:59
範例2:chown所接的新的屬主和新的屬組之間可以使用:連接,屬主和屬組之一可以為空。如果屬主為空,應該是「:屬組」;如果屬組為空,「:」可以不用帶上。
# ls -l test3.txt
-rw-r–r– 1 test root 0 2009-10-23 9:59 test3.txt
# chown :test test3.txt <==把文件test3.txt的屬組改為test
# ls -l test3.txt
-rw-r–r– 1 test test 0 2009-10-23 9:59 test3.txt
範例3:chown也提供了-R參數,這個參數對目錄改變屬主和屬組極為有用,可以通過加 -R參數來改變某個目錄下的所有文件孫舉襪到新的屬主或屬組。
# ls -l testdir <== 查看testdir目錄屬性
drwxr-xr-x 2 usr root 0 2009-10-56 10:38 testdir/ <==文件屬主是usr用戶,屬組是 root用戶
# ls -lr testdir <==查看testdir目錄下所有文件及其屬性
total 0
-rw-r–r– 1 usr root 0 2009-10-23 10:38 test1.txt
-rw-r–r– 1 usr root 0 2009-10-23 10:38 test2.txt
-rw-r–r– 1 usr root 0 2009-10-23 10:38 test3.txt
# chown -R test:test testdir/ <==修改testdir及它的下級目錄和所有文件到新的用戶和答逗用戶組
# ls -l testdir
drwxr-xr-x 2 test test 0 2009-10-23 10:38 testdir/
# ls -lr testdir
total 0
-rw-r–r– 1 test test 0 2009-10-23 10:38 test1.txt
-rw-r–r– 1 test test 0 2009-10-23 10:38 test2.txt
-rw-r–r– 1 test test 0 2009-10-23 10:38 test3.txt
10. Linux中如何創建用戶和用戶組
Linux中創建用戶和用戶組的具體操作步驟如下:
1、首先我們在Linux系統命令行中輸入groupadd命令,用它創建一個用戶組。