接51CTO:13 用戶組和權限管理3

用戶組和權限管理3

一、雜項知識整理

1、硬鏈接:寫源文件可以是相對地址,相對于鏈接文件。例如

[root@localhost testdir]# ln ../etc/fstab aaa
ln: 無法創建硬鏈接"aaa" => "../etc/fstab": 無效的跨設備連接
[root@localhost testdir]# ln ../etc/fstab /tmp/aaa

2、cp -r /etc/skel/. /testdir/user1 復制文件夾內的所有文件而不復制..。如果用[root@localhost user]# cp -r /testdir/user.dir/.[^.]*  /tmp/user1,其目標只能是存在的并且只能復制隱藏文件。

3、adduser是useradd的軟鏈接:

[root@localhost default]# ll `which useradd`
-rwxr-x---. 1 root root 114056 3月   6 2015 /usr/sbin/useradd
[root@localhost default]# ll `which adduser`
lrwxrwxrwx. 1 root root 7 7月  19 04:58 /usr/sbin/adduser -> useradd

4、組中有其它用戶時刪除無法刪除組;

5、whoami查看的是當前用戶是誰,而who am i查看的是誰在終端登錄,即不管用su還是su -登錄,只要root登錄終端,who am i都顯示root。

6、userdel命令:可以在/etc/login.defs文件中更改配置變量。

    -f 強制刪除用戶賬號,即使用戶仍然在登錄,包括主目錄和郵箱和同名的組

    -r 刪除主目錄和郵箱

7、id命令:查看用戶相關信息:

    -u 查看UID

    -g 查看GID

    -G groups

    -n name

[root@localhost testdir]# id
uid=0(root) gid=0(root) 組=0(root) 環境=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[root@localhost testdir]# id -G
0
[root@localhost testdir]# id -u
0

8、換個身份執行命令:su – user -c COMMAND

[root@localhost testdir]# su - user1 -c date
2016年 08月 03日 星期三 10:37:13 CST

9、chfn;chsh指定個人信息和指定shell:

[root@localhost ~]# chfn
Changing finger information for root.
名稱 [root]: ^C
[root@localhost ~]# chsh
Changing shell for root.
New shell [/bin/bash]: ^C

10、groupadd

    -g 指定GID號

    -r 創建系統組

        centos7:ID<1000

    [root@localhost ~]# groupadd -r -g 589 servicetest    
    [root@localhost ~]# tail /etc/group
    harry:x:1009:
    sarah:x:1010:
    sales:x:3000:
    user1:x:2223:user1
    user2:x:2224:
    user3:x:2225:
    user4:x:2226:
    user5:x:2227:
    user6:x:2228:
    servicetest:x:589:

11、groupmod命令:-n 指定新名字 -g GID;

    groupdel刪除組

    gpasswd 更改組密碼

        -a USER 將user添加至指定組中

        -d USER 從指定組中移除用戶user

        -A user1,user2….設置有管理權限的用戶列表

    newgrp命令:臨時切換基本組:如果用戶本不屬于此組,則需要組密碼;如果沒有設置密碼則只有本組用戶可以切換。

[user1@localhost ~]$ newgrp user3
密碼:
無效的密碼。
[user1@localhost ~]$ exit
登出
[root@localhost ~]# gpasswd user3
正在修改 user3 組的密碼
新密碼:
請重新輸入新密碼:
[root@localhost ~]# su - user1
上一次登錄:三 8月  3 11:20:41 CST 2016pts/0 上
[user1@localhost ~]$ newgrp user3
密碼:
[user1@localhost ~]$ groups
user3 user1

二、命令詳解及事例

1、當需要同時創建多個用戶時,useradd不能實現,其對象只能是一個,所以需要批量建立用戶和創建密碼:命令newusers和chpasswd,單獨給一個用戶設置密碼也可以用echo user:PASSWD | chpasswd

    按格式新建一user個文件:格式為:用戶:x:UID:GID:(注釋或描述):/家目錄(不存在目錄):bash

