linux 使用者權限設定

來源:互聯網
上載者:User

標籤:c   java   a   int   get   com   

# useradd –d /usr/sam -m sam 

此命令建立了一個使用者sam,其中-d和-m選項用來為登入名稱sam產生一個主目錄/usr/sam(/usr為預設的使用者主目錄所在的父目錄)。 



假設目前使用者是sam,則下面的命令修改該使用者自己的口令: 

# passwd 

Old password:****** 

New password:******* 

Re-enter new password:******* 



如果是超級使用者,可以用下列形式指定任何使用者的口令: 

# passwd sam 

New password:******* 

Re-enter new password:******* 



>>參考1==================================== 

1、添加使用者 

首先用adduser命令添加一個普通使用者,命令如下: 
#adduser tommy  //添加一個名為tommy的使用者 
#passwd tommy   //修改密碼 
Changing password for user tommy. 
New UNIX password:     //在這裡輸入新密碼 
Retype new UNIX password:  //再次輸入新密碼 
passwd: all authentication tokens updated successfully. 
2、賦予root許可權 
方法一:修改 /etc/sudoers 檔案,找到下面一行,把前面的注釋(#)去掉 
## Allows people in group wheel to run all commands 
%wheel    ALL=(ALL)    ALL 
然後修改使用者,使其屬於root組(wheel),命令如下: 
#usermod -g root tommy 
修改完畢,現在可以用tommy帳號登入,然後用命令 su - ,即可獲得root許可權進行操作。 
方法二:修改 /etc/sudoers 檔案,找到下面一行,在root下面添加一行,如下所示: 
## Allow root to run any commands anywhere 
root    ALL=(ALL)     ALL 
tommy   ALL=(ALL)     ALL 
修改完畢,現在可以用tommy帳號登入,然後用命令 su - ,即可獲得root許可權進行操作。 




>>參考2==================================== 

用useradd新增的使用者不能直接用ssh遠端存取,需要修改ssh相關配置 
如下: 
vi /etc/ssh/sshd_config 
添加 

AllowUsers [email protected] admin 
多個使用者用空格隔開 

>>參考3==================================== 
如何讓普通使用者獲得root使用者的許可權執行操作而不需要知道root使用者的密碼或向root使用者進行切換呢?有一個命令sudo可以實現這個功能. 
Sudo的工作流程: 
(1)root使用者編輯/etc/sudoers檔案,添加要分配的普通使用者記錄,其中有這麼一行記錄:root ALL=(ALL) ALL,在這行後面添加:Sam ALL=(ALL) ALL 
(2) 那麼sam使用者在執行操作時,如果所執行的操作自己沒有許可權,則會去/etc/sudoers檔案中尋找是否有對應的記錄,如果有的話則臨時獲得root許可權,執行只有root才能執行的操作. 
注意:這裡會提示輸入密碼,但是輸入的是sam使用者的密碼,而不是root使用者的密碼.例如: 
Shell> sudo mkdir –p a/b/c/d 
We trust you have received the usual lecture from the local System 
Administrator. It usually boils down to these three things: 
#1) Respect the privacy of others. 
#2) Think before you type. 
#3) With great power comes great responsibility. 
Password: #這裡的密碼是sam使用者自己的密碼,而不是root的密碼 
幾個操作: 
1) 編輯/etc/sudoers檔案,使用visudo命令, 
Shell> visudo 
其實visudo命令也是調用vi去編輯sudoer檔案的,但是在儲存時會去檢查你修改後檔案的文法,如果錯誤是不能儲存的,但是如果直接用vi來編輯該檔案,強制儲存雖然成功,但是如果有語 
法錯誤這裡並不能給出提示,也就導致了後面sudo命令的不可用. 
2) 記錄解析: 
Sam ALL=(ALL) ALL 
使用者帳戶 登入的主機=(可以變換的身份) 可以下達的命令 
上述語句的意思是 sam使用者可以在任何地方登入,並可切換成任何使用者進行任何操作.這裡如果(ALL)不寫,唯寫為 sam ALL=ALL,他預設只能切換為root使用者. 



>>參考4==================================== 

linux chown命令參數及用法詳解--改變檔案的所有者: 

要變更檔 program.c 的所有者: chown jim program.c 
program.c 的使用者存取權限現在應用到 jim。作為所有者,jim 可以使用 chmod 命令允許或拒絕其他使用者訪問 program.c。 

