用户相关命令以及权限

1.和用户相关的文件

cat /etc/passwd 记录系统用户信息文件

cat /etc/passwd

第一列: 用户名

第二列: 用户密码信息

第三列: 用户的uid信息

第四列: 用户的gid信息

第五列: 用户的注释信息

mysql(manager database user)

www  (manager web server)

第六列: 用户家目录信息

第七列: 用户登录系统方式

/bin/bash      --- 通用的解释器

/usr/bin/sh    --- 等价于/bin/bash

/usr/bin/bash

/sbin/nologin      --- 无法登录系统

/usr/sbin/nologin

/etc/shadow* --- 系统用户密码文件

/etc/group*      --- 组用户记录文件

/etc/gshadow*    --- 组用户密码信息

2.系统用户相关命令

a.i 创建用户

useradd xxx

a.ii 创建虚拟用户

useradd -M -s /sbin/nologin

-M 不创建家目录

-s 指定使用的shell方式

-u 指定用户uid数值信息 useradd xxx -u 1001

-g 指定用户所属的主要组信息 useradd xx -g root

-G 指定用户所属的附属组信息  

-c 添加指定用户注释说明信息

3.修改用户信息

usermod  

-s 修改用户的登录方式

-g    修改用户的主要的组信息

-G    修改用户的附属组信息

c    修改用户的注释信息

修改用户shell信息

usermod hhh -s /sbin/nologin

删除用户信息

userdel  xxx

userdel -r xxx 彻底删除用户以及其家目录 

用户密码设置

passwd xxx - 交互式密码

echo 12345 | passwd -- stdin 

企业中设置密码和管理密码的方式

 01. 密码要复杂12位以上字母数字及特殊符号

 02. 保存好密码信息

 03. 大企业用户和密码统一管理(相当于活动目录AD)

    openldap域

  用户信息统一保存在一个用户管理服务器中 用户的家目录中的文件 用户密码 用户名称

 04. 动态密码:动态口令,第三方提供自己开发也很简单。


4.用户组相关命令(group命令用的不多)

groupadd xxx   创建用户组=useradd xxx -g xxx

# groupmod 修改用户组信息

# groupdel 删除用户组信息

5.用户属主属组设置命令

chown 修改属主和属组信息

chown -R 递归修改目录属主和属组信息

6. 用户信息查看命令

  id root 显示用户信息命令 (uid gid)

w root 显示正在登陆系统的用户信息


w


01. 什么用户登录到了系统中

02. 登录的方式 

  pts/x 远程登录系统

  tty1  本地登录

     echo "请不要修改恢复hosts文件配置" >/dev/pts/1  - 可以发送到其他主机桌面

 03. 从哪连接的服务器

 04. 登录时间

 05. IDLE 空闲时间

 06. 用户操作系统 消耗的CPU资源时间

 07. 用户在干什么

7.sudo

普通用户提权方法:

1.登陆root用户 su - root

2.root用户给指定文件权限 chomd o+rwx

3.sudo

a 怎么进行授权:

visudo == vi /etc/sudoers

 93 oldboy  ALL=(ALL)      /usr/sbin/useradd, /usr/bin/rm

visudo -c --- 配置好的文件语法检查

/etc/sudoers: parsed OK

b 如何验证oldboy已经获取了root用户能力

sudo -l

          We trust you have received the usual lecture from the local System

          Administrator. It usually boils down to these three things:

#1) Respect the privacy of others.

              #2) Think before you type.

              #3) With great power comes great responsibility.

          [sudo] password for oldboy:

          User oldboy may run the following commands on oldboyedu:

              (ALL) /usr/sbin/useradd, /usr/bin/rm

c 执行root用户可以执行的命令

          [oldboy@oldboyedu ~]$ sudo useradd hhh

          [oldboy@oldboyedu ~]$ sudo rm -f /etc/hosts

rm -f 之间一定要备份!

cp /etc/hosts /etc/hosts.bak

cp /etc/hosts{,.bak}


扩展配置方法:

1) 授权单个命令或多个命令 /usr/sbin/useradd, /usr/bin/rm, ,

2) 授权单个命令目录或多个命令目录 (需要排除部分特权命令) /usr/sbin/*, !/usr/sbin/visudo , /usr/bin/*

3) 不需要输入用户密码,可以直接sudo方式执行命令 NOPASSWD: /usr/sbin/*, !/usr/sbin/visudo , /usr/bin/*

8.su 与 su -的区别

su 只修改部分坏境变量 

su - 修改全部环境变量 (一般用su -)

env命令查看环境变量路径

9.设置特殊权限位

setuid: 4

权限设置方法:

chmod u+s  文件信息

chmod 4755 文件信息

在属主权限位多出s信息

总结: setuid权限位设置,将文件属主拥有的能力,分配给所有人


setgid: 2

chmod g+s /bin/cat

chmod 2755 /bin/cat

总结: setgid权限位设置,将文件属组拥有的能力,分配给所有用户组


sticky bit:粘滞位: (创建一个共享目录) 1

作用:

可以将不同用户信息放置到共享目录中,实现不同用户数据可以互相查看,但是不可以互相随意修改

设置方法:

chmod o+t  目录信息

chmod 1777 目录信息

系统中已经准备好了一个共享目录,权限位1777

[root@oldboyedu ~]# ll -d /tmp/

    drwxrwxrwt. 10 root root 4096 Apr 25 09:35 /tmp/

10.总结用户权限设置方法

01. 直接切换用户 su - (*)

    优势: 简单快捷

    劣势: 风险太高(root权限泛滥)

02. 修改数据文件权限  9位权限位 属主信息

    优势: 只针对某个数据文件进行修改 只针对某个用户进行授权

    劣势: 需要了解权限位功能

    03. 采用sudo提权方式

    优势: 可以利用文件编辑指定用户有哪些指定权限  sa运维部门 dev开发人员

    劣势: 配置规划复杂

04. 修改数据文件权限  3位权限位

    优势: 设置权限简单方便

劣势: 设置好的权限所有用户都拥有

11.重要文件上锁

如何防范系统中的重要文件不被修改(root用户也不能修改)

给文件加上锁头

目的: 使root用户也不能直接修改相应文件

设置方法:chattr +i /etc/passwd

解锁:chattr -i /etc/passwd

查看上没上锁 lsattr /etc/passwd 

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。