一、查看身份
id:Display user identity.
這個命令的輸出會顯示uid,gid和用戶所屬的組。
uid即user ID,這是賬戶創建時被賦予的。
gid是primary group ID,是主要的組的id。當然這個用戶也可以屬於其他更多的組。
用戶賬戶信息被定義在 /etc/passwd文件中,組信息被定義在/etc/group文件中。
二、chmod
命令名稱:chmod
命令英文原意:change the permissions mode of a file
命令所在路徑:/bin/chmod
語法:chmod [{ugo}{+-=}{rwx}][文件或目錄][mode=421][文件或目錄]
功能描述:改變文件或目錄權限。
用戶類型:
u:user,實際上指所有者
g:group所屬組
o:others其他人
a:all所有人,即ugo的組合,如果不指定用戶類型,默認是all。
+增加權限,-去掉權限,=直接賦予權限
r可讀,w可寫,x可執行。
具體對文件和文件夾有不同意義,比如一個叫doc的文件,給所有者加上wx權限:chmod u+wx doc
三、用數字表示權限
代碼如下:
r-4
w-2
x-1
將每一組的權限數字加起來作為整組的權限,比如:
rwx是7,r-x是5,r--是4
那麼rwxr-xr--可以表示為754
比較常用的數字:7 (rwx), 6 (rw-), 5 (r-x), 4 (r--), 0 (---)
四、umask命令
umask命令功能:顯示、設置文件的缺省權限。
umask命令語法:umask [-S]
-S:以rwx形式顯示新建文件或目錄的缺省權限。
執行umask:
顯示0022
第一個0:特殊權限位
022用戶權限位,權限掩碼值。
需要用777減去022,得到755,三個數字分別表示ugo(user,group,others)的權限。
umask –S:
u=rwx,g=rx,o=rx
Linux權限規則:
缺省創建的文件不能授予可執行x權限,這點是為了安全著想,文件默認是不能執行的。
可以用umask改變默認權限,用umask加上掩碼值的形式。
比如想把權限改為750,要用777減去750,及umask 027命令。
五、改變身份Changing Identities
在Linux中可以用三種方式改變自己當前的身份:
1.登出,然後用另一個賬號登入(…orz…)。
2.使用su命令。
3.使用sudo命令。
A:su
su:Run a Shell with Substitute User and Group IDs.
su [-[l]] [user]
如果使用了-l選項(經常被簡寫為-),結果就是一個login shell。
意思是用戶user的環境會被載入,當前的工作路徑會被換為這個用戶的home路徑。如果沒有指定用戶,默認是superuser。
當執行su –之後,需要輸入superuser的密碼,輸入成功之後,會開啟一個新的shell,命令提示符將會變為#(之前是$),並且當前的工作目錄變為superuser的home目錄(/root),結束後如果要退出,輸入exit,就會回到之前的shell。
也可以直接執行一條命令:
代碼如下:
su –c ‘command’
需要把命令放在引號裡,以作區分。
B:sudo
sudo:Execute a Command as Another User.
sudo和su類似,有一些附加的屬性,管理員可以配置sudo,在良好的控制下,讓普通用戶以不同的身份執行命令。
一個用戶可能被限制在一些特定的命令中,不能執行其他。
另一個不同就是sudo不要求知道superuser的密碼,只需要知道當前用戶的密碼,輸入密碼後,完成認證,sudo不會新開一個shell,也不會載入另一個用戶的環境,命令也不需要被引號括起來。這種行為可以通過各種選項覆寫,可以查看sudo的man page。
sudo –l可以查看sudo所賦予的權限。
六、改變所有者和所屬組
改變所有者:chown
命令英文原意:change file ownership
語法:chown [用戶] [文件或目錄]
功能:改變文件或目錄的所有者。
改變所屬組:chgrp
命令英文原意:change file group ownership
語法:chown [用戶組] [文件或目錄]
功能:改變文件或目錄的所屬組。
chown命令也可以用於改變所屬組。
代碼如下:
chown [owner][:[group]] file...
七、更改密碼
passwd [user]
重置密碼時,需要輸入舊的密碼。
如果你有superuser的權限,你還可以設置其他用戶的密碼。
另一些選項可以設置賬戶鎖定,密碼過期等,詳細信息可以查看passwd的man page。