要將目錄 /tmp/src 中所有檔案的所有者和組更改為使用者 john 和組 build:chown -R john:build /tmp/src 

如: tomcat的安裝目錄的所有者修改(#chown -R user:group /usr/java/tomcat5.5) 



>>參考5==================================== 

linux下添加,刪除,修改,查看使用者和使用者組 

1,建立組 

groupadd test 

增加一個test組 

2,修改組 

groupmod -n test2 test 

將test組的名子改成test2 

3,刪除群組 

groupdel test2 

刪除 組test2 

4,查看組 

a),查看當前登入使用者所在的組 groups,查看apacheuser所在組groups apacheuser 

b),查看所有組 cat /etc/group 

c),有的linux系統沒有/etc/group檔案的,這個時候看下面的這個方法 

cat /etc/passwd |awk -F [:] ‘{print $4}’ |sort|uniq | getent group |awk -F [:] ‘{print $1}’ 

這裡用到一個命令是getent,可以通過組ID來尋找組資訊,如果這個命令沒有的話,那就很難尋找,系統中所有的組了. 

二,使用者操作 

1,增加使用者 

查看複製列印? 

[[email protected] mytest]# useradd –help 

Usage: useradd [options] LOGIN 

Options: 

-b, –base-dir BASE_DIR       設定基本路徑作為使用者的登入目錄 

-c, –comment COMMENT         對使用者的注釋 

-d, –home-dir HOME_DIR       設定使用者的登入目錄 

-D, –defaults                改變設定 

-e, –expiredate EXPIRE_DATE 設定使用者的有效期間 

-f, –inactive INACTIVE       使用者到期後,讓密碼無效 

-g, –gid GROUP               使使用者只屬於某個組 

-G, –groups GROUPS           使使用者加入某個組 

-h, –help                    協助 

-k, –skel SKEL_DIR           指定其他的skel目錄 

-K, –key KEY=VALUE           覆蓋 /etc/login.defs 設定檔 

-m, –create-home             自動建立登入目錄 

-l,                           不把使用者加入到lastlog檔案中 

-M,                           不自動建立登入目錄 

-r,                           建立系統帳號 

-o, –non-unique              允許使用者擁有相同的UID 

-p, –password PASSWORD       為新使用者使用加密密碼 

-s, –shell SHELL             登入時候的shell 

-u, –uid UID                 為新使用者指定一個UID 

-Z, –selinux-user SEUSER     use a specific SEUSER for the SELinux user mapping 

[[email protected] mytest]# useradd --help 

Usage: useradd [options] LOGIN 



Options: 

-b, --base-dir BASE_DIR       設定基本路徑作為使用者的登入目錄 

-c, --comment COMMENT         對使用者的注釋 

-d, --home-dir HOME_DIR       設定使用者的登入目錄 

-D, --defaults                改變設定 

-e, --expiredate EXPIRE_DATE 設定使用者的有效期間 

-f, --inactive INACTIVE       使用者到期後,讓密碼無效 

-g, --gid GROUP               使使用者只屬於某個組 

-G, --groups GROUPS           使使用者加入某個組 

-h, --help                    協助 

-k, --skel SKEL_DIR           指定其他的skel目錄 

-K, --key KEY=VALUE           覆蓋 /etc/login.defs 設定檔 

-m, --create-home             自動建立登入目錄 

-l,                           不把使用者加入到lastlog檔案中 

-M,                           不自動建立登入目錄 

-r,                           建立系統帳號 

-o, --non-unique              允許使用者擁有相同的UID 

-p, --password PASSWORD       為新使用者使用加密密碼 

-s, --shell SHELL             登入時候的shell 

-u, --uid UID                 為新使用者指定一個UID 

-Z, --selinux-user SEUSER     use a specific SEUSER for the SELinux user mappinguseradd test 



passwd test 

增加使用者test,有一點要注意的,useradd增加一個使用者後,不要忘了給他設定密碼,不然不能登入的。 



2,修改使用者 

usermod -d /home/test -G test2 test 

將test使用者的登入目錄改成/home/test,並加入test2組,注意這裡是大G。 

gpasswd -a test test2 將使用者test加入到test2組 

gpasswd -d test test2 將使用者test從test2組中移出 



3,刪除使用者 

