第四周作业

1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。


(1)复制/etc/skel目录为/home/tuser1

[root@STCO6 ~]# cp -r /etc/skel/ /home
[root@STCO6 ~]# mv /home/skel /home/tuser1
[root@STCO6 ~]# ll -a /home/tuser1/
total 28
drwxr-xr-x.  4 root root 4096 Aug 26 09:10 .
drwxr-xr-x. 14 root root 4096 Aug 26 09:11 ..
-rw-r--r--.  1 root root   18 Aug 26 09:10 .bash_logout
-rw-r--r--.  1 root root  176 Aug 26 09:10 .bash_profile
-rw-r--r--.  1 root root  124 Aug 26 09:10 .bashrc
drwxr-xr-x.  2 root root 4096 Aug 26 09:10 .gnome2
drwxr-xr-x.  4 root root 4096 Aug 26 09:10 .mozilla


(2)改变/home/tuser1访问权限

[root@STCO6 ~]# chmod -R g-r,o-r /home/tuser1


(3)结果验证

[root@STCO6 ~]# ll -a /home/tuser1/
total 28
drwx--x--x.  4 root root 4096 Aug 26 09:10 .
drwxr-xr-x. 14 root root 4096 Aug 26 09:11 ..
-rw-------.  1 root root   18 Aug 26 09:10 .bash_logout
-rw-------.  1 root root  176 Aug 26 09:10 .bash_profile
-rw-------.  1 root root  124 Aug 26 09:10 .bashrc
drwx--x--x.  2 root root 4096 Aug 26 09:10 .gnome2
drwx--x--x.  4 root root 4096 Aug 26 09:10 .mozilla


2、编辑/etc/group文件,添加组hadoop。


[root@STCO6 ~]# echo 'hadoop:x:2500:' >> /etc/group
[root@STCO6 ~]# cat /etc/group | grep hadoop
hadoop:x:2500:



3、手动编辑/etc/passwd文件新增一行,添加用户hadoop,其基本组ID为hadoop组的id号;其家目录为/home/hadoop。


[root@STCO6 ~]# echo 'hadoop:x:2500:2500::/home/hadoop:/bin/bash' >> /etc/passwd
[root@STCO6 ~]# cat /etc/passwd | grep hadoop
hadoop:x:2500:2500::/home/hadoop:/bin/bash



4、复制/etc/skel目录为/home/hadoop,要求修改hadoop目录的属组和其它用户没有任何访问权限。

(1)复制/etc/skel目录为/home/hadoop

[root@STCO6 ~]# cp -r /etc/skel/ /home
[root@STCO6 ~]# mv /home/skel /home/hadoop
[root@STCO6 ~]# ll -a /home/hadoop/
total 28
drwxr-xr-x.  4 root root 4096 Aug 26 09:10 .
drwxr-xr-x. 14 root root 4096 Aug 26 09:11 ..
-rw-r--r--.  1 root root   18 Aug 26 09:10 .bash_logout
-rw-r--r--.  1 root root  176 Aug 26 09:10 .bash_profile
-rw-r--r--.  1 root root  124 Aug 26 09:10 .bashrc
drwxr-xr-x.  2 root root 4096 Aug 26 09:10 .gnome2
drwxr-xr-x.  4 root root 4096 Aug 26 09:10 .mozilla


(2)改变/home/hadoop访问权限

[root@STCO6 ~]# chmod -R g-r,o-r /home/hadoop


(3)结果验证

[root@STCO6 ~]# ll -a /home/hadoop/
total 28
drwx--x--x.  4 root root 4096 Aug 26 09:10 .
drwxr-xr-x. 14 root root 4096 Aug 26 09:11 ..
-rw-------.  1 root root   18 Aug 26 09:10 .bash_logout
-rw-------.  1 root root  176 Aug 26 09:10 .bash_profile
-rw-------.  1 root root  124 Aug 26 09:10 .bashrc
drwx--x--x.  2 root root 4096 Aug 26 09:10 .gnome2
drwx--x--x.  4 root root 4096 Aug 26 09:10 .mozilla


5、修改/home/hadoop目录及其内部所有文件的属主为hadoop,属组为hadoop。

