最近在用虛擬機,安裝了centos,如今想新添加一個用戶,在網上找了找方法。【原文連接】html
# 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====================================
一、添加用戶
首先用adduser命令添加一個普通用戶,命令以下:
#adduser tommy //添加一個名爲tommy的用戶
#passwd tommy //修改密碼
Changing password for user tommy.
New UNIX password: //在這裏輸入新密碼
Retype new UNIX password: //再次輸入新密碼
passwd: all authentication tokens updated successfully.
二、賦予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 root@192.168.1.32 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,增長用戶
查看複製打印?
[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}’java