用户权限管理与正则表达式练习

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

完成命令:
cp -r /etc/skel /home/tuser1
chmod -R g=,o= /home/tuser1

示例:

[[email protected] ~]# cp -r /etc/skel /home/tuser1
[[email protected] ~]# ls -al /home/tuser1
总用量 12
drwxr-xr-x. 2 root root  62 3月  25 18:29 .
drwxr-xr-x. 9 root root 107 3月  25 18:29 ..
-rw-r--r--. 1 root root  18 3月  25 18:29 .bash_logout
-rw-r--r--. 1 root root 193 3月  25 18:29 .bash_profile
-rw-r--r--. 1 root root 231 3月  25 18:29 .bashrc
[[email protected] ~]# chmod -R g=,o= /home/tuser1
[[email protected] ~]# ls -al /home/tuser1
总用量 12
drwx------. 2 root root  62 3月  25 18:29 .
drwxr-xr-x. 9 root root 107 3月  25 18:29 ..
-rw-------. 1 root root  18 3月  25 18:29 .bash_logout
-rw-------. 1 root root 193 3月  25 18:29 .bash_profile
-rw-------. 1 root root 231 3月  25 18:29 .bashrc

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

完成命令:vim /etc/group
向文本末行添加 ‘‘hadoop:x:1000‘‘

示例:

[[email protected] ~]# vim /etc/group
mem:x:8:
 10 kmem:x:9:
 11 wheel:x:10:
 12 cdrom:x:11:
 13 mail:x:12:postfix
 ······
 37 postfix:x:89:
 38 sshd:x:74:
 39 chrony:x:995:
 40 hadoop:x:1000:        添加组名及组的ID号
:wq        输入wq,保存并退出!
[[email protected] ~]# tail -1 /etc/group       查看是否添加成功。
hadoop:x:1000:      

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

完成命令:vim /etc/passwd
向文本末行添加"hadoop:x:1000:1000::/home/hadoop:/bin/bash"

示例:

[[email protected] ~]# vim /etc/passwd
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
......
chrony:x:997:995::/var/lib/chrony:/sbin/nologin
hadoop:x:1000:1000::/home/hadoop:/bin/bash    添加用户名,用户和组ID号,家目录及默认shell路径
:wq      保存并退出!
[[email protected] ~]# tail -1 /etc/passwd
hadoop:x:1000:1000::/home/hadoop:/bin/bash
[[email protected] ~]# id hadoop
uid=1000(hadoop) gid=1000 组=1000       用户已成功创建                   

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

完成命令:
cp -r /etc/skel /home/hadoop
chmod g=,o= /hom/hadoop

示例:

[[email protected] ~]# cp -r /etc/skel /home/hadoop
[[email protected] ~]# ls -ld /home/hadoop
drwxr-xr-x. 2 root root 62 3月  25 16:50 /home/hadoop
[[email protected] ~]# chmod g=,o= /home/hadoop
[[email protected] ~]# ls -ld /home/hadoop
drwx------. 2 root root 62 3月  25 16:50 /home/hadoop

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

完成命令:chown -R hadoop:hadoop /home/hadoop

示例:

[[email protected] ~]# chown -R hadoop:hadoop /home/hadoop
[[email protected] ~]# ls -ld /home/hadoop
drwx------. 2 hadoop hadoop 62 3月  25 16:50 /home/hadoop
[[email protected] ~]# ls -al /home/hadoop
总用量 12
drwx------. 2 hadoop hadoop  62 3月  25 16:50 .
drwxr-xr-x. 4 root   root    36 3月  25 16:50 ..
-rw-r--r--. 1 hadoop hadoop  18 3月  25 16:50 .bash_logout
-rw-r--r--. 1 hadoop hadoop 193 3月  25 16:50 .bash_profile
-rw-r--r--. 1 hadoop hadoop 231 3月  25 16:50 .bashrc

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

完成命令:
grep -i ^[s] /proc/meminfo
grep ^[S,s] /proc/meminfo

示例:

[[email protected] ~]# grep -i ^[s] /proc/meminfo
SwapCached:            0 kB
SwapTotal:       2097148 kB
SwapFree:        2097148 kB
Shmem:              6896 kB
Slab:              80692 kB
SReclaimable:      43120 kB
SUnreclaim:        37572 kB
[[email protected] ~]# grep ^[S,s] /proc/meminfo
SwapCached:            0 kB
SwapTotal:       2097148 kB
SwapFree:        2097148 kB
Shmem:              6896 kB
Slab:              80692 kB
SReclaimable:      43120 kB
SUnreclaim:        37572 kB

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

完成命令:
grep -v ‘/sbin/nologin‘ /etc/passwd | cut -d: -f1

示例:

[[email protected] ~]# grep -v ‘/sbin/nologin‘ /etc/passwd | cut -d: -f1
root
sync
shutdown
halt
hadoop

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

完成命令:
grep ‘/bin/bash‘ /etc/passwd | cut -d: -f1

示例:

[[email protected] ~]# grep ‘/bin/bash‘ /etc/passwd | cut -d: -f1
root
hadoop

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

完成命令:grep ‘\<[0-9]{1,2}\>‘ /etc/passwd

示例:

[[email protected] ~]# 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
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/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
tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin

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

完成命令:
grep ‘^[[:space:]]+‘ /boot/grub2/grub.cfg

示例:

[[email protected] ~]# 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="${chosen}"
    save_env saved_entry
  fi
  ......

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

完成命令:
grep ‘^#[[:space:]] \ + [^[:space:]] \ + ‘ /etc/rc.d/rc.local

示例:

[[email protected] ~]# grep ‘^#[[:space:]]\+[^[:space:]]\+‘ /etc/rc.d/rc.local
# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
# It is highly advisable to create own systemd services or udev rules
# to run scripts during boot instead of using this file.
# In contrast to previous versions due to parallel execution during boot
# this script will NOT be run after all other services.
# Please note that you must run ‘chmod +x /etc/rc.d/rc.local‘ to ensure
# that this script will be executed during boot.

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

完成命令:netstat -tan | grep ‘LISTEN[[:space:]] $‘*

示例:

[[email protected] ~]# 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:25            0.0.0.0:*               LISTEN
tcp6       0      0 :::22                   :::*                    LISTEN
tcp6       0      0 ::1:25                  :::*                    LISTEN     

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

完成命令:
useradd ‘username’
grep -E "^( [^:]+ \ >). \1$" /etc/passwd*

示例:

[[email protected] ~]# useradd bash
[[email protected] ~]# useradd testbash
[[email protected] ~]# useradd basher
[[email protected] ~]# useradd nologin
[[email protected] ~]# usermod -s /sbin/nologin nologin
[[email protected] ~]# tail -4 /etc/passwd
bash:x:1001:1001::/home/bash:/bin/bash
testbash:x:1002:1002::/home/testbash:/bin/bash
basher:x:1003:1003::/home/basher:/bin/bash
nologin:x:1004:1004::/home/nologin:/sbin/nologin
[[email protected] ~]# grep -E "^([^:]+\>).*\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


用户权限管理与正则表达式练习

原文地址:http://blog.51cto.com/12598964/2090927

时间: 2024-08-29 02:55:20

用户权限管理与正则表达式练习的相关文章

实现业务系统中的用户权限管理--实现篇

在设计篇中,我们已经为大家阐述了有关权限管理系统的数据库设计,在本篇中,我们将重点放在其实现代码部分.为了让你能够更直接更有效的看到全部动作的代码,我们使用"动作分解列表"的方式来陈述每个动作以及相关资源. 实现权限管理功能的动作 动作分解 动作名 相关表名 操作集类型 (S,U,I,D,SQL) 表单 模组 字符资源 是否分页? 返回提示? 权限检测 权限初始化安装 setup 无 无 无 setup setupok 否 否 否 显示添加管理组界面 addnewgroup 无 无 a

mysql用户权限管理

mysql数据在实际生产环境中大量被使用,那平时在做好服务器上防火墙策略以外平时,对mysql下的用户权限也要严格管理,mysql的用户权限都是放在mysql.user这张表里,平时的用户权限管理都是隐式使用着这张表的,先说下权限: 权限 意义 select 查询 insert 插入 update 更新 delete 删除记录,一般用于清空表或者某一条记录 create 创建 drop 删除,从表空间里删除 grant 授予,一般用于给用户授权 references 引用 index 索引 al

Linux用户权限管理(二)