[root@STCO6 ~]# chown -R hadoop:hadoop /home/hadoop
[root@STCO6 ~]# ll -a /home/hadoop/
total 28
drwx--x--x.  4 hadoop hadoop 4096 Aug 26 11:04 .
drwxr-xr-x. 15 root   root   4096 Aug 26 11:04 ..
-rw-------.  1 hadoop hadoop   18 Aug 26 11:04 .bash_logout
-rw-------.  1 hadoop hadoop  176 Aug 26 11:04 .bash_profile
-rw-------.  1 hadoop hadoop  124 Aug 26 11:04 .bashrc
drwx--x--x.  2 hadoop hadoop 4096 Aug 26 11:04 .gnome2
drwx--x--x.  4 hadoop hadoop 4096 Aug 26 11:04 .mozilla



6、显示/proc/meminfo文件中以大写或小写S开头的行;用两种方式;

方式1:

[root@STCO6 ~]# grep -i '^s' /proc/meminfo 
SwapCached:            0 kB
SwapTotal:       2097148 kB
SwapFree:        2097148 kB
Shmem:               236 kB
Slab:             119296 kB
SReclaimable:      56480 kB
SUnreclaim:        62816 kB


方式2:

[root@STCO6 ~]# grep '^[s,S]' /proc/meminfo 
SwapCached:            0 kB
SwapTotal:       2097148 kB
SwapFree:        2097148 kB
Shmem:               236 kB
Slab:             119348 kB
SReclaimable:      56488 kB
SUnreclaim:        62860 kB


方式3:

[root@STCO6 ~]# cat /proc/meminfo |grep "^[s,S]"
SwapCached:            0 kB
SwapTotal:       2097148 kB
SwapFree:        2097148 kB
Shmem:               236 kB
Slab:             119336 kB
SReclaimable:      56484 kB
SUnreclaim:        62852 kB


方式4:

[root@STCO6 ~]# sed -n '/^[s,S]/p' /proc/meminfo
SwapCached:            0 kB
SwapTotal:       2097148 kB
SwapFree:        2097148 kB
Shmem:               236 kB
Slab:             119296 kB
SReclaimable:      56484 kB
SUnreclaim:        62812 kB


方式5:

[root@STCO6 ~]# awk '/^[s,S]/'  /proc/meminfo
SwapCached:            0 kB
SwapTotal:       2097148 kB
SwapFree:        2097148 kB
Shmem:               236 kB
Slab:             119352 kB
SReclaimable:      56488 kB
SUnreclaim:        62864 kB



7、显示/etc/passwd文件中其默认shell为非/sbin/nologin的用户;

方式1:

[root@STCO6 ~]# grep -v '/sbin/nologin$' /etc/passwd
root:x:0:0:root:/root:/bin/bash
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
suyi:x:500:500:suyi:/home/suyi:/bin/bash
testuser:x:501:501::/home/testuser:/bin/bash
testuser1:x:502:502::/home/testuser1:/bin/bash
testuser2:x:503:503::/home/testuser2:/bin/bash
testuser3:x:504:504::/home/testuser3:/bin/bash
testuser4:x:505:505::/home/testuser4:/bin/bash
testuser5:x:506:506::/home/testuser5:/bin/bash
mageia:x:1100:1100::/home/linux:/bin/bash
slackware:x:2002:2016::/home/slackware:/bin/tcsh
openstack:x:3003:2020::/home/openstack:/bin/bash
hadoop:x:2500:2500::/home/hadoop:/bin/bash

方式2:

[root@STCO6 ~]# cat /etc/passwd |grep -v /sbin/nologin
root:x:0:0:root:/root:/bin/bash
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
suyi:x:500:500:suyi:/home/suyi:/bin/bash
testuser:x:501:501::/home/testuser:/bin/bash
testuser1:x:502:502::/home/testuser1:/bin/bash
testuser2:x:503:503::/home/testuser2:/bin/bash
testuser3:x:504:504::/home/testuser3:/bin/bash
testuser4:x:505:505::/home/testuser4:/bin/bash
testuser5:x:506:506::/home/testuser5:/bin/bash
mageia:x:1100:1100::/home/linux:/bin/bash
slackware:x:2002:2016::/home/slackware:/bin/tcsh
openstack:x:3003:2020::/home/openstack:/bin/bash
hadoop:x:2500:2500::/home/hadoop:/bin/bash

8、显示/etc/passwd文件中其默认shell为/bin/bash的用户;

