1. 程式人生 > >Linux用戶組和權限管理及正則表達式

Linux用戶組和權限管理及正則表達式

shu grub.con ble gre 正則 lin ace logo 內部

1、復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其他用戶沒有任何訪問權限。
[root@centos7 ~]# cp -a /etc/skel /home/tuser1
[root@centos7 ~]# chmod -R 700 /home/tuser1
[root@centos7 ~]# 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。

[root@centos7 ~]# echo "hadoop:x:2018" >> /etc/group
[root@centos7 ~]# tail -1 /etc/group
hadoop:x:2018

3、手動編輯/etc/passwd文件新增一行,添加用戶hadoop,其基本組ID為hadoop組的id號;其家目錄為/home/hadoop。

[root@centos7 ~]# echo "hadoop:x:1001:2018::/home/hadoop:/bin/bash" >> /etc/passwd
[root@centos7 ~]# tail -1 /etc/passwd
hadoop:x:1001:2018::/home/hadoop:/bin/bash

4、復制/etc/skel目錄為/home/hadoop,要求修改hadoop目錄的屬組和其他用戶沒有任何訪問權限。

[root@centos7 ~]# cp -a /etc/skel/ /home/hadoop/
[root@centos7 ~]# chmod 700 / /home/hadoop/
[root@centos7 ~]# 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。

[root@centos7 ~]# chmod -R hadoop:hadoop /home/hadoop/

6、顯示/proc/meminfo文件中以大寫或小寫S開頭的行;用兩種方式;

[root@centos7 ~]# 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
[root@centos7 ~]# 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的用戶;

[root@centos7 ~]# grep -v "/sbin/nologin$" /etc/passwd |cut -d : -f1
root
sync
shutdown
halt
hadoop

8、顯示/etc/passwd文件中其默認shell為/bin/bash的用戶;

[root@centos7 ~]# grep  "/bin/bash$" /etc/passwd |cut -d : -f1
root
hadoop

9、找出/etc/passwd文件中的一位數或兩位數;

[root@centos7 ~]# 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中以至少一個空白字符開頭的行;

[root@centos7 ~]# grep "^[[:space:]]\+" /boot/grub/grub.conf

11、顯示/etc/rc.d/rc.sysinit文件中以#開頭,後面跟至少一個空白字符,而後又有至少一個非空白字符的行;

[root@centos7 ~]# grep "^#[[:space:]]\+[^[:space:]]\+" /etc/rc.d/rc.sysinit

12、打出netstat -tan命令執行結果中以‘LISTEN’後跟空白字符結尾的行;

[root@centos7 ~]# 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相同的用戶的信息;

[root@centos7 ~]# 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

Linux用戶組和權限管理及正則表達式