[root@localhost testdir]# !cat
cat user
user1:x:2223:2223::/home/user1:/bin/bash
user2:x:2224:2224::/home/user2:/bin/bash
user3:x:2225:2225::/home/user3:/bin/bash
user4:x:2226:2226::/home/user4:/bin/bash
user5:x:2227:2227::/home/user5:/bin/bash
user6:x:2228:2228::/home/user6:/bin/bash
[root@localhost testdir]# newusers user

    按格式創建一個passwd文件,內容一一對應:格式為:用戶:密碼

[root@localhost user1]# cat /testdir/userpasswd 
user1:123456
user2:123456
user3:123456
user4:123456
user5:123456
user6:123456
[root@localhost user1]# cat /testdir/userpasswd | chpasswd

    完成后,將/etc/skel的隱藏文件復制到用戶家目錄并更改其權限,因為已經做過因此提示覆蓋,最后便完成了創建批量用戶,無家目錄也可以登錄但是無配置文件,郵件文件會在收到文件后自動生成,系統用戶無家目錄和郵箱

[root@localhost user1]# cp -rf /etc/skel/.[^.]* /home/user3
cp:是否覆蓋"/home/user3/.bash_logout"? y
"/etc/skel/.bash_logout" -> "/home/user3/.bash_logout"
cp:是否覆蓋"/home/user3/.bash_profile"? y
"/etc/skel/.bash_profile" -> "/home/user3/.bash_profile"
cp:是否覆蓋"/home/user3/.bashrc"? y
"/etc/skel/.bashrc" -> "/home/user3/.bashrc"
cp:是否覆蓋"/home/user3/.zshrc"? y
"/etc/skel/.zshrc" -> "/home/user3/.zshrc"
[root@localhost user1]# chown -R user4:user4 /home/user4
[root@localhost user1]# ll -a /home/user4
總用量 20
drwx------.  2 user4 user4   72 8月   2 01:41 .
drwxr-xr-x. 18 root  root  4096 8月   2 02:26 ..
-rw-r--r--.  1 user4 user4   18 8月   3 08:30 .bash_logout
-rw-r--r--.  1 user4 user4  193 8月   3 08:30 .bash_profile
-rw-r--r--.  1 user4 user4  231 8月   3 08:30 .bashrc
-rw-r--r--.  1 user4 user4  658 8月   3 08:30 .zshrc

2、chmod命令:見下篇

3、usermod命令:用戶屬性修改:

    -u UID 新UID

    -g GID 新基本組

    -a 添加附加組,只能和-G使用

    -G GROUP 新附加組,可以多個

        直接添加,原來的附加組將會被覆蓋;若保留原有,則需要同時使用-a選項表示append;

        因此刪除一個用戶所有附加組有兩種方法:直接使用-G覆蓋;或者-G “”,但是兩者還是有一些區別的。例如:

    [root@localhost testdir]# usermod  -aG user2,user3,user4 user1    
    [root@localhost testdir]# tail /etc/group
    natasha:x:1008:
    harry:x:1009:
    sarah:x:1010:
    sales:x:3000:
    user1:x:2223:
    user2:x:2224:user1
    user3:x:2225:user1
    user4:x:2226:user1
    [root@localhost testdir]# usermod -G "" user1
    [root@localhost testdir]# tail /etc/group
    natasha:x:1008:
    harry:x:1009:
    sarah:x:1010:
    sales:x:3000:
    user1:x:2223:
    user2:x:2224:
    user3:x:2225:
    user4:x:2226:
    user5:x:2227:
    user6:x:2228:
    [root@localhost testdir]# usermod -G user1 user1
    [root@localhost testdir]# tail /etc/group
    natasha:x:1008:
    harry:x:1009:
    sarah:x:1010:
    sales:x:3000:
    user1:x:2223:user1
    user2:x:2224:
    user3:x:2225:
    user4:x:2226:
    user5:x:2227:
    user6:x:2228:

    -s SHELL 新的默認shell

    -c “”  新的默認注釋信息

    -d HOME 新家目錄不會自動創建,原家目錄中的文件不會同時移動至新的家目錄;若要創建新家目錄并移動原家目錄數據,同時使用-m選項。

    -l login_name 新的名字

    -L 鎖定用戶,在/etc/shadow密碼欄增加!

        一次只能設定一個!,解鎖也解一個,而passwd鎖定及解鎖一次兩個

    -U 解鎖

    -e YYYY-MM-DD 指定用戶賬號過期日期

    -f INACTIVE 設定非活動期限

