Linux使用者組和許可權管理及正則表示式
阿新 • • 發佈:2018-11-11
1、複製/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部檔案的屬組和其他使用者沒有任何訪問許可權。
[[email protected] ~]# cp -a /etc/skel /home/tuser1 [[email protected] ~]# chmod -R 700 /home/tuser1 [[email protected] ~]# ll -a /home/tuser1 total 12 drwx------. 2 root root 62 Nov 22 2017 . drwxr-xr-x. 3 root root 20 Oct 17 17:36 .. -rwx------. 1 root root 18 Aug 3 2017 .bash_logout -rwx------. 1 root root 193 Aug 3 2017 .bash_profile -rwx------. 1 root root 231 Aug 3 2017 .bashrc
2、編輯/etc/group檔案,新增組hadoop。
[[email protected] ~]# echo "hadoop:x:2018" >> /etc/group
[[email protected] ~]# tail -1 /etc/group
hadoop:x:2018
3、手動編輯/etc/passwd檔案新增一行,新增使用者hadoop,其基本組ID為hadoop組的id號;其家目錄為/home/hadoop。
[[email protected] ~]# echo "hadoop:x:1001:2018::/home/hadoop:/bin/bash" >> /etc/passwd
[ [email protected] ~]# tail -1 /etc/passwd
hadoop:x:1001:2018::/home/hadoop:/bin/bash
4、複製/etc/skel目錄為/home/hadoop,要求修改hadoop目錄的屬組和其他使用者沒有任何訪問許可權。
[[email protected] ~]# cp -a /etc/skel/ /home/hadoop/ [[email protected] ~]# chmod 700 / /home/hadoop/ [[email protected] ~]# ll -a /home/hadoop total 12 drwx------. 2 root root 62 Nov 22 2017 . drwxr-xr-x. 5 root root 45 Oct 17 18:06 .. -rw-r--r--. 1 root root 18 Aug 3 2017 .bash_logout -rw-r--r--. 1 root root 193 Aug 3 2017 .bash_profile -rw-r--r--. 1 root root 231 Aug 3 2017 .bashrc
5、修改/home/hadoop目錄及其內部所有檔案的屬主為hadoop,屬組為hadoop。
[[email protected] ~]# chmod -R hadoop:hadoop /home/hadoop/
6、顯示/proc/meminfo檔案中以大寫或小寫S開頭的行;用兩種方式;
[[email protected] ~]# cat /proc/meminfo |egrep "^(s|S)"
SwapCached: 0 kB
SwapTotal: 2097148 kB
SwapFree: 2097148 kB
Shmem: 41444 kB
Slab: 71508 kB
SReclaimable: 26240 kB
SUnreclaim: 45268 kB
[[email protected] ~]# grep -i "^s" /proc/meminfo
SwapCached: 0 kB
SwapTotal: 2097148 kB
SwapFree: 2097148 kB
Shmem: 41444 kB
Slab: 71508 kB
SReclaimable: 26240 kB
SUnreclaim: 45268 kB
7、顯示/etc/passwd檔案中其預設shell為非/sbin/nologin的使用者;
[[email protected] ~]# grep -v "/sbin/nologin$" /etc/passwd |cut -d : -f1
root
sync
shutdown
halt
hadoop
8、顯示/etc/passwd檔案中其預設shell為/bin/bash的使用者;
[[email protected] ~]# grep "/bin/bash$" /etc/passwd |cut -d : -f1
root
hadoop
9、找出/etc/passwd檔案中的一位數或兩位數;
[[email protected] ~]# egrep -o "\<[0-9]{1,2}\>" /etc/passwd |tr "\n" ","
0,0,1,1,2,2,3,4,4,7,5,0,6,0,7,0,8,12,11,0,12,14,50,99,99,81,81,89,89,74,74
10、顯示/boot/grub/grub.conf中以至少一個空白字元開頭的行;
[[email protected] ~]# grep "^[[:space:]]\+" /boot/grub/grub.conf
11、顯示/etc/rc.d/rc.sysinit檔案中以#開頭,後面跟至少一個空白字元,而後又有至少一個非空白字元的行;
[[email protected] ~]# grep "^#[[:space:]]\+[^[:space:]]\+" /etc/rc.d/rc.sysinit
12、打出netstat -tan命令執行結果中以‘LISTEN’後跟空白字元結尾的行;
[[email protected] ~]# netstat -tan |grep "\bLISTEN[[:space:]]\+$"
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN
tcp6 0 0 :::22 :::* LISTEN
13、新增使用者bash,testbash,basher,nologin(此一個使用者的shell為/sbin/nologin),而後找出當前系統上其使用者名稱和預設shell相同的使用者的資訊;
[[email protected] ~]# egrep "^([^:]+\>).*\1$" /etc/passwd
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
bash:x:1001:1001::/home/bash:/bin/bash
nologin:x:1004:1004::/home/nologin:/sbin/nologin