文本處理工具命令使用以及文件權限管理

一 sort uniq wc cut tr 等文本處理工具的基本用法

1.  通過who命令查看當前登錄了哪些用戶,并通過uniq或sort -u命令將重復的行只顯示一次
[root@Linuxprobe ~]# who | cut -d' ' -f1 | sort -u  目前查看系統有兩個用戶登錄
harrycai
root
[root@Linuxprobe ~]# who | cut -d' ' -f1 |  uniq使用uniq命令
harrycai 
root
2 使用last命令可以查到登錄系統用戶順序,取出第一個為最后一個登錄到系統的用戶
[root@Linuxprobe ~]# last | head -n1   取出最后一個登錄系統的用戶為root
root pts/210.127.69.23 Sun Aug 13 10:22   still logged in  
3 統計出現相同的行可以使用uniq -c 選項
[root@Linuxprobe ~]# cut -d: -f7 /etc/passwd | sort | uniq -c | sort -n  查看統計結果為noloin最多
  1 /bin/nologin
  1 /bin/sync
  1 /sbin/halt
  1 /sbin/shutdown
  9 /bin/bash
 37 /sbin/nologin

4 先使用sort命令-t指定分隔符-k指定為第三段的UID進行排序,再用tail命令取出UID最大的后10行并使用tr命令轉換成大寫輸出重定向至/tmp/maxusers.txt文件

[root@Linuxprobe ~]# sort -t: -k3 -n  /etc/passwd | tail -n10 | tr 'a-z' 'A-Z' > /tmp/maxusers.txt 
[root@Linuxprobe ~]# cat /tmp/maxusers.txt 
HARRYCAI:X:1000:1000:HARRY.CAI:/HOME/HARRYCAI:/BIN/BASH
STUDENT:X:1001:1001::/HOME/STUDENT:/BIN/BASH
BASH:X:1002:1002::/HOME/BASH:/BIN/BASH
NOLOGIN:X:1003:1003::/HOME/NOLOGIN:/BIN/NOLOGIN
USER1:X:1004:1004::/HOME/USER1:/BIN/BASH
USER2:X:1005:1005::/HOME/USER2:/BIN/BASH
USER3:X:1006:1006::/HOME/USER3:/BIN/BASH
JERRY:X:1007:1007::/HOME/JERRY:/BIN/BASH
SAM:X:1008:1008::/HOME/SAM:/BIN/BASH
NFSNOBODY:X:65534:65534:ANONYMOUS NFS USER:/VAR/LIB/NFS:/SBIN/NOLOGIN

5 使用cut命令取出當前主機ip地址

[root@Linuxprobe ~]# ifconfig | head -n2 | tail -1 | cut -d" " -f10
10.127.69.19

6 取出/etc下所有已.conf結尾的文件轉換成大寫后保存至/tmp/.comf
[root@Linuxprobe ~]# ls /etc/*.conf | tr 'a-z' "A-Z" > /tmp/.conf
[root@Linuxprobe ~]# cat /tmp/.conf 
/ETC/ASOUND.CONF
/ETC/BRLTTY.CONF
/ETC/CGCONFIG.CONF
................. 略

7 統計/var目錄下所有目錄以及文件數量
[root@Linuxprobe ~]# ls /var/ | wc -l
22

8 對/etc/group 文件第三個字段進行排序并顯示最小的10個
[root@Linuxprobe ~]# sort -t: -k3 -n /etc/group | head -n10

9 將/etc/fastb和/etc/issue文件合并為/tmp/etc.test
[root@Linuxprobe ~]# cat /etc/fstab >> /tmp/etc.test 可使用追加輸出重定向至 /tmp/etc.test
[root@Linuxprobe ~]# cat /etc/issue >> /tmp/etc.test

二 文件權限管理


(一) 用戶和組

Linux系統中用戶的類別可分為管理用戶,系統用戶和普通用戶三類

  • 管理用戶:擁有最高權限的root賬號,為避免誤操作建議盡量使用普通用戶登錄系統 UID 0
  • 系統用戶: 系統運行某些服務類進程為了避免進程被劫持致使root賬號被泄露,一般在運行服務類進程時建議使用非管理員賬號運行,因此通常會創建多個普通用戶,這類用戶只以該身份運行某些服務類進程一般不會登陸系統 1-499(CentOS6) 1-999(CentOS7)
  • 普通用戶: 一般普通用戶 500-60000 (CentOS6) 1000-60000 (CentOS7) 同樣的Linux也會分為管理組,系統組和登陸組