今天继续讲下用户权限管理,上一章节讲述了用户和组的创建.修改和删除.这篇文章延续上篇文章,来讲述用户具体的权限管理. 首先我们来讲下权限的相关说明:权限分为读(r).写(w).执行(x).对于文件和目录,其权限对应的功能不尽相同. 文件权限: 读(r):查看文件类似cat的权限 写(w):对文件有编辑和删除权限. 执行(x):具有文件执行权限,可以将文件当作命令提交给内核运行 目录权限: 读(r):对目录下的文件只有ls查看权限(不能使用ls -l) 写(w):可以在目录下创建文件 执行(x):

linux 用户管理,用户权限管理,用户组管理

linux 用户管理,用户权限管理,用户组管理 一:ls -l 命令 解释 第个d表示是目录,如果是文件是-,如果是连接是l 第2到4个 rwx 表示创建者的操作权限 r 读,w 写,x 执行 第5到7个 rwx 表示该文件或目录对所属组操作权限, 依次的后面3个 r-x 表示该文件或目录对其他人的操作权限,这里是 r读,和 x 执行权限 权限后面的 数字2 表示当前目录或文件的连接数量: 数据后面的 名字,表示的是该文件或目录的所有者 依次后面的 名字,表示该文件或目录的所在组: 依次后面的

【转载】SQL Server 2005数据库用户权限管理的设置

SQL Server 2005数据库中,我们可以设置每个用户对应的权限,以提高数据库的安全性.这类用户权限设置的应用非常广泛.比如设置某个用户访问某个表的权限,甚至是CRUD的权限,更小粒度的还可以去到某几个字段的访问权限等等.其实这一设置过程是很简单的,接下来就让我们来一起学习吧. 一.操作步骤 1. 首先进入数据库级别的[安全性]-[登录名]-[新建登录名] (图1:新建登录名) 2. 在[常规]选项卡中,如下图所示,创建登陆名,并设置默认的数据库. (图2:设置选项) 3. 在[用户映射]

数据的备份与恢复与用户权限管理

一.数据的备份与恢复 将已有的数据复制一份,存放到其他的服务器上.MySQL提供的备份有很多,常见的有文本备份.数据备份.sql备份等 1.文本备份 文本备份是最简单的一种备份方式! 一般认为,文本备份只适合Myisam存储引擎的数据表,就是将数据表的三个文件(结构.数据.索引)备份到其他服务器就行了 文本备份的特点: 简单(只需要复制粘贴),每次都需要备份全部的文件,非常浪费磁盘空间 2.数据备份 1)备份语法 select *|字段列表 into outfile 文件地址 from 表名;

django 基于proxy实现用户权限管理

项目中经常会遇到用户权限管理的问题,django adminsite已经提供非常实用的用户权限管理机制.不过有些时候,我们希望根据相关用户属性来过滤adminsite中显示的内容.下文将结束如何实现: 原始类 假设我有这么一个问卷类,基于这个类可以实现增删改查的功能 class wenjuan(models.Model): """ 问卷 """ name=models.CharField(u'问卷名称',max_length=128) breif

RDIFramework.NET ━ 9.8 用户权限管理 ━ Web部分

RDIFramework.NET ━ .NET快速信息化系统开发框架 9.8 用户权限管理 -Web部分 在实际应用中我们会发现,权限控制会经常变动,如:需要调整角色的分配,需要收回与授予某些角色.用户可访问的模块(菜单)与相应的操作权限.需要给某些角色添加与移除相应的用户等等,如果没有一个灵活可靠的配置管理工具将会使权限控制变得十分麻烦.用户权限管理模块就是为了方便用户.角色权限的集中统一管理而开发的模块.在用户权限管理模块,操作员可以添加或移动用户到指定的角色.可以分配或授予指定用户的模块(

RBAC用户权限管理数据库设计

http://minjiechenjava.iteye.com/blog/1759482 RBAC用户权限管理数据库设计 博客分类: RBAC 权限设计 RBAC RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联.简单地说,一个用户拥有若干角色,每一个角色拥有若干权限.这样,就构造成"用户-角色-权限"的授权模型.在这种模型中,用户与角色之间,角色与权限之间,一般者是多对多的关系.(如下图) 角色是什么?可以理解为一定数