本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/92857
#### 1、 復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限。
首先,利用cp命令將/etc/skel目錄復制為/home/tuser1:
“`
[root@localhost ~]# cp -r /etc/skel /home/tuser1
“`
隨后通過chmod命令對/home/tuser1的權限進行調整:
“`
[root@localhost ~]# chmod go-rwx /home/tuser1/
[root@localhost ~]# ll /home/ | grep tuser1
drwx——. ?3 root ? ? root ? ? ? 74 2月 ?25 17:16 tuser1
“`
####2、編輯/etc/group文件,添加組hadoop。
使用vim編輯/etc/group文件,并在最后一行添加相關的組信息,最后再使用groupadd測試hadoop是否已經添加成功:
“`
[root@localhost ~]# vim /etc/group
….
nologin:x:1104:
hadoop:x:1200:
:wq
[root@localhost ~]# groupadd hadoop
groupadd:“hadoop”組已存在
“`
####3、手動編輯/etc/passwd文件新增一行,添加用戶hadoop,其基本組ID為hadoop組的id號;其家目錄為/home/hadoop。
使用vim編輯/etc/passwd/,并在最后一行添加相應的用戶信息:
“`
[root@localhost ~]# vim /etc/passwd
hadoop:x:1200:1200::/home/hadoop:/bin/bash
:wq
[root@localhost ~]# id hadoop
uid=1200(hadoop) gid=1200(hadoop) 組=1200(hadoop)
“`
####4、復制/etc/skel目錄為/home/hadoop,要求修改hadoop目錄的屬組和其它用戶沒有任何訪問權限。
依舊使用cp命令完成復制操作:
“`
[root@localhost ~]# cp -r /etc/skel/ /home/hadoop
[root@localhost ~]# ll /home/ | grep hadoop
drwxr-xr-x. ?3 root ? ? root ? ? ? 74 2月 ?25 22:46 hadoop
“`
使用chmod命令修改/home/hadoop目錄的權限:
“`
[root@localhost ~]# chmod go-rwx /home/hadoop
[root@localhost ~]# ll -d /home/hadoop
drwx——. 3 root root 74 2月 ?25 22:46 /home/hadoop
“`
####5、修改/home/hadoop目錄及其內部所有文件的屬主為hadoop,屬組為hadoop。
使用chown命令遞歸修改/home/hadoop目錄的屬主和屬組:
“`
[root@localhost ~]# chown -R hadoop:hadoop /home/hadoop
[root@localhost ~]# ll -a /home/hadoop
總用量 16
drwx——. ?3 hadoop hadoop ? 87 2月 ?25 23:03 .
drwxr-xr-x. 10 root ? root ? 4096 2月 ?25 22:46 ..
-rw-r–r–. ?1 hadoop hadoop ? 18 2月 ?25 22:46 .bash_logout
-rw-r–r–. ?1 hadoop hadoop ?193 2月 ?25 22:46 .bash_profile
-rw-r–r–. ?1 hadoop hadoop ?231 2月 ?25 22:46 .bashrc
-rw-r–r–. ?1 hadoop hadoop ? ?0 2月 ?25 23:03 hadoop
drwxr-xr-x. ?4 hadoop hadoop ? 37 2月 ?25 22:46 .mozilla
“`
####6、顯示/proc/meminfo文件中以大寫或小寫S開頭的行。(多種方式)
第一種方式:
“`
[root@localhost ~]# cat /proc/meminfo | grep -o “^[S|s].*$”
SwapCached: ? ? ? ? ? ?0 kB
SwapTotal: ? ? ? 3145720 kB
SwapFree: ? ? ? ?3145720 kB
Shmem: ? ? ? ? ? ? 10060 kB
Slab: ? ? ? ? ? ? 115384 kB
SReclaimable: ? ? ?57680 kB
SUnreclaim: ? ? ? ?57704 kB
“`
第二種方式:
“`
[root@localhost ~]# grep -i “^s” /proc/meminfo
SwapCached: ? ? ? ? ? ?0 kB
SwapTotal: ? ? ? 3145720 kB
SwapFree: ? ? ? ?3145720 kB
Shmem: ? ? ? ? ? ? 10060 kB
Slab: ? ? ? ? ? ? 115376 kB
SReclaimable: ? ? ?57680 kB
SUnreclaim: ? ? ? ?57696 kB
“`
第三種方式:
“`
[root@localhost ~]# grep “^[sS]” /proc/meminfo
SwapCached: ? ? ? ? ? ?0 kB
SwapTotal: ? ? ? 3145720 kB
SwapFree: ? ? ? ?3145720 kB
Shmem: ? ? ? ? ? ? 10060 kB
Slab: ? ? ? ? ? ? 115376 kB
SReclaimable: ? ? ?57680 kB
SUnreclaim: ? ? ? ?57696 kB
“`
####7、顯示/etc/passwd文件中其默認shell為非/sbin/nologin的用戶;
使用grep命令并利用錨定行尾的特性和-v選項找出對應的行,最后用cut命令切割分段:
“`
[root@localhost ~]# grep -v “/sbin/nologin$” /etc/passwd | cut -d’:’ -f1
root
sync
shutdown
halt
charlie
gentoo
fedora
charlie3
bash
testbash
basher
hadoop
“`
####8、顯示/etc/passwd文件中其默認shell為/bin/bash的用戶;
“`
[root@localhost ~]# grep “/bin/bash$” /etc/passwd | cut -d’:’ -f1
root
charlie
gentoo
fedora
charlie3
bash
testbash
basher
hadoop
“`
####9、找出/etc/passwd文件中的一位數或兩位數;
“`
[root@localhost ~]# grep -o “\<[[:digit:]]\{1,2\}\>” /etc/passwd | uniq
0
1
2
3
4
….
42
29
70
72
“`
####10、顯示/boot/grub/grub.conf中以至少一個空白字符開頭的行;
“`
root@localhost ~]# grep “^[[:space:]].*” /boot/grub2/grub.cfg
? load_env
? ?set default=”${next_entry}”
? ?set next_entry=
? ?save_env next_entry
? ?set boot_once=true
? ?set default=”${saved_entry}”
? menuentry_id_option=”–id”
? menuentry_id_option=””
? set saved_entry=”${prev_saved_entry}”
? save_env saved_entry
? set prev_saved_entry=
? save_env prev_saved_entry
? set boot_once=true
? if [ -z “${boot_once}” ]; then
? ? saved_entry=”${ch
…
“`
####11、顯示/etc/rc.d/rc.sysinit文件中以#開頭,后面跟至少一個空白字符,而后又有至少一個非空白字符的行;
“`
[root@localhost ~]# grep “^#[[:space:]]\+[^[:space:]]\+” /etc/rc.d/init.d/functions
# -*-Shell-script-*-
# functions This file contains functions to be used by most or all
# shell scripts in the /etc/init.d directory.
# Make sure umask is sane
# Set up a default search path.
# Get a sane screen width
# Read in our configuration
# Check if any of $pid (could be plural) are running
# __proc_pids {program} [pidfile]
“`
####12、打出netstat -tan命令執行結果中以‘LISTEN’,后或跟空白字符結尾的行;
“`
[root@localhost ~]# netstat -tan | grep “LISTEN[[:space:]]*$”
tcp ? ? ? ?0 ? ? ?0 0.0.0.0:139 ? ? ? ? ? ? 0.0.0.0:* ? ? ? ? ? ? ? LISTEN
tcp ? ? ? ?0 ? ? ?0 192.168.122.1:53 ? ? ? ?0.0.0.0:* ? ? ? ? ? ? ? LISTEN
tcp ? ? ? ?0 ? ? ?0 0.0.0.0:22 ? ? ? ? ? ? ?0.0.0.0:* ? ? ? ? ? ? ? LISTEN
tcp ? ? ? ?0 ? ? ?0 127.0.0.1:631 ? ? ? ? ? 0.0.0.0:* ? ? ? ? ? ? ? LISTEN
tcp ? ? ? ?0 ? ? ?0 127.0.0.1:25 ? ? ? ? ? ?0.0.0.0:* ? ? ? ? ? ? ? LISTEN
tcp ? ? ? ?0 ? ? ?0 0.0.0.0:445 ? ? ? ? ? ? 0.0.0.0:* ? ? ? ? ? ? ? LISTEN
tcp6 ? ? ? 0 ? ? ?0 :::139 ? ? ? ? ? ? ? ? ?:::* ? ? ? ? ? ? ? ? ? ?LISTEN
tcp6 ? ? ? 0 ? ? ?0 :::21 ? ? ? ? ? ? ? ? ? :::* ? ? ? ? ? ? ? ? ? ?LISTEN
tcp6 ? ? ? 0 ? ? ?0 :::22 ? ? ? ? ? ? ? ? ? :::* ? ? ? ? ? ? ? ? ? ?LISTEN
tcp6 ? ? ? 0 ? ? ?0 ::1:631 ? ? ? ? ? ? ? ? :::* ? ? ? ? ? ? ? ? ? ?LISTEN
tcp6 ? ? ? 0 ? ? ?0 ::1:25 ? ? ? ? ? ? ? ? ?:::* ? ? ? ? ? ? ? ? ? ?LISTEN
tcp6 ? ? ? 0 ? ? ?0 :::445 ? ? ? ? ? ? ? ? ?:::* ? ? ? ? ? ? ? ? ? ?LISTEN
“`
####13、添加用戶bash, testbash, basher, nologin (此一個用戶的shell為/sbin/nologin),而后找出當前系統上其用戶名和默認shell相同的用戶的信息;
首先使用useradd命令添加相應的用戶:
“`
[root@localhost ~]# useradd bash
[root@localhost ~]# useradd testbash
[root@localhost ~]# useradd basher
[root@localhost ~]# useradd -s /sbin/nologin nologin
“`
然后通過命令找出/etc/passwd中用戶名與默認shell名稱相同的用戶信息:
“`
[root@localhost ~]# grep “^\([[:alpha:]]\+\):.*\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:2003:2003::/home/bash:/bin/bash
nologin:x:2006:2006::/home/nologin:/sbin/nologin
“`
贊 (0)
第四周作業
上一篇
2018-03-24
Python基礎語法習題
下一篇
2018-03-24