天天看點

linux 添加使用者、權限 - !!!!!!!!!!! - 部落格園

linux 添加使用者、權限 - !!!!!!!!!!! - 部落格園

# 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.cprogram.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,增加使用者

檢視複制列印?

[root@krlcgcms01 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

[root@krlcgcms01 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),檢視目前登入使用者

[root@krlcgcms01 ~]# w

[root@krlcgcms01 ~]# who

b),檢視自己的使用者名

[root@krlcgcms01 ~]# whoami

c),檢視單個使用者資訊

[root@krlcgcms01 ~]# finger apacheuser

[root@krlcgcms01 ~]# id apacheuser

d),檢視使用者登入記錄

[root@krlcgcms01 ~]# last 檢視登入成功的使用者記錄

[root@krlcgcms01 ~]# lastb 檢視登入不成功的使用者記錄

e),檢視所有使用者

[root@krlcgcms01 ~]# cut -d : -f 1 /etc/passwd

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

作者:少帥

繼續閱讀