Linux-命令-用戶管理

1、sudo

  • 全名:super user do

  • 用途:以系統管理員的身份(即root)執行指令,第一次執行sudo命令後,在系統規定時間內再執行sudo命
    令,不用輸入密碼

  • 常用選項

    sudo [選項] <命令>
    
    • -l:顯示當前用戶的權限
    • -k:用戶下一次執行sudo時,必須輸入密碼,無論是否在規定時間內
    • -u <user_name|UID>:指定該命令的執行者,不加默認爲root用戶執行
  • 已root權限執行上一條命令

sudo !!
  • 以特定用戶身份進入文本編輯
sudo -u <user_name> vim <file>

2、useradd

  • 全名:user add

  • 用途:添加新用戶,執行權限爲root

  • 常用選項

    useradd [選項] <user_name>
    
    • -d <directory>:指定該用戶的家目錄
    • -g <group_name>:指定該用戶所屬的用戶組
    • -G <group_name>:指定該用戶所屬的附加組
    • -u <group_name>:指定該用戶的用戶號,若同時有-o選項,可以和其它用戶重複
  • 系統用戶的信息存放在/etc/passwd

  • 如果不加任何選項,則按照系統默認信息創建用戶,系統默認信息存放在/etc/default/useradd

    [root@172 home]# cat /etc/default/useradd
    # useradd defaults file
    GROUP=100
    HOME=/home
    INACTIVE=-1
    EXPIRE=
    SHELL=/bin/bash
    SKEL=/etc/skel
    CREATE_MAIL_SPOOL=yes
    
  • useradd和adduser的配置文件爲/etc/login.defs,主要內容如下

    MAIL_DIR	/var/spool/mail		
    # 郵箱目錄。修改或刪除用戶賬戶時需要處理郵箱,如果沒有指定,將使用編譯時指定的默認值。
    MAIL_FILE	.mail	    # 定義用戶郵箱文件的位置(相對於主目錄)。
    
    PASS_MAX_DAYS	99999
    #  一個密碼可以使用的最大天數。如果密碼比這舊,將會強迫更改密碼。如果不指定,就假定爲 -1,這會禁用這個限
    # 制。
    PASS_MIN_DAYS	0
    # 兩次更改密碼時間的最小間隔。將會拒絕任何早於此的更改密碼的嘗試。如果不指定,假定爲 -1,將會禁用這個限
    # 制。
    PASS_MIN_LEN	5
    PASS_WARN_AGE	7
    # 密碼過期之前給出警告的天數。0 表示只有只在過期的當天警告,負值表示不警告。如果沒有指定,不會給警告。
    
    # 設置普通用戶的UID和系統用戶的UID取值範圍
    UID_MIN                  1000
    UID_MAX                 60000
    SYS_UID_MIN               201
    SYS_UID_MAX               999
    
    # 同上,設置用戶組的GID
    GID_MIN                  1000
    GID_MAX                 60000
    SYS_GID_MIN               201
    SYS_GID_MAX               999
    
    CREATE_HOME	yes				# 指示是否應該爲新用戶默認創建主目錄。
    
    UMASK           077		# 設置該用戶的umask值
    
    USERGROUPS_ENAB yes
    # 如果設置爲 yes,如果組中沒有成員了,userdel 將移除此用戶組,useradd 創建用戶時,也會創建一個同名的默
    # 認組。
    
    ENCRYPT_METHOD SHA512 	# 使用SHA512加密密碼
    
  • 例子如下,當前系統已有用戶組test1

[root@172 ~]# useradd -d /home/user1 -g test1 user1
[root@172 ~]# users
dream dream dream dream
[root@172 ~]# cat /etc/passwd | grep user1
user1:x:1001:1001::/home/user1:/bin/bash
[root@172 ~]# cd /home/
[root@172 home]# ls
dream  user1

3、adduser

  • 同useradd

4、userdel

  • 全名:delete user
  • 用途:刪除用戶賬號和相關文件
  • 常用選項:-r,表示把用戶的家目錄和用戶一起刪除
[root@172 home]# ls
dream  user1  user2
[root@172 home]# userdel -r user2
[root@172 home]# ls
dream  user1

5、usermod

  • 全名:modify user
  • 用途:修改用戶的信息
  • 常用選項:和useradd一樣
usermod [選項] <user_name>

6、passwd

  • 全名:password

  • 用途:爲用戶設置密碼

  • 常用選項

    passwd [選項] [user_name]
    
    • -l:鎖定用戶,即禁止用戶
    • -u:解鎖用戶
    • -d:使用戶密碼爲空
    • -f:強制用戶下次登入時修改密碼
  • root權限可爲所有用戶設置密碼,且root權限下可任意設置密碼

  • 普通用戶只能設置自己的密碼,且密碼過於簡單時系統不允許

  • 剛創建的新用戶被系統鎖定,無法使用,必須用passwd指定口令後才能使用

