4.Linux权限管理与grep命令应用

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

       cp -r /etc/skel /home/tuser1

       chmod 700 /home/tuser1

       cp:文件复制命令

         格式:cp [OPTION]… SOURCE… DIRECTORY

                     -r:递归复制

                     -a:如果source是多个源的话,就需要用到

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

       vim /etc/group 

         需要重编辑模式到输入模式

         i:从编辑模式>输入模式

           hadoop:x:2004:

        回顾:vim 三种模式

               编辑模式 –> 输入模式

                         i

               输入模式–>编辑模式

                        esc

               末行模式–>

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

      vim /etc/passwd 

      输入i:进入输入模式

      

hadoop:x:2004:2004::/home/hadoop:/bin/bash

[root@localhost skel]# vim /etc/passwd

[root@localhost skel]# id hadoop

uid=2004(hadoop) gid=2004(hadoop) groups=2004(hadoop)

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

     

     cp -r /etc/skel /home/hadoop

       chmod 700 /home/hadoop

       cp:文件复制命令

         格式:cp [OPTION]… SOURCE… DIRECTORY

                     -r:递归复制

                     -a:如果source是多个源的话,就需要用到

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

      chown:修改文件属性的命令

           -R:递归修改

      chown -R hadoop:hadoop /home/hadoop


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

       grep -i “^s” /proc/meminfo

       grep “^[s,S]” /proc/meminfo

 

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

       grep -v “/sbin/nologin$” /etc/passwd | cut -d: -f1

       

       grep:文本过滤命令

           grep [option] pattern [file]..

                 –color=auto:对表达式匹配到的内容进行着色

                 -v:显示没有被匹配到的字符串

                 -i:不区分大小写

                 -o:紧显示匹配到的字符串

                 -q:侵没模式,不显示匹配到的内容,只会返回是否匹配到,如果匹配到哦着显示0否则显示1

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

          grep “/bin/bash$” /etc/passwd | cut -d : -f1

[root@localhost hadoop]# grep "/bin/bash$" /etc/passwd | cut -d : -f1
root
weblogic
mandriva
tuser1
hadoop
bash
testbsh
basher

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

         grep “\<[0-9]\{1,2}\>” /etc/passwd

[root@localhost hadoop]# 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
vcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologin
haldaemon:x:68:68:HAL daemon:/:/sbin/nologin
saslauth:x:497:76:"Saslauthd user":/var/empty/saslauth:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
apache:x:48:48:Apache:/var/www:/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中以至少一个空白字符开头的行;

        grep “^[[:space:]]\{1,\}” /boot/grub/grub.conf

[root@localhost hadoop]# grep "^[[:space:]]\{1,\}" /boot/grub/grub.conf
root (hd0,0)
kernel /vmlinuz-2.6.32-358.el6.i686 ro root=UUID=a7a4e707-a51b-41fd-9ac6-7c36e53afb26 rd_NO_LUKS rd_NO_LVM.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet
initrd /initramfs-2.6.32-358.el6.i686.img

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

       grep “^#[[:space:]][[:space:]]\{1,\}” /etc/rc.d/rc.sysinit


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

  [root@localhost hadoop]# netstat -tan | grep "\<LISTEN\>[[:space:]]*$"
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 :::22                       :::*                        LISTEN      
tcp        0      0 ::1:631                     :::*                        LISTEN      
tcp        0      0 ::1:25                      :::*                        LISTEN

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

[root@localhost hadoop]# useradd bash
[root@localhost hadoop]# useradd testbsh
[root@localhost hadoop]# useradd basher
[root@localhost hadoop]# useradd -s /sbin/nologin nologin
[root@localhost hadoop]# grep "/sbin/nologin$" /etc/passwd | cut /-d : -f1
cut: /-d: No such file or directory
cut: :: No such file or directory
[root@localhost hadoop]# grep "/sbin/nologin$" /etc/passwd | cut -d : -f1
bin
daemon
adm
lp
mail
uucp
operator
games
gopher
ftp
nobody
dbus
usbmuxd
vcsa
rtkit
avahi-autoipd
abrt
pulse
haldaemon
saslauth
postfix
ntp
apache
gdm
sshd
tcpdump
nologin

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

       grep -i “^s” /proc/meminfo

       [root@localhost hadoop]# grep -i "^s" /proc/meminfo
SwapCached:            0 kB
SwapTotal:       2064376 kB
SwapFree:        2064376 kB
Shmem:              4128 kB
Slab:              53240 kB
SReclaimable:      20592 kB
SUnreclaim:        32648 kB

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

      grep -v “/sbin/nologin$” /etc/passwd

    ot: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
