Linux系统加固之Centos7用户和组权限设置

Linux_Centos7用户和组简介

Linux操作系统是多用户多任务操作系统,包括:用户账户组账户两种;

  • 用户账户可分为:超级用户、普通用户、虚拟用户
    超级用户:root用户,具有管理员权限的用户;
    普通用户:可以登录系统,操作那些有权限的文件,这类用户由系统管理员手动添加;普通用户属性有:用户名、口令、用户UID、用户主目录、登录shell;
    虚拟用户:又称伪用户,这类用户是系统默认创建或由某些应用程序安装后创建,它们不具有登录系统的条件,这类用户的存在只是方便系统的管理。
  • 组账户:用户账户的集合
    组账户分为标准组和私有组。

一、查看用户和用户组

  1. 用户列表文件:/etc/passwd

  2. 用户组列表文件:/etc/group

  3. 查看系统中有哪些用户:cut -d : -f 1 /etc/passwd

  4. 查看可以登录系统的用户:

    cat /etc/passwd | grep -v /sbin/nologin | cut -d : -f 1

  5. 查看用户操作:w命令(需要root权限)

  6. 查看某一用户:w 用户名

  7. 查看登录用户:who

  8. 查看用户登录历史记录:last

  9. 显示用户信息
    id user
    cat /etc/passwd

  10. 显示最新的n条 user或者group
    tail -n2 /etc/passwd
    tail -n3 /etc/group

二、创建用户和用户组

  1. 新建用户并设置密码
    adduser testuser //新建testuser 用户
    passwd testuser //给testuser 用户设置密码
  2. 建工作组
    groupadd testgroup //新建test工作组
  3. 新建用户同时增加工作组
    useradd -g testgroup testuser //新建testuser用户并增加到testgroup工作组
    //注::-g 所属组 -d 家目录 -s 所用的SHELL
  4. 给已有的用户增加工作组
    usermod -G groupname username
  5. 临时关闭
    在/etc/shadow文件中属于该用户的行的第二个字段(密码)前面加上就可以了。想恢复该用户,去掉即可
    //或者使用如下命令关闭用户账号:
    passwd testuser –l
    //重新释放:
    passwd testuser –u

三、删除用户和用户组

  • userdel testuser //删除用户
  • groupdel testgroup //删除组
  • usermod –G testgroup testuser
    强制删除该用户的主目录和主目录下的所有文件和子目录

四、用户和用户组配置文件

  1. 用户配置文件介绍
    用户配置相关文件有两个:/etc/passwd /etc/shadow
    这两个文件是互补的,shadow是passwd的影子文件,主要用来保证用户密码的安全性
    1.1、/etc/passwd 说明
    说明:每行对应相应用户的配置,共7个字段,用冒号分隔,各字段详情 用户名:加密口令:UID(用户标识号):GID(组标识号):个人信息描述(注释说明):用户主目录:默认登录的shell
    passwd文件
    1.2、 /etc/shadow说明
    每行对应一个对一个用户配置,每行共9个字段,以冒号分隔,详情如下:
    用户名:加密后的用户口令:上次修改口令时间 :两次修改口令最少间隔天数:两次修改口令最大间隔天数:在口令过期前多少天警告用户:口令过期后多少天禁用用户:用户过期日期:作为保留(无意义)
    shadow文件
  2. 用户组管理
    用户组配置文件主要有两个:/etc/group /etc/gshadow
    配置文件详解
    2.1、/etc/group 说明
    文件中的一行对应一个用户组的配置信息,共4个字段,同样以 : 分隔
    用户组名称:用户组口令:GID :组成员列表
    在这里插入图片描述
    2.2、/etc/gshadow 说明
    每一行对应一个组的配置信息,共4个字段,同样以冒号分隔
    用户组名称:用户组口令:用户组管理者:用户组成员列表
    在这里插入图片描述
  3. 详细介绍
    3.1 、用户和密码
    -u 指定uid或者属用户名字
    -g 指定gid或者属组名字
    -d 指定用户家目录
    -s 指定shell
    -M 不创建家目录
    -G 添加扩展组,可以一次性添加多个组,使用“,”分开
    3.2、增加uid为2000,test为1000的用户sgh
    useradd -u 2000 -g 1000 test
    3.3、指定家目录、shell
    useradd -d /home/test -s /sbin/nologin test
    3.4、创建用户同时不创建用户家目录
    useradd -M test
    3.5、删除用户同时删除目录
    userdel -r test
    3.6、usermod更改用户属性
    chmod -R ug+w /data/code # 将目录添加用户组可写
  4. sudo命令
    配置文件vim /etc/sudoers
    4.1 添加授权用户
    Allow root to run any commands anywhere
    root ALL=(ALL) ALL
    sgh ALL=(root) NOPASSWD:/usr/bin/ls,/user/bin/mv,/usr/bin/cp
    在这里插入图片描述
    第一部分是用户名,指定哪个用户将拥有sudo的权利
    第二部分右边的ALL其实是一个用户名,即,sgh用户可以切换到哪个用户的身份,如果是ALL就表示所有用户。 sgh 可以切换到root身份;
    第三部分ALL,用来指定sgh用户可以使用的命令都有哪些,如果是多个命令,用英文逗号隔开。可以在前面添加NOPASSWD 不使用密码。
    4.2 添加授权用户组
    %wheel ALL=(ALL) ALL 以组的形式添加。
    Allows people in group wheel to run all commands
    %wheel ALL=(ALL) ALL
    %dev ALL=(root) NOPASSWD: ALL
  5. acl权限:
    5.1. 查看:
    getfacl a.txt #查看名称为a.txt的文件的acl权限
    getfacl /root #查看root目录下的acl权限
    5.2. 操作:
    5.2.1 添加
    setfacl -m user:lee:wrx a.txt #使用户lee对文件a.txt的权限为wrx
    setfacl -m group:wang:wrx a.txt #使组对文件a.txt的权限为wrx
    setfacl -d -m user:lee:wrx /root #使lee对/root文件夹里面的所有文件都有wrx权限
    setfacl -R user:lee:wrx /root #使lee在/root文件夹下所有的文件的权限为wrx
    5.2.2 修改:
    setfacl -x user:lee:w a.txt #修改lee对文件a.txt的权限为w
    5.2.3 删除:
    setfacl -k #删除附加的权限
    当创建一个新用户时,若没有指定他所属的组,centos就建立以个和该用户相同的私有组,此私有组中只包括用户自己。
    标准组可以容纳多个用户,如果要使用标准组,那创建一个新的用户时就应该指定他所属于的组,从另外一方面讲,同一个用户可以属于多个组。当一个用户属于多个组时,其登录后所属的组是主组,其它组为附加组。
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值