7、groupadd

  • 全名:add group

  • 用途:增加一個新的用戶組,方便Linux管理員管理用戶

  • 常用選項

    groupadd [選項] <group_name>
    
    • -g <GID>:指定新用戶組的組標示號
    • -o:表示新用戶組的GID可以和已有的用戶組的GID一樣
  • 例子:添加用戶組test1

[root@172 ~]# groupadd test1
  • 用戶組的信息存放在/etc/group
[root@172 home]# cat /etc/group | grep test1
test1:x:1001:

8、groupdel

  • 全名:delete group
  • 用途:刪除一個用戶組
  • 常用選項
groupdel <group_name> 

9、groupmod

  • 全名:modify group

  • 用途:類似於usermod,修改用戶組的信息

  • 常用選項

    groupmod [選項] <group_name>
    
    • -g-o選項作用與groupadd相同
    • -n <new_group_name>:爲用戶組起一個新名字

10、chown

  • 全名:change owner

  • 用途:改變文件或目錄的所有者,需要有root權限

  • 常用選項

    chown <user_name> <文件或目錄>
    
  • 例子:

[root@172 home]# mkdir user1_pub
[root@172 home]# ls -ld user1_pub
drwxr-xr-x 2 root root 6 2月  13 02:20 user1_pub			# 此時目錄的所有者爲root
[root@172 home]# chown user1 user1_pub
[root@172 home]# ls -ld user1_pub
drwxr-xr-x 2 user1 root 6 2月  13 02:20 user1_pub		# 現在目錄的所有者爲user1

11、chgrp

  • 全名:change group

  • 用途:改變文件或目錄的所屬組,root和(文件或目錄的)所有者均可以更改所屬組

  • 常用選項

    chgrp <group_name> <文件或目錄>
    
  • 例子:

[root@172 home]# ls -ld user1_pub
drwxr-xr-x 2 user1 root 6 2月  13 02:20 user1_pub
[root@172 home]# chgrp test1 user1_pub
[root@172 home]# ls -ld user1_pub
drwxr-xr-x 2 user1 test1 6 2月  13 02:20 user1_pub

12、chmod

  • 全名:change mode

  • 用途:改變目錄或文件權限

  • Linux系統下文件或目錄的權限解釋

    • 一個文件或目錄有三個與用戶相關的信息
      • 所有者:創建該文件或目錄的用戶的權限
      • 所屬組:文件所屬用戶組的權限
      • 其它:所有者和所屬組以外的用戶的權限
    • 文件或目錄的權限:r(讀)w(寫)x(執行)
      • 對於文件
        • r:可以查看文件內容, cat/more/less/head/tail
        • w:可以修改文件內容, vim
        • x:可以執行文件, script/command
      • 對於目錄
        • r:可以列出目錄內容, ls
        • w:可以在目錄中創建/刪除文件或目錄, touch/rm/mkdir/rmdir
        • x:可以進入目錄, cd
  • 常用選項:-R,表示修改目錄權限時,遞歸修改目錄下所有文件權限,否則只修改目錄權限

chmod <權限值> <file>
# 權限值:權限有rwx,用一個3位二進制數來表示它,如111表示有rwx權限,101表示有r-x權限,將二進制轉換爲十進制
#        如755表示:所有者的權限爲111,即rwx;所屬組權限爲101,即r-x;其他用戶權限也爲101
  • 注意:

    • chmod除了使用權限值修改權限以外,還有其它方法,但我認爲都不如這個簡單
    • 一定不要給目錄或文件777權限,這樣很不安全
  • 例子

[root@172 home]# ls -ld user1_pub
drwxr-xr-- 2 user1 test1 6 2月  13 02:20 user1_pub
[root@172 home]# chmod -R 755 user1_pub/
[root@172 home]# ls -ld user1_pub
drwxr-xr-x 2 user1 test1 6 2月  13 02:20 user1_pub

13、umask

  • 全名:user mask

  • 用途:顯示或改變文件或目錄默認權限

  • 常用選項

    umask [選項] [new_umask]
    
    • -S:顯示默認權限,不加該選項以數字形式(即umask值)顯示
  • umask值的解釋:

    • umask確定文件權限,用默認最大權限與umask相減,得到的結果即爲文件權限
    • 例如:umask爲022,文件默認最大權限爲666,相減後爲644,即該文件權限爲644(rw-r–r--)
  • 例子:下面umaks=0022中第一個0爲特殊值,不管,即該用戶的umask值爲022

[root@172 home]# umask -S
u=rwx,g=rx,o=rx
[root@172 home]# umask 
0022
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章