sudo 詳解、用戶以及組的創建刪除。

一、用戶名文件。

root:x:0:0:root:/root:/bin/bash

共7部分。

1,用戶名。

2,存放的是該帳號的口令,(密碼)現存於/etc/shadpw/,所以現在用X表示。

3,代表用戶標示號, uid

4,組 標示號,gid

5,註釋說明。沒有實際意義

6,用戶的加目錄。

7,用戶的shell。

二、密碼文件

user1:$6$X/dAMmCG$uLvF2l/Df/TgldEWVc7lL93bVxjKDpLStDWYcMD0DdN7a/VUwdl1PcEhYBOjTwOQd4JynfS/Vo53gwRJULW/j0:17090:0:99999:7:::

共9個字段

1,用戶名。

2,用戶密碼。(加密了)

3,從1970年1月1日 到 上次更改密碼的時間。 17090天

4,要過多少天纔可以更改密碼。默認是0.即不限制,

5,密碼多少天后到期。即 在多少天內必須更改密碼。默認9999

6,密碼到期前的預警。設置爲7,即密碼到期前7天時發出警告。

7,賬戶失效期限。

8,賬號的生命週期。

9,作爲保留,沒什麼意義。

三、增加和刪除用戶以及組

#groupadd 組名

#groupadd -g 組名  設定改組的gid

#groupdel 組名    刪除改組

#useradd 用戶名  

#useradd -u 自定義 UID

#useradd -g 使其屬於某個已存在的某個組,後面也可以跟組id,也可跟組名。

#useradd -d 自定義用戶的家目錄

#useradd -M 不建立家目錄

#例如

#useradd -u510 -g 513 -M -s /sbin/nologin user11  (/sbin/noloogin ,這個賬戶不能登錄)

#userdel 用戶 刪除用戶。

#userdel -r 用戶 刪除賬戶時,連同家目錄一起刪除。

四、usermod 修改用戶屬性

#usermod -u 用戶 修改uid

      -g    修改gid

      -G    添加擴展組(使某個用戶屬於多個組)

      -d    更改家目錄

      -s    修改shell

      -L    鎖定     -U 解鎖

五、passwd修改用戶密碼。

#passwd 直接修改root用戶的密碼

#passwd user1 更改user1的密碼

mapasswd 自動生成密碼命令

安裝;

#yum install -y expect

#mkpasswd 直接自動生成密碼

#mkpasswd -l 12 -s 0 -d 3 

-l 12 ,表示長度12位。-s 指定特殊字符個數。 -d 指定數字的個數。

一條命令修改用戶密碼,比較適合用在shell腳本中。

#echo -e "密碼"|passwd --stdin user1

六、su 切換用戶

root用戶登錄時

#su user1 切換到user1

#su - user1 -c "touch /tmp/1.txt" 直接以某個用戶的身份去執行一條命令,在腳本中比較合適。

user1登錄時

#su 直接切換到 root用戶。此時root用戶的家目錄與user1 一樣。

#su - ,切換到 root 用戶,此時目錄爲root賬戶的家目錄。、

七、sudo詳解。

使普通用戶,利用sudo這個命,令去執行一個只有root用戶才能執行的命令,只需要普通用戶的密碼。

安裝命令。

#yum install -y visudo

#visudo

找到,root ALL=(ALL) ALL 

設置  user1 ALL=(root) NOPASSWD: /bin/ls,/bin/cat 

三部分,

 最左邊,爲用戶名,指定哪個用戶擁有sudo權利,

 中間,等號左邊是用戶名,即普通用戶可以切換到哪個用戶的身份,比如,user1 切換到 root

     等號右邊括號內,指定用戶名或主機IP

 最右邊,設定可使用的命令,寫入命令的絕對路徑,多個命令用分號隔開。

多個用戶組設定

#visudo

找到 

## Allows people in group wheel to run all commands

%wheel  ALL=(ALL)       ALL

把#去掉,(前面加# 號,表示失效)。

然後在最後面輸入

User_Alias USER_SU=user1,user2,user3

Cmnd_Alias SU=/bin/su

USER_SU ALL=(ALL) NOPASSWD: SU

保存退出。

此時可使用user1,2,3 這3個賬戶登錄Linux,執行命令"sudo su -" ,切換到root,獲取root賬戶的所有權利,且不需要輸入user的密碼。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章