[root@STCO6 ~]#grep '/bin/bash$' /etc/passwd
root:x:0:0:root:/root:/bin/bash
suyi:x:500:500:suyi:/home/suyi:/bin/bash
testuser:x:501:501::/home/testuser:/bin/bash
testuser1:x:502:502::/home/testuser1:/bin/bash
testuser2:x:503:503::/home/testuser2:/bin/bash
testuser3:x:504:504::/home/testuser3:/bin/bash
testuser4:x:505:505::/home/testuser4:/bin/bash
testuser5:x:506:506::/home/testuser5:/bin/bash
mageia:x:1100:1100::/home/linux:/bin/bash
openstack:x:3003:2020::/home/openstack:/bin/bash
hadoop:x:2500:2500::/home/hadoop:/bin/bash



9、找出/etc/passwd文件中的一位数或两位数;

[root@STCO6 ~]# grep '\<[0-9]\{1,2\}\>' /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
rpc:x:32:32:Rpcbind Daemon:/var/cache/rpcbind:/sbin/nologin
vcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologin
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
haldaemon:x:68:68:HAL daemon:/:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
apache:x:48:48:Apache:/var/www:/sbin/nologin
saslauth:x:498:76:Saslauthd user:/var/empty/saslauth:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
gdm:x:42:42::/var/lib/gdm:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin



10、显示/boot/grub/grub.conf中以至少一个空白字符开头的行;

[root@STCO6 ~]# grep '^[[:space:]]' /boot/grub/grub.conf
root (hd0,0)
kernel /vmlinuz-2.6.32-642.el6.x86_64 ro root=/dev/mapper/vg_stco6-lv_root nomodeset rd_NO_LUKS LANG=en_US.UTF-8 rd_LVM_LV=vg_stco6/lv_swap rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto rd_LVM_LV=vg_stco6/lv_root  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet
initrd /initramfs-2.6.32-642.el6.x86_64.img



11、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行;

[root@STCO6 ~]# grep '^#[[:space:]]\+[^[:space:]]\+' /etc/rc.d/rc.sysinit
# /etc/rc.d/rc.sysinit - run once at boot time
# Taken in part from Miquel van Smoorenburg's bcheckrc.
# Check SELinux status
# Print a text banner.
# Only read this once.
# Initialize hardware
# Set default affinity
# Load other user-defined modules
# Load modules (for backward compatibility with VARs)
# Configure kernel parameters
# Set the hostname.
# Sync waiting for storage.
# Device mapper & related initialization
# Start any MD RAID arrays that haven't been started yet
# Remount the root filesystem read-write.
# Clean up SELinux labels
# If relabeling, relabel mount points.
# Mount all other filesystems (except for NFS and /proc, which is already
# mounted). Contrary to standard usage,
# filesystems are NOT unmounted in single user mode.
# The 'no' applies to all listed filesystem types. See mount(8).
# Check to see if a full relabel is needed
# Update quotas if necessary
# Initialize pseudo-random number generator
# Configure machine if necessary.
# Clean out /.
# Do we need (w|u)tmpx files? We don't set them up, but the sysadmin might...
# Clean up /var.
# Clean up utmp/wtmp
# Clean up various /tmp bits
# Make ICE directory
# Start up swapping.
# Set up binfmt_misc
# Boot time profiles. Yes, this should be somewhere else.
# Now that we have all of our basic modules loaded and the kernel going,
# let's dump the syslog ring somewhere so we can find it later
# create the crash indicator flag to warn on crashes, offer fsck with timeout
# Let rhgb know that we're leaving rc.sysinit



12、打出netstat -tan命令执行结果中以‘LISTEN’,后或跟空白字符结尾的行;

[root@STCO6 ~]# netstat -tan | grep "LISTEN[[:space:]]*$"
tcp        0      0 0.0.0.0:111                 0.0.0.0:*                   LISTEN      
tcp        0      0 0.0.0.0:38197               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 :::47433                    :::*                        LISTEN      
tcp        0      0 :::111                      :::*                        LISTEN      
tcp        0      0 :::22                       :::*                        LISTEN      
tcp        0      0 ::1:631                     :::*                        LISTEN      
tcp        0      0 ::1:25                      :::*                        LISTEN



13、添加用户bash, testbash, basher, nologin (此一个用户的shell为/sbin/nologin),而后找出当前系统上其用户名和默认shell相同的用户的信息;

方式1:

[root@STCO6 ~]# grep '^\([^:]\+\):.*/\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:3004:3004::/home/bash:/bin/bash
nologin:x:3007:3007::/home/nologin:/sbin/nologin

方式2:

[root@STCO6 ~]# grep "^\([[:alnum:]]\+\>\).*\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:3004:3004::/home/bash:/bin/bash
nologin:x:3007:3007::/home/nologin:/sbin/nologin