linux用户权限简介,Linux用户及权限管理
【文件管理、管道、用戶及組管理、用戶及權限管理】\用戶及組管理
用戶與組管理
Linux系統是一個多用戶多任務的分時操作系統,任何一個要使用系統資源的用戶,都必須首先向系統管理員申請一個賬號,然后以這個賬號的身份進入系統。用戶的賬號一方面可以幫助系統管理員對使用系統的用戶進行跟蹤,并控制他們對系統資源的訪問;另一方面也可以幫助用戶組織文件,并為用戶提供安全性保護。每個用戶賬號都擁有一個惟一的用戶名和各自的口令。用戶在登錄時鍵入正確的用戶名和口令后,就能夠進入系統和自己的主目錄。實現用戶賬號的管理,要完成的工作主要有如下幾個方面:
1.用戶賬號的添加、刪除與修改。
2.用戶口令的管理。
3.用戶組的管理。
Linux用戶分為兩種,分別是管理員(UID:0)和普通用戶(UID:1-65535),普通用戶又分為系統用戶與登錄用戶。
注:一個程序可以訪問哪些內容取決于這個程序的發行者是哪一個的。
linux組可分為管理員組(GID:0)與普通用戶組(1-60000)
注:CentOS6版本與centos7版本的UID與GID略有不同。
此外,用戶組還可以劃分為基本組(用戶在創建時默認創建一個與其名字相同的基本組)與附加組(除了已有的基本組以外,還可以添加其他組,其他組就是此用戶附加組)
所以組名通用戶名,且只包含一個用戶就叫做私有組,而組內包含多個用戶叫做公有組
Linux用戶和組相關的配置文件
用戶和用戶組相關的信息都存放在/etc/passwd,/etc/shadow,/etc/group以及/etc/gshadow文件下。下面分別介紹這些文件的具體內容。
1./etc/passwd
此文件下保存了用戶及其屬性信息。其中每條信息從左到右被冒號分割成了7個部分,username(用戶名):x(密碼占位符,真正的密碼自然不能放在這里了,太不安全了):UID(用戶ID):GID(用戶組ID):存放用戶的注釋信息:用戶家目錄:用戶默認使用的shell。
2./etc/shadow
此文件保存了用戶密碼及其相關屬性信息,其中每條信息從左到右被冒號分割成9個部分,用戶名:密碼(被加密過的,密碼中有“!”或者“*”用戶已被禁用):最近一次修改密碼的日期,自linux元年開始的天數(1970年1月1日開始):密碼最短使用時間:密碼最長使用時間:密碼告警時間(在密碼過期前n天進行告警,需要修改密碼了):不活動時間(超出警告時間后m天仍可登錄):失效時間(到達此時間,用戶無法使用):保留位暫不使用。
3./etc/group
此文件保存了用戶組及其屬性信息,每一行被冒號從左至右分割成了4個部分,組名(創建一個用戶就會創建一個同名的組):x組密碼占位符(與用戶密碼一樣也是存放在其他位置):GID:以逗號分隔的用戶列表,以此組為附加組的用戶的用戶列表。
4./etc/gshadow
此文件保存了組密碼及其相關屬性信息,每一行被冒號從左至右分割成了4個部分,組名(創建一個用戶就會創建一個同名的組):密文密碼(為空時只有該組成員可獲得權限,“!”與“*”則不需要密碼可直接加入):用戶組管理員(是逗號分隔的用戶列表,用戶組管理員可以修改密碼和組成員,也很組里其他成員擁有相同的權限):成員(以此組為附加組的用戶的用戶列表,應該要和/etc/group下的用戶列表一樣)
用戶與組相關管理常用命令
一、用戶創建:useradd
使用方法:useradd [options] login
常用選項:
-u:--uid UID:指定UID,定義在/etc/login.defs
-g:--gid GROUP:指明用戶基本組,可為組名也可以是GID
-G: GROUP1[,GROUP2,...[,GROUPN]]]:指定用戶所屬的附加組,組事先存在
-c:--comment COMMENT:用戶注釋信息
-d:/PATH/TO/ HOME_DIR:指定的路徑為用戶的家目錄:通過復制/etc/skel此目錄并重命名實現,指定的家目錄路徑如果事先存在,則不會為用戶復制環境配置文件
-s:--shell SHELL:指定用戶的默認shell,可用列表存放在/etc/shells下
-r:創建系統用戶。
注:默認值設定在/etc/default/useradd中??捎?useradd -D命令查看創建用戶的默認配置
二、創建組:groupadd
使用方法:groupadd [option]... ?group_name
常用選項:
-g GID:指明GID號
-r:創建系統組
三、查看用戶相關ID信息:id
使用方法:id [OPTION]... [USER]
常用選項:
-u: 僅顯示有效的UID
-g: 僅顯示用戶的基本組ID
-G:僅顯示用戶所屬的所有組的ID
四、切換用戶或以其他用戶身份執行命令:su
使用方法:su [options...] [-] [user [args...]]
切換用戶方式:
非登錄式切換,不會讀取目的用戶的配置文件進行初始化:su USERNAME
登錄式切換,會讀取目的用戶配置文件,完全切換:su - USERNAME或者su -l USERNAME
換身份執行命令:
su [-] username?-c ?'COMMADN'
五、用戶加密:passwd
使用方法:passwd[options]username:修改指定用戶密碼,僅root用戶有權限。
常用選項:
-l:鎖定指定用戶
-u:解鎖指定用戶
-n:mindays:指定最短使用期限
-x:maxdays:最大使用期限
-w:warndays:提前告警期限
-i:inactivedays:非活動期限
從標準輸入接收用戶密碼:echo “password” | passwd --stdin username
六、用戶屬性修改:usermod
使用方法:usermod [options] LOGIN
常用選項:
-u,UID:修改用戶的ID為新UID;
-g, --gid GROUP:修改用戶到新基本組;
-G, ?GROUP1[,GROUP2,...[,GROUPN]]]:修改用戶所屬的附加組;原來的附加組會被覆蓋;若保留原有,則同時使用-a選項(append)
-s,新的默認shell
-c, ?COMMENT:新的注釋信息;
-d, ?HOME_DIR:新的用戶家目錄;用戶原有的文件不會被轉移至新家目錄下;若要移動則使用-m選項。
-l, login name:新的用戶名;
-L,lock:鎖定用戶密碼;即在用戶原來的密碼字符串之前添加一個"!";
-U, --unlock:解鎖用戶的密碼;
七、刪除用戶:userdel
使用方式:userdel [options] LOGIN
常用選項-r:刪除用戶時一并刪除其家目錄,默認不刪除
八、組屬性修改:groupmod
使用方式:groupmod [options] GROUP
常用選項:
-g GID:新的GID
-n group_name:新組名
九、組刪除:groupdel
使用方式:groupdel GROUP
十、組密碼:gpasswd
使用方式:gpasswd [option] group
常用選項:
-a USER:將user添加至指定組
-d USER:刪除用戶以當前組命名的附加組
-A USER1,USER2,...:設置有管理權限的用戶列表
十一、修改用戶屬性:chage
使用方式:chage [options] LOGIN
常用選項:
-d:修改最后一次修改密碼的時間
-E:修改用戶失效時間
-I:修改密碼過期怒限時間
-W:修改告警天數
-m:修改密碼最小使用天數
-M:修改密碼最長使用天數
文件的權限
文件權限針對的對象是:
owner:屬主,u
group:屬組,g
other:其他,o
對于文件而言:
文件可讀(r):可以查看其內容。
文件可寫(w):可修改文件內容。
文件可執行(x):可以把文件提請內核啟動為一個進程。
對于目錄而言:
目錄可讀(r):可以使用ls查看目錄中文件列表
目錄可寫(w):可在此目錄中創建或刪除文件
目錄可執行(x):可以使用ls-l查看目錄中文件,可以cd進目錄。
權限管理類命令
一、修改文件權限(chmod)
使用方法:
1. chmod [OPTION]... MODE[,MODE]... FILE...
可以直接將rwx直接賦值給相應的用戶類型:u為屬主,g為屬組,o為其他用戶,a為所有用戶(同ugo=---)
或者直接操作一類用戶的一個權限位(u+x,o-r)
2.chmod [OPTION]... OCTAL-MODE FILE...
直接使用八進制來修改r=4,w=2,x=1.其中-R可遞歸修改權限。
3.chmod [OPTION]... --reference=RFILE FILE..
參考其他文件的權限
查看文件權限
[root@localhost/]# ll -lh /dj
total 16K-rw-r--r-- 1 root root 51 Jun 14 10:36hello_world.py-rw-r--r-- 1 root root 92 Jun 15 10:00name_daxiaoxie.py-rw-r--r-- 1 root root 84 Jun 15 09:44name.py-rw-r--r-- 1 root root 359 Jul 23 02:48test.py
修改權限
[root@localhost/]# chmod 775 /dj/hello_world.py
[root@localhost/]# ll -lh /dj
total 16K-rwxrwxr-x 1 root root 51 Jun 14 10:36hello_world.py-rw-r--r-- 1 root root 92 Jun 15 10:00name_daxiaoxie.py-rw-r--r-- 1 root root 84 Jun 15 09:44name.py-rw-r--r-- 1 root root 359 Jul 23 02:48test.py
使用第三種方式
[root@localhost/]# chmod --reference=/dj/hello_world.py /dj/test.py
[root@localhost/]# ll -lh /dj
total 16K-rwxrwxr-x 1 root root 51 Jun 14 10:36hello_world.py-rw-r--r-- 1 root root 92 Jun 15 10:00name_daxiaoxie.py-rw-r--r-- 1 root root 84 Jun 15 09:44name.py-rwxrwxr-x 1 root root 359 Jul 23 02:48test.py
[root@localhost/]#
二、修改文件的屬組屬主(僅使用root用戶)
1.修改屬主(chown)
使用方式:chown[OPTION]...[OWNER][:[GROUP]]FILE...或使用--referrence
chown owner|owner:group|:group file (其中:可用.替換,并且可以使用-R遞歸更換)
2.修改屬組(chgrp)
chgrp[option]...group file或--referrence方式
3.文件或目錄創建時的遮罩碼:umask
file:666-umask(若某類用戶權限減得結果中存在x權限則將其權限+1)
dir:777-umask
umask:查看當前值
umask#:設定值
總結
以上是生活随笔為你收集整理的linux用户权限简介,Linux用户及权限管理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: matlab 求n 的和,MATLAB求
- 下一篇: lighttpd sqlite3 php