weblogic:x:500:500:weblogic:/home/weblogic:/bin/bash
gentoo:x:501:503:gentoo distribution:/home/gentoo:/bin/csh
mandriva:x:1005:501::/home/mandriva:/bin/bash
slackware:x:2002:501::/home/slackware:/bin/tcsh
tuser1:x:2003:2003::/home/tuser1:/bin/bash
hadoop:x:2004:2004::/home/hadoop:/bin/bash

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

    grep “/bin/bash$” /etc/passwd

[root@localhost hadoop]# grep --color=auto "/bin/bash$" /etc/passwd
root:x:0:0:root:/root:/bin/bash
weblogic:x:500:500:weblogic:/home/weblogic:/bin/bash
mandriva:x:1005:501::/home/mandriva:/bin/bash
tuser1:x:2003:2003::/home/tuser1:/bin/bash
hadoop:x:2004:2004::/home/hadoop:/bin/bash

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

    grep “\<[[:digit:]]\{1,2\}\>” /etc/passwd

[root@localhost hadoop]# grep --color=auto "\<[[:digit:]]\{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
vcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologin
haldaemon:x:68:68:HAL daemon:/:/sbin/nologin
saslauth:x:497:76:"Saslauthd user":/var/empty/saslauth:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
apache:x:48:48:Apache:/var/www:/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

原创文章,作者:N27_jiangyefan,如若转载,请注明出处:http://www.178linux.com/82561

(0)
N27_jiangyefanN27_jiangyefan
上一篇 2017-07-23
下一篇 2017-07-24

相关推荐

  • N28-第二周

    1. Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。
    2. bash的工作特性之命令執行狀態返回值和命令行展開所涉及的內容及其示例演示。
    3. 請使用命令行展開功能來完成以下練習:
    (1) 創建/tmp目錄下的a_c、a_d、b_c、b_d。
    (2) 創建/tmp/mylinux目錄下的bin、boot/grub、dev、etc/rc.d/init.d、etc/sysconfig/network-scripts、lib/modules、
    lib64、proc、sbin、sys、tmp、usr/local/bin、usr/local/sbin、var/lock、var/log、var/run目錄。
    4. 如何查看文件的元數據,其信息有哪些,分別表示什麼含意?如何修改文件的時間戳信息?
    5. 如何定義一個命令的別名?如何在命令中引用另一個命令的執行結果?
    6. 顯示/var目錄下所有以L小寫開頭,以一個小寫字母結尾,且中間至少出現一位數字(可以有其它字符)的文件或目錄。
    7. 顯示/etc目錄下,以任意一個數字開頭,且以非數字結尾的文件或目錄。
    8. 顯示/etc目錄下,以非字母開頭,後面跟了一個字母以及其他任意長度任意字符的文件或目錄。
    9. 在/tmp目錄下創建以tfile開頭,後跟當前日期和時間的文件,文件名形如:tfile-2016-05-27-09-32-22。
    10. 複製/etc目錄下所有以p開頭,以非數字結尾的文件或目錄到/tmp/mytest1目錄中。
    11. 複製/etc目錄下所有以.d結尾的文件或目錄至/tmp/mytest2目錄中。
    12. 複製/etc目錄下所有以L小寫或m或n開頭,以.conf結尾的文件至/tmp/mytest3目錄中。

    Linux干货 2017-12-14
  • 网络接口bonding的设置、网卡别名的设置

    网络接口bonding的设置、网卡别名的设置 网络接口bonding的设置 1.bonding的原理 Bonding就是将多块网卡绑定同一IP 地址对外提供服务,可以实现高可用或者负载均衡。当然,直接给两块网卡设置同一IP 地址是不可能的。通过bonding ,虚拟一块网卡对外提供连接,物理网卡的被修改为相同的MAC 地址。 2.Bonding 的工作模式 …

    Linux干货 2016-09-05
  • vsftpd, samba, nfs, mariadb

    2018/2/13 11:45 第十一周

    2018-02-13
  • CentOS 6.5下编译安装httpd+mysql+php过程实录

    一、安装环境     Linux系统:CentOS 6.5     Apache版本:http-2.4.12     MySQL版本:MySQL 5.6.24     PHP版本:PHP-5.6.8 …

    Linux干货 2015-05-18
  • linux系统启动及kickstart

    1、简述linux操作系统启动流程
    2、简述grub启动引导程序配置及命令行接口详解
    3、实现kickstart文件制作与光盘镜像制作

    2018-01-17
  • 使用Openssl构建私有CA

    使用Openssl构建私有CA Openssl是SSL的开源实现,是一种安全机密程序,主要用于提高远程登录访问的安全性。也是目前加密算法所使用的工具之一,功能很强大。     Openssl为网络通信提供安全及数据完整性的一种安全协议,包括了主要的密码算法、常用的密钥和证书封装管理功能(CA)以及SSL协议,并提供了丰…

    Linux干货 2015-10-07

评论列表(1条)

  • 马哥教育
    马哥教育 2017-07-27 00:17

    总结的不错,注意下前后排版会更好,继续加油~