Linux基礎知識(三)

 本文的主要內容是:

 1、列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。

 2、取出最后登錄到當前系統的用戶的相關信息。

 3、取出當前系統上被用戶當作其默認shell的最多的那個shell。

 4、將/etc/passwd中的第三個字段數值最大的后10個用戶的信息全部改為大寫后保存至/tmp/maxusers.txt文件中。

 5、取出當前主機的IP地址,提示:對ifconfig命令的結果進行切分。

 6、列出/etc目錄下所有以.conf結尾的文件的文件名,并將其名字轉換為大寫后保存至/tmp/etc.conf文件中。

 7、顯示/var目錄下一級子目錄或文件的總個數。

 8、取出/etc/group文件中第三個字段數值最小的10個組的名字。

 9、將/etc/fstab和/etc/issue文件的內容合并為同一個內容后保存至/tmp/etc.test文件中。

 10、總結描述用戶和組管理類命令的使用方法以及一些具體的示例

 1、列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次

     who | cut -d" " -f1 | uniq

 2、取出最后登錄到當前系統的用戶的相關信息。

     last -n 1 | cut -d" " -f1 | head -1

 3、取出當前系統上被用戶當作其默認shell的最多的那個shell

     cat /etc/passwd | cut -d":" -f7 | uniq -c | sort -n | tail -1 | awk '{print $2}'

 4、將/etc/passwd中的第三個字段數值最大的后10個用戶的信息全部改為大寫后保存至/tmp/maxusers.txt文件中。

     cat /etc/passwd | sort -n -k 3 -t: | tr 'a-z' 'A-Z' >/tmp/maxusers.txt

 5、取出當前主機的IP地址,提示:對ifconfig命令的結果進行切分。

     ifconfig eth0 | egrep -o "inet addr:[^ ]*" | cut -d: -f2

 6、列出/etc目錄下所有以.conf結尾的文件的文件名,并將其名字轉換為大寫后保存至/tmp/etc.conf文件中。

     ls /etc/*.conf  |  tr 'a-z' 'A-Z'  > /tmp/etc.conf

 7、顯示/var目錄下一級子目錄或文件的總個數。

     ls -l /var/* | wc -l

 8、取出/etc/group文件中第三個字段數值最小的10個組的名字。

     cat /etc/group | sort -n -k 3 -t: | head -10 | cut -d":" -f1

 9、將/etc/fstab和/etc/issue文件的內容合并為同一個內容后保存至/tmp/etc.test文件中。

     cat /etc/fstab /etc/issue >/tmp/etc.test

 10、總結描述用戶和組管理類命令的使用方法以及一些具體的示例

  Linux是一個多用戶操作系統,即同時支持多個用戶同時登錄到系統共同使用計算機資源,那么每個要登錄到計算機系統的唯一的標識就叫做一個用戶,這個唯一的標識實現了資源的隔離,使得多個用戶同時登錄到系統時不會導致系統的混亂,那么,當用戶過多時,對每個用戶的管理就會變得十分困難和繁瑣,于是,用戶組的作用就是實現對用戶的分組管理,使得對用戶的管理變得簡潔。而對于計算機來說,字符串并非是其擅長處理的,數字才是,所以每個用戶都有一個唯一的標識與用戶相對應的數字,叫做用戶或用戶組的id,類似人的身份證。但是并非每個人都有使用計算機資源的權利,因此,每個用戶想要登錄到系統還需要使用憑證,通俗來說就是需要所謂的密碼來登錄系統。而用戶登錄系統的整個過程則是根據/etc/passwd文件來實現驗證。那么對于管理 員來說,對系統上用戶的管理就顯得至關重要。

Linux中用戶有:管理員和普通用戶兩類:

 管理員:也叫超級用戶,用戶id為0,擁有系統管理的最高權限

 普通用戶:系統用戶和 登錄用戶:

     系統用戶:centos6上用戶id是1-499,centos7上則是1-999;

      登錄用戶:centos6上用戶id是500-60000,centos7則是1000-60000; 

Linux上的用戶組:管理員組和普通用戶組:

   管理員組:組id為0

   普通用戶:分為系統用戶組和登錄用戶組

     系統用戶組:centos6上組id為1-499,centos7上組id為1-999

     登錄用戶組:centos6上組id是500-60000,centos7組id為1000-60000;’

常用的用戶管理命令有:

(1).查看系統上有多少個用戶:

    cat /etc/passwd | wc -l

(2)查看每個用戶的用戶id和組id信息

    id username

(3)useradd:添加用戶

  語法:useradd [options] use_rname

  常用選項:

    -r:創建系統用戶,所謂的系統用戶就是系統剛啟動時還沒有用戶登錄時,很多服務進程需要啟動時必須以某個用戶的身份運行,而此類用戶就是系統用戶。

    -u uid:創建用戶時指定用戶id

    -g gid:創建用戶時指定用戶的基本組id

    -G Group_name:創建用戶是指定附加組,多個組之間用逗號分隔

    -d  dir:創建家用戶時指定其家目錄

    -s shell :創建用戶時指定其默認的shell

    

(4).groupadd:添加用戶組

  語法:groupadd [options] group_name   

  常用選項:

    -g gid:創建組時指定用戶組id,若不指定則在上一個組id的值加1

    -r :創建系統組

 

(5).usermod:修改用戶屬性

  語法:usermod [options] username

  常用選項:

   -u uid:修改uid為指定的id

   -g gid:修改gid為指定的id

   -G group_name:修改附加組

   -m dir:修改家目錄為指定的目錄

   -l login_name:修改登錄名

   -s shell:修改用戶的默認shell

   -L:鎖定指定的用戶

   -U:對指定的用戶解鎖

 

(6).userdel:刪除用戶

  語法:userdel [options] user_name

  常用選項:

   -r : 刪除用戶時同時刪除其家目錄

(7).passwd:修改用戶密碼

  語法:passwd [options] user_name

  常用選項:

   -d : 清除用戶密碼串

    -l:鎖定用戶

    -S:查看指定用戶的密碼狀態信息

    -u:對指定用戶解鎖

    -e date:指定過期時間

    -i :非活動時間

    -n :密碼的最短使用期限 

(8).gpasswd:管理用戶組

  語法:gpasswd [options] group_name

  常用選項:

    -a username:將指定的用戶添加到指定組中

    -d username:將指定用戶從指定的組中移除

使用示例:

(1)、創建組distro,其GID為2016  

     groupadd -g 2016 distro

(2)、創建用戶mandriva, 其ID號為1005;基本組為distro;

 useradd -u 1005 -g distro  mandriva

(3)、創建用戶mageia,其ID號為1100,家目錄為/home/linux;

 useradd -u 1100 -d /home/linux mageia

(4)、給用戶mageia添加密碼,密碼為mageedu;

   echo  "mageedu" | passwd –stdin mageia

(5)、刪除mandriva,但保留其家目錄;

 userdel mandriva

(6)、創建用戶slackware,其ID號為2002,基本組為distro,附加組peguin;

     useradd -u 2002 -g distro -G peguin slackware

(7)、修改slackware的默認shell為/bin/tcsh;

     usermod -s /bin/tcsh slackware

(8)、為用戶slackware新增附加組admins;

      usermod -G admins

(9)、為slackware添加密碼,且要求密碼最短使用期限為3天,最長為180天,警告為3天;

     passwd -n 3 -x  180 -w 3 slackware

(10)、添加用戶openstack,其ID號為3003, 基本組為clouds,附加組為peguin和nova;

      useradd -u 3003 -g clouds -G peguin,nova openstack

(11)、添加系統用戶mysql,要求其shell為/sbin/nologin;

      useradd -r -s /sbin/nologin mysql

(12)、使用echo命令,非交互式為openstack添加密碼。

     echo "openstack"  | passwd openstack

    

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

(0)
zhangbaozhangbao
上一篇 2016-10-02
下一篇 2016-10-03

相關推薦

  • 基于Python和MoviePy庫實現數據的動態展示

    基于Python和MoviePy庫實現數據的動態展示 (翻譯:以馬內利)  原文鏈接:Data Animations With Python and MoviePy   Python擁有很多實現數據可視化的庫,但是很少可以展示GIFs的動態視圖。 這篇博客主要介紹怎樣使用MoviePy庫作為一個其他可視化庫的通用插件。 Movi…

    2015-03-26
  • grep 命令詳解

    grep 命令詳解 概述:本文檔基于 info grep 翻譯,完成度可能 90% 左右。 作者:N10-guli 時間:2016-01-05 版本:v1.0 目錄:     1,grep 命令的選項     2,grep 命令的正則表達式     3,gre…

    Linux干貨 2016-02-14
  • 第五周作業

    博客具體內容請移步博客園http://www.cnblogs.com/wangenzhi/p/6235456.html

    Linux干貨 2016-12-30
  • sed使用方法

      sed編輯器被稱作流編輯器(stream editor)。流編輯器在處理數據之前基于預先提供的一組規則來編輯數據流。 一、命令格式   sed options '"地址""編輯命令"' file   常用選項:     -n:靜默模式,不顯示模式…

    Linux干貨 2015-12-28
  • linux 學習筆記

    第二周

    Linux干貨 2018-03-16
  • 馬哥教育網絡班22期+第3周課程練習 忍者亂太郎喻成

    1、列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。  who|awk '{print $1}'|uniq 2、取出最后登錄到當前系統的用戶的相關信息。 題目不是很清晰我估計是題目想要的是 last -1   cat /etc/pa…

    Linux干貨 2016-09-06

評論列表(1條)

  • luoweiro
    luoweiro 2016-10-10 22:18

    第五題其實如果主機有多個IP,這個地方只能取出來一個,可以嘗試多配置幾個都取出來。

欧美性久久久久