4、chown命令:見下篇

5、passwd命令:修改指定用戶的密碼,僅root用戶權限;或修改自己的密碼:

    -l 鎖定指定用戶

    -u 解鎖指定用戶

    -e 強制用戶下次登錄修改密碼:

[root@localhost ~]# passwd -e user3 
正在終止用戶 user3 的密碼。
passwd: 操作成功

    -n # 指定最短使用期限

    -x # 最大使用期限

    -w # 提前多少天開始警告

    -i # 非活動期限

    –stdin 從標準輸入接收用戶密碼  

[root@localhost ~]# echo "123456789" | passwd --stdin user5
更改用戶 user5 的密碼 。
passwd:所有的身份驗證令牌已經成功更新。

原創文章,作者:SilencePavilion,如若轉載,請注明出處:http://www.www58058.com/27622

(0)
SilencePavilionSilencePavilion
上一篇 2016-08-04 14:42
下一篇 2016-08-04 14:42

相關推薦

  • linux小小小入門。

      ?用戶登錄: ? ? ❤root用戶 這是一個特殊的管理賬戶,也被稱為超級賬戶,root已經接近完整的系統控制。但是對系統的損害有非常廣泛的能力。(一般情況下不會登錄root) ? ? ❤普通用戶 權限有限,損害能力較小。 ?終端terminal: ? ? ❤設備終端 鍵盤,鼠標,顯示器 ? ? &#x…

    Linux干貨 2018-03-26
  • 計算機的組成和Linux發展史

    計算機的組成及功能   計算機是由CPU,內存,輸入裝置和輸出裝置四大部件組成計算機,每一部件分別按要求執行特定的基本功能。  CPU: 控制器和運算器合稱中央處理器,也就是CPU,它的功能主要是解釋計算機指令以及處理計算機軟件中的數據。  內存: 它是與CPU進行溝通的橋梁。計算機中所有程序的運行都是在內存中進行的,內存(Me…

    Linux干貨 2016-10-30
  • Linux的啟動流程

    啟動流程 ? POST: Power-On-Self-Test,加電自檢,是BIOS功能的一個主要部分。負責完成對CPU、主板、內存、硬盤子系統、顯示子系統、 串并行接口、鍵盤、 CD-ROM光驅等硬件情況的檢測。 ROM: BIOS, Basic Input and Output System,保存著有關計算機系統最重要的基本輸入輸出程序,系統信息設置、 …

    Linux干貨 2016-09-13
  • 馬哥教育網絡班21期第六周作業

    詳細總結VIM編輯器的使用并完成以下練習題 1、復制/etc/rc.d/rc.sysinit文件至/tmp目錄,將/tmp/rc.sysinit文件中的以至少一個空白字符開頭的行的行首加# cp /etc/rc.d/rc.sysinit /tmp vim /tmp/rc.sysinit :%s/^[[:space:]]\+/#/…

    Linux干貨 2016-08-22
  • 網絡N22期 第1周作業

    一、計算機組成及其功能 計算機由硬件部分和軟件部分組成。     硬件部分包括,         1、CPU:包括運算器、控制器、寄存器、緩存,具有對數據控制和計算功能。         2、存儲器:內部存儲器、外部存儲器,對數據提供存儲功能。   …

    Linux干貨 2016-08-15
  • Linux 命令行返回狀態

    linux 執行命令后會返回一個狀態碼 命令執行成功返回0: 當刪除一個文件并刪除成功時返回的狀態碼為0 [root@localhost 1]# rm -rf 1_1 [root@localhost 1]# echo $? 0 命令執行失敗返回1-255 當把 文件夾 1_1 重命名為1_2失敗后狀態碼為1 [root@localhost 1]# mv 1_…

    Linux干貨 2017-08-28
欧美性久久久久