(二)權限管理

  • 一般基本權限可分為讀,寫和執行 rwx
  • 對于目錄而言讀權限表示可以ls查看目錄的內容;寫權限可以在目錄中刪除或創建目錄或文件;執行權限表示可以cd至該目錄
  • 對于文件而言讀權限表示可以使用cat等命令查看文件內容;寫權限表示可對內容進行修改;執行權限表示可以將文件啟動一個進程
  • 文件安全上下文:
  • [root@Linuxprobe ~]# ls -l /etc/fstab
  • -rw-r–r–. 1 root root 483 Apr 13 23:51 /etc/fstab 第1位代表文件類型,其余9位每三位一組,第一組為用戶權限,第二組為組權限,第三組為其它用戶權限,root root 代表文件屬主為root屬組也為root

    1. 一個用戶打開一個文件或目錄或先去匹配文件的屬主是否為此用戶,如果是則匹配用戶權限,如果不是則進入2
    2. 用戶會匹配自己是否是文件屬組的用戶,如果是則匹配組權限位,如果不是則使用其它用戶權限位

(三) 特殊權限

Linux系統中還有SUID,SGID和STICKY三個特殊權限位

  1. SUID:默認情況一下用戶打開一個進程,進程的屬主為其發起者,因此以其發起者的身份運行。如果一個程序用于SUID權限,那么進程的屬主將會是該文件的屬主而不是發起者的身份運行。

    • 如果屬組原本有執行權限,文件屬主權限位顯示為小寫s,否則為大寫S
    • 管理文件的SUID權限: chmod u+|-s FILE
  2. SGID:當一個目錄擁有SGID權限并且該目錄屬組擁有寫權限,那么在此目錄下創建文件的屬組為此目錄的屬組而不是該用戶的基本組
  3. STICKY:對于屬組或全局可寫的目錄,組內的所有任務或系統上的所有用戶對此目錄中都能創建或刪除文件;如果為此類目錄設置sticky權限,則每個用戶能創建新文件并且只能刪除屬主為自己的文件

四 用戶及權限管理命令用法

1 組管理命令
groupadd命令:  groupadd [options] group  創建一個組
 -g GID:指定GID: 默認是上一個組的GID
 -r  創建系統組:
groupmod命令: group - user group file
 -g GID:指定GID
 2 用戶管理命令
useradd命令:   useradd [options] LOGIN 創建一個用戶
 -u 指定UID
 -g GROUP  指定基本組,此組需要事先存在
 -G GROUP1[,GROUP2,...[,GROUPN]]]  指定附加組
 -c 用戶注釋信息
 -d 以指定的路徑為用戶的家目錄:通過復制/etc/skel此目錄并重新命名實現,指定的家目錄路徑如果事先存在,則不會為用戶復制環境配置文件
 -s 指定用戶的默認shell,可用的所有shell列表為/etc/shells 文件、
 -M 不為用戶創建家目錄
 -D 顯示創建用戶的默認配置
注意:創建用戶時的諸多默認配置文件/etc/login.defs
userdel命令:用戶刪除
 -r 刪除用戶一并刪除家目錄
passwd命令: passwd [-k] [-l] [-u [-f]] [-d] [-e] [-n mindays] [-x maxdays]  [-S] [--stdin] [username]
   (1) passwd:修改用戶自己的密碼
   (2) passwd username: 修改指定用戶密碼
-l,-u:鎖定和解鎖用戶
 -d :刪除一個用戶的密碼
 -e date:過期期限,日期
 -i  days:非活動期限
 -n DAYS:密碼使用的最短使用期限
 -x DAYS:密碼的最長使用期限
 -w DAYS:密碼警告時間
3 文件權限修改命令

權限管理命令:
chmod命令:  chmod [OPTION]... MODE[,MODE]... FILE...   
chmod [OPTION]... OCTAL-MODE FILE...
chmod [OPTION]... --reference=RFILE FILE..
MODE表示法:
   賦權表示法 u= | g= | o= | a=
   授權表示法 u+,u- | g+,g- | o+, o-
chmod --reference=/etc/fstab /var/tmp/harry.cai/test  根據其他文件的權限修改
選項:
 -R 遞歸修改

從屬關系選項管理命令:
   chown命令: chown [OPTION]... [OWNER][:[GROUP]] FILE...
   chown [OPTION]... --reference=RFILE FILE...
   -R 遞歸修改
