接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
下一篇 2016-08-04

相關推薦

  • 第九周作業

    1、寫一個腳本,判斷當前系統上所有用戶的shell是否為可登錄shell(即用戶的shell不是/sbin/nologin);分別這兩類用戶的個數;通過字符串比較來實現; 2、寫一個腳本     (1) 獲取當前主機的主機名,保存于hostname變量中;     (2) 判斷此變量的值是否為loc…

    2017-04-20
  • 馬哥教育千萬級PV實戰大揭秘

    又到了激動人心的架構實戰項目實踐時間,馬哥教育面授班的學員都很期待這一刻的到來,因為經過此次洗禮,能讓自己成長更多! 上周二,馬哥教育張Sir帶領18期面授班的學員們做千萬PV級別的電商架構實戰項目!新增的多臺R710企業級服務器設備,輕松搭建大數據、云計算等高端實驗環境,讓實戰,更加真實!相信經過這場實戰的洗禮,小伙伴們架構技能會有更大提升! 【張Sir生…

    2016-06-30
  • redis + keepalived 雙主模型

    redis + keepalived 雙主模型 架構圖:    1.vip默認綁定在redis主上,由redis主提供服務,redis從為備用節點。(實際上提供服務的只是vip) 2.當redis主掛掉,vip會默認漂移至redis從。由redis從提供服務,redis主已經掛掉。 3.當redis主已經恢復,redis從繼續提供服務和掛…

    Linux干貨 2016-06-23
  • lvs-DR模型構建高性能集群

    構建環境:centos7.1     Diretor server:172.16.15.131  (  VIP:172.16.15.138 )     Real server:172.16.15.132/133      配置163源 拓撲…

    Linux干貨 2016-08-22
  • 聯通電信雙鏈路內網VRRP+BFD&&PPTP+MYSQL+FreeRadius實現IDC堡壘機連接IDC機房

    一、具體需求與實現 1、多wan:兩條寬帶接入鏈路,使用VRRP+BFD技術,實現鏈路冗余; 2、IDC機房遠程管理和登錄限制:使用PPTP+freeRadius+mysql實現VPN,限制指定網段或IP進行撥號認證登錄IDC機房,并編寫腳本檢查非法用戶登錄IDC機房服務器情況; 3、內網VLAN劃分:利于安全管理、IP分流和帶寬限制; 4、內網監控:使用N…

    Linux干貨 2016-08-22
  • LVM邏輯卷管理器(Logical Volume Manager)

    邏輯卷管理器(Logical Volume Manager) 簡介      LVM的做法是將幾個物理的分區通過軟件組合成為一塊看起來是獨立的大磁盤(VG),然后將這塊大磁盤再分成可以使用的分區(LV),最終就能夠掛載使用了。內部通過PE來進行擴展或縮小。 PV(PhysicalVolume)物理卷 用fdisk命令調整系統標識…

    Linux干貨 2016-09-01
欧美性久久久久