userdel test 

將test使用者刪除 



4,查看使用者 

a),查看當前登入使用者 

[[email protected] ~]# w 

[[email protected] ~]# who 



b),查看自己的使用者名稱 

[[email protected] ~]# whoami 



c),查看單個使用者資訊 

[[email protected] ~]# finger apacheuser 

[[email protected] ~]# id apacheuser 



d),查看使用者登入記錄 

[[email protected] ~]# last 查看登入成功的使用者記錄 

[[email protected] ~]# lastb 查看登入不成功的使用者記錄 



e),查看所有使用者 

[[email protected] ~]# cut -d : -f 1 /etc/passwd 

[[email protected] ~]# cat /etc/passwd |awk -F \: ‘{print $1}’ 




---------------------------------------------------------------- 
Linux下有三類使用者: 

1.超級使用者: root  具有作業系統的一切許可權, UID為0 

2.普通使用者:具有作業系統有限的許可權  UID為500—6000 

3.偽使用者: 是為了方便系統管理,滿足相應的系統進程檔案屬主的要求,不能登入系統,UID為1--499 





Linux通過 /etc/passwd進行使用者管理, 

執行命令開啟該檔案: vi   /etc/passwd 

在此檔案中只定義帳號,不定義口令。一行定義一個使用者,分為七個部分: 

第一列為帳號名稱, 

第二列為使用者密碼(密碼不在此定義), 

第三列為使用者標識碼(使用者ID),用來確認使用者身份 

第四列為使用者所在組的表示(使用者組ID), 

第五列為使用者相關資訊(如root), 

第六列為使用者家目錄(/root), 

第七列為使用者的環境(使用者使用的shell) 



shell:命令列命令解析器,如 echo  $SHELL,查看當前shell 

id  賬戶名,查看當前賬戶的uid 



改變所屬使用者組: 

chgrp  [-R]  dirname/filename .. 

-R: 進行遞迴(recursive)的持續更改,即連同子目錄下得所有檔案、目錄都更新成這個使用者組。常常用在更改某一目錄的情況 

eg:  chgrp  users install.log             //users為使用者組名 



變更檔擁有者: 

檔案擁有者必須已經存在於系統中們也就是在/etc/passwd這個檔案中有記錄的使用者名稱稱才可改變 

chown [-R]  帳號名稱:檔案或目錄 

chown [-R]  帳號名稱:使用者組名稱、檔案或目錄 



eg: chown bin install.log 

          chown root:root install.log 

當需要複製檔案給其他人時: 

      cp   源檔案  目的文 

eg:  cp   .bashrc   .bashrc_test 

        ls  -al  .bashrc* 





更改9個屬性: 



數字類型改變檔案許可權 



使用chmod命令改變檔案的屬性,屬性的設定方法有兩種,分別可以使用數字或者是符號: 

Linux 檔案的基本屬性有9個,分別是 owner/group/others組別的read/write/excute屬性。 

eg: -rwxrwxrwx中,三個為一組,其中可以使用數字來表示各個屬性,各屬性的對照表位: 

r:4 

w:2 

x:1 

將同一組(owner/group/others)的3個屬性(r/w/x)累加,如當前屬性為[-rwxrwx---],則是: 

owner=rwx=4+2+1=7 

group=rwx=4+2+1=7 

others= --- =0+0+0=0 

該屬性為770. 



更改屬性的命令chmod文法: 

chmod  [-R]  xyz  檔案或目錄 

xyz:就是數字類型的許可權屬性,為rwx屬性數值的和 



eg: 

  ls  -al  .bashrc 

  chmod  777  .bashrc 

  ls  -al  .bashrc 





符號類型改變檔案許可權 



可以通過u(user)、g(group)、o(others)來表示三組的屬性,a表示all,即全部的三組,讀寫屬性可以寫成r、w、x: 



chmod 











+(加入) 

-(除去) 

=(設定) 









檔案或目錄 



eg:  chmod  u=rwx,go=rx  .bashrc 

如果想把一個檔案屬性設定為 -rwxr-xr--,可以這樣: chmod  u=rwx,g=rx,o=r  filename 

如果不知道檔案的原先屬性,但想增加其的每人均可寫入的許可權,可以這樣: 

chmod  a+w  filename 

去掉所有人的x屬性: 

chmod  a-x  filename

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.