N26——第三周作業

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

[root@localhost ~]# who | cut -d ' ' -f1 | uniq
root
zhaoyujia

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

[root@localhost ~]# grep `who | cut -d ' ' -f1 | uniq | tail -1` /etc/passwd
zhaoyujia:x:1000:1000:zhaoyujia:/home/zhaoyujia:/bin/bash

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

[root@localhost ~]# cat /etc/passwd | cut -d: -f 7 | uniq -c | sort -n | tail -1
     35 /sbin/nologin

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

[root@localhost ~]# cat /etc/passwd | sort -t: -k3 -n | tail -10 > /tmp/maxusers.txt

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

[root@localhost ~]# ifconfig | head -2 | grep ^' ' | cut -d ' ' -f10
192.168.0.7

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

[root@localhost ~]# ls -d /etc/*.conf | tr 'a-z' 'A-Z' > /tmp/etc.conf

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

[root@localhost ~]# ls /var | wc -l

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

[root@localhost ~]# cat /etc/group | sort -t: -k3 -n | head -10

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

[root@localhost ~]# cat /etc/{fstab,issue} > /tmp/etc.test

十、按要求做

groupadd命令:添加組

groupadd [options] group_name

-g GID:指定GID;默認是上一個組的GID+1;

-r:創建系統組:

groupmod命令:修改組屬性

groupmod [選項] GROUP

-g GID:修改GID

-n new_name:修改組名

groupdel命令:刪除組

groupdel [選項] group

useradd命令:創建用戶

useradd [options] LOGIN(登錄名)

-u,–uid UID:指定UID;

-g, –gid GROUP:指定基本組ID,此組得事先存在

-G,–groups GROUP1[,GROUP2,…[,GROUPN]]]:指明用戶所屬的附加組,多個組之間用逗號分隔;

-c,–comment COMMENT:指明注釋信息;

-d, –home HOME_DIR:以指定的路徑為用戶的家目錄,通過復制/etc/skel比目錄并重命名實現,指定的家目錄路徑如果事先存在,則不會為用戶復制環境配置文件;

-s, –shell SHELL:指定用戶的默認shell,可用的所有shell列表存儲在/etc/shells文件;

-r,–system:創建系統用戶

注意:創建用戶時諸多默認設定配置文件為/etc/login.defs

useradd -D :顯示創建用戶的默認配置

useradd -D 選項:修改用戶的默認選項

修改的結果保存于/etc/default/useradd文件中:

usermod命令:修改用戶屬性

usermod [選項] 登錄

-u, –uid UID:修改用戶的ID為此處指定的新UID;

-g, –gid GROUP:修改用戶所屬的基本組

-G, –groups GROUP1[,GROUP2,…[,GROUPN]]]:修改用戶所屬的附加組;原來的附加組會被覆蓋;

-a, –append:與G一同使用,用于為用戶追加新的附加組

-c, –comment COMMENT:修改用戶的注釋信息

-d, –home HOME_DIR:修改用戶的家目錄

-m, –move-home:只能與-d選項一同使用,用于將原來的家目錄移動為新的家目錄;

-l, –login NEW_LOGIN:修改用戶名;

 -s, –shell SHELL:修改用戶的默認shell;

-L, –lock:鎖定用戶密碼;即在用戶原來的密碼字符串之前添加一個"!"

-U, –unlock:解鎖用戶的密碼;即刪除"!""

userdel命令:刪除用戶

userdel [options] LOGIN

-r:刪除用戶時一并刪除其家目錄;

passwd命令:

passwd [-k] [-l] [-u [-f]] [-d] [-e] [-n mindays] [-x maxdays] [-w warndays] [-i inac‐tivedays] [-S] [–stdin] [username]

(1) passwd:修改用戶自己的密碼;

(2) passwd USERNAME:修改用戶指定的密碼,但僅root有此權限;

-l,-u:鎖定和解鎖用戶;

-d DATE:清除用戶密碼串;

-e DAYS:過期期限,日期;

-i DAYS:非活動期限

-n DAYS:密碼最短使用期限;

-x DAYS:密碼最長的使用期限;

-w DAYS:警告期限;

–stdin:

echo "PASSWORD" | passwd –stdin USERNAME

gpasswd命令:

組密碼文件:/etc/gshadow

gpasswd [option] group

-a USERNAME:向組中添加用戶

-d USERNAME:從組中移除用戶

newgrp命令:臨時切換指定的組為基本組

newgrp [-] [group]

-:會模擬用戶重新登錄以實現重新初始化其工作環境;

chage命令:更改密碼過期信息

chage [選項] 登錄  自學完成

-d

-E

-w

-m

-M

id命令:顯示用戶真實和有效的信息

id [OPTION]… [USER]

-u:僅顯示有效的UID:

-g:僅顯示用戶的基本組ID

-G:僅顯示用戶的所有組的ID

-n:顯示名字而非ID;

su命令:switch user

登錄式切換:會通過重新讀取用戶的配置文件來重新初始化

su – USERNAME

su – l USERNAME

非登錄式切換:不會讀取目標用戶的配置文件進行初始化

su USERNAME

注意:管理員可以無密碼切換至其他用戶:

-c 'COMMAND':僅以指定用戶的身份運行指定的命令;

其他幾個命令:chsh,ch

命令總結:groupadd,groupmod,groupdel,useradd,usermod,userdel,passwd,gpasswd,newgrp,id,su,chage

權限管理:

ls -l

rwxrwxrwx:

左三位:定義user(owner)權限

中三位:定義group權限;

右三位:定義other權限;

進程安全上下文:

進程對文件的訪問權限應用模型:

進程的屬主與文件的屬主是否相同,如果相同則,則應用屬主權限;