umask:文件權限反向掩碼,遮罩碼
 文件:666 - umask 
 目錄:777 - umask
之所以文件用666去減,表示文件默認不能擁有執行權限,如果減得的結果中有執行權限,則需要將其加1

三 用戶及權限管理練習

1 [root@Linuxprobe ~]# groupadd distro -g 2016  創建組distro,GID2016
 2 [root@Linuxprobe ~]# useradd mandriva -u 1005 -g distro 創建用戶mandriva,UID1005并設置基本組為distro
 3 [root@Linuxprobe ~]# useradd mageia -u 1110 -d /home/linux 創建用戶mageia,UID1100家目錄指定為/hoem/linux
 4 [root@Linuxprobe linu]# echo "mageia" | passwd --stdin mageia 給用戶mageia添加密碼為mageia
   Changing password for user mageia.
   passwd: all authentication tokens updated successfully.
 5 [root@Linuxprobe linu]# userdel mandriva   刪除用戶mandria
 6 [root@Linuxprobe linu]# useradd slackware -u 2002 -g distro -G peguin 添加用戶slackware UID為2002,基本組為distro,附加組peguin
 7 [root@Linuxprobe linu]# usermod -s /bin/tcsh slackware 將slackware的默認shell修改為tcsh
 8 [root@Linuxprobe linu]# usermod -G admins slackware將slackware添加到admins附加組
 9 [root@Linuxprobe linu]# cp -r /etc/skel/ /home/tuser1  復制/etc/skel到/home/tuser1
   [root@Linuxprobe linu]# chmod -R 700 /home/tuser1/ 目錄以及目錄內文件屬組和其他用戶均沒有任何權限
10 [root@Linuxprobe linu]# chown :hadoop /etc/group   將/etc/group屬組改為hadoo
11 [root@Linuxprobe home]# install -m 700 -d /etc/skel/ /home/hadoop 復制/etc/skel到 /home/hadopp并修改權限為700
12 [root@Linuxprobe home]# chown hadoop:hadoop /home/hadoop/ 將/home/hadoop 屬組和屬主均改為hadoop

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

(0)
N27_CaiShuangN27_CaiShuang
上一篇 2017-08-13 17:55
下一篇 2017-08-13 19:01

相關推薦

  • mysql5.6 GTID的實現以及maridb 10.9多主一從的架構

    一、MySQL 5.6 以后出現的GTID:     GTID概念:          1. GTID是一個由服務器的UUID和事務序號組成的唯一事務序號       &…

    Linux干貨 2015-12-18
  • 用戶和組的管理

    在Linux系統上,用戶管理是基于用戶名和密碼的方式進行資源的分配的,Linux上的用戶分為以下的類別: 管理員 : root  ,UID為0 (這個用戶有極大的權限,可以直接無視很多的限制,包括讀寫執行的權限。所以這個用戶的使用要小心,因為他的權限太大。) 普通用戶的UID:1-65535 普通用戶又可分為: 系統用戶(已經存…

    2017-04-08
  • Linux進程篇16.0

    Linux進程介紹

    Linux干貨 2017-12-18
  • rpm與yum的簡單命令

                                  …

    Linux干貨 2017-04-18
  • linux網絡配置

    主要內容: ip地址以及子網劃分 路由基本概念 網絡配置工具:ifconfig,ip,netstat使用 網卡配置文件及修改 IP地址: 它們可唯一標識 IP 網絡中的每臺設備 v  每臺主機(計算機、網絡設備、外圍設備)必須具有唯 一的地址 v IP地址由兩部分組成:   &n…

    Linux干貨 2016-09-07
  • 強大的查找工具之find命令

    一、Linux中的文件查找工具     在文件系統上常常需要根據文件的各種屬性去查找符合條件的文件,此前講到的grep、egrep屬于文本過濾、文本搜索工具;而文本查找工具有兩個,local和find 二、Linux中的查找工具簡介 locate 命令 find 命令 簡介:locate屬于非實時查找,依賴于事先構建的索引;索引的創建是在…

    Linux干貨 2016-08-16

評論列表(1條)

  • 馬哥教育
    馬哥教育 2017-08-20 19:10

    一開始的作業比較簡單,但都是比較重要的基礎,掌握扎實非常的必要,這次作業完成的非常好,再接再勵。

欧美性久久久久