否則,則檢查進程的屬主是否屬于文件的屬組;如果是,則應用屬組權限;

否則,就只能應用other的權限;

權限:

r:read,讀

w:write,寫

x:excute,執行

文件:

r:可獲取文件的數據;

w:可修改文件的數據;

x:可將此文件運行為進程;

目錄:

r:可使用ls命令獲取其下的所有文件列表;

w:可修改此目錄下的文件列表;即創建或刪除文件;

x:可cd至此目錄中,且可使用ls -l來獲取所有文件的詳細屬性信息;

mode:rwxrwxrwx

ownership:user,group

權限組合機制:

—  000  0

–x  001  1

-w-  010  2 

-wx  011  3

r–  100  4

r-x  101  5

rw-  110  6

rwx  111  7

權限管理命令:

chmod命令:

chmod [OPTION]… MODE[,MODE]… FILE…

        chmod [OPTION]… OCTAL-MODE FILE…

        chmod [OPTION]… –reference=RFILE FILE…

        三類用戶:

        u:屬主

        g:屬組

        o:其它

        a:所有

        (1)chmod [OPTION]… MODE[,MODE]… FILE…

        MODE表示法

        賦權表示法:

        u=

        g=

        o=

        a=

        授權表示法:直接操作一類用戶的一個權限位r,w,x;

        u+,u-

        g+,g-

        o+,o-

        a+,a-

           (2) chmod [OPTION]… OCTAL-MODE FILE… 八進制表示模式

           (3) chmod [OPTION]… –reference=RFILE FILE… 參考文件方式

           選項:

            -R,–recursive:遞歸修改

            注意:用戶僅能修改屬主為自己的那些文件的權限;

        叢屬關系管理命令:chown,chgrp

        chown命令:

          chown [OPTION]… [OWNER][:[GROUP]] FILE…

          chown [OPTION]… –reference=RFILE FILE…

          選項:

          -R:遞歸修改

        chgrp命令:

        chgrp [OPTION]… GROUP FILE…

        chgrp [OPTION]… –reference=RFILE FILE…

        注意:僅管理員可以修改文件的屬主和屬組

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

[root@localhost ~]# groupadd distro -g 2016

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

[root@localhost ~]# useradd mandriva -u 1005 -g distro

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

[root@localhost ~]# useradd mageia -u 1100 -d /home/linux

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

[root@localhost linux]# echo mageedu | passwd --stdin mageia

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

[root@localhost ~]# userdel mandriva

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

[root@localhost ~]# useradd slackware -u 2002 -g distro -G peguin

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

[root@localhost ~]# usermod slackware -s /bin/tcsh

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

[root@localhost ~]# groupadd admins
[root@localhost ~]# usermod slackware -aG admins

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

[root@localhost ~]# passwd slackware -n 3 -x 180 -w 3

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

[root@localhost ~]# useradd openstack -u 3003
useradd: UID 3003 is not unique
[root@localhost ~]# cat /etc/passwd | grep "3003"
moosefs:x:3003:3003::/tmp/moosefs:/bin/bash

在給用戶指定uid時出現報錯,經查看/etc/passwd文件發現有用戶正在使用3003這個uid,所以只能給新用戶指定其他uid

[root@localhost ~]# useradd openstack -u 2003 -g clouds -G peguin,nova

添加指定uid為2003,能夠正常添加

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

[root@localhost ~]# useradd mysql -s /sbin/nologin

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

[root@localhost ~]# echo 123456 | passwd --stdin openstack
Changing password for user openstack.
passwd: all authentication tokens updated successfully.

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

(0)
lafengjinzilafengjinzi
上一篇 2017-01-13
下一篇 2017-01-14

相關推薦

  • 編寫腳本

        1、  編寫腳本/root/bin/systeminfo.sh,顯示當前主機系統信息,包括主機名,IPV4地址,操作系統版本,內核版本,CPU型號,內存大小,硬盤大小。                      …

    2017-04-13
  • 文本處理工具作業

    1、找出ifconfig命令結果中本機的所有IPv4地址 root@cenots6.8  ~ #  ifconfig | tr -cs '[0-9]\.' '\n' |sort -u -t&…

    Linux干貨 2016-08-07
  • Shell腳本編程—數組、字符串處理

    數組 變量:存儲單個元素的內存空間 數組:存儲多個元素的連續的內存空間     數組名:整個數組只有一個名字;     數組索引:編號從0開始;          [數組名索引]  &nbs…

    Linux干貨 2016-08-30
  • linux 簡單命令

    前面介紹一些基本基礎篇 后面主要介紹screen命令的用法。

    2017-11-19
  • 集中管理利器-puppet快速入門-下

    Puppet配置 1.    文件管理 file 文件服務器寫法: /etc/puppet/ fileserver.conf 定義 [files] path /tmp/files  ## puppet數據存放目錄 =è后面遠程備份實戰會用到 allow *.example.com 實戰1: 備份master機…

    Linux干貨 2015-05-07
  • Nginx 基礎 (IO模型、編譯安裝、幾大塊配置文件詳解)

    Nginx基礎 前言 apache在設計的時候已經考慮了并發訪問模型,select()機制可以響應1024個訪問,但是當數量再大,千萬級別的時候http就響應不過來了。這個時候,nginx的出現解決了這一個問題。nginx是一個安裝簡單、配置文件簡單、占用內存少、穩定性高、處理并發能力非常強、靈活好用等有點聚集于一身的輕量級服務器。在Linux操作系統中,N…

    Linux干貨 2016-12-24

評論列表(1條)

  • 馬哥教育
    馬哥教育 2017-03-02 19:52

    非常的詳細和認真,加油,再接再勵。

欧美性久久久久