码迷,mamicode.com
首页 > 其他好文 > 详细

用户管理及权限

时间:2020-01-23 13:54:23      阅读:105      评论:0      收藏:0      [点我收藏+]

标签:opera   好的   脚本   get   环境   home   span   table   版权   

目录

1.系统的启动流程

2.系统的用户管理及权限

3.系统的用户(组)命令

1.系统的启动流程

 

centos6

 

centos7

 

步骤

作用

步骤

作用

01. 加电自检

检查服务器硬件是否正常

01. 加电自检

检查服务器硬件是否正常

02. MBR引导

读取磁盘的MBR存储记录信息,引导系统启动

02. MBR引导

读取磁盘的MBR存储记录信息,引导系统启动

03. grup菜单

选择启动的内核/进行单用户模式重置密码

03. grup菜单

选择启动的内核/进行单用户模式重置密码

04. 加载系统内核信息

可以更好的使用内核控制硬件

04. 加载系统内核信息

可以更好的使用内核控制硬件

05. 系统的第一个进程运行起来 init (串行)

init进程控制后续各种服务的启动: 启动顺序 网络服务 sshd 

05. 系统的第一个进程运行起来 systemd (并行)

服务启动的时候,同时一起启动

06. 加载系统运行级别文件

/etc/inittab

06. 读取系统启动文件

/etc/systemd/system/default.target

07. 初始化脚本运行

初始化系统主机名称 和 网卡信息

07. 读取系统初始化文件

/usr/lib/systemd/system/sysinit.target

08. 运行系统特殊的脚本

服务运行的脚本 

08. 使服务可以开机自启动

/etc/systemd/system 加载此目录中的信息,实现服务开机自动启动

09. 运行mingetty进程

显示开机登录信息界面

09. 运行mingetty进程

显示开机登录信息界面

2.系统的用户管理及权限
1.用户分类

用户分类

用户示例

uid

权限

管理员用户

root

0

权利至高无上

虚拟用户

nobody

1-999

管理进程

没家目录,不能登录系统

普通用户

lbz

1000+

权利有限

2.文件信息

简写

全写

作用

r

read

可以读文件的内容

w

write

可以编辑文件的内容

x

execute

执行这个文件(脚本文件)

3.目录信息

简写

全写

作用

r

read

读目录中的文件属性信息

w

write

可以在目录中添加或删除文件数据信息

x

execute

是否可以进入到目录中


4.代码说明

//用户管理
1.文件权限
  1)修改属主
  2)修改权限
2.目录权限
3.文件权限修改
  1)根据用户信息进行设定 (属主 属组 其他用户)
  2)根据用户进行批量设定
     a) 数值设定
     b) 字符设定
4.文件默认权限
5.特殊目录
6.特殊文件
1.文件权限
  01. root用户对所有文件有绝对的权限,只要有了执行权限,root用户可以无敌存在
  02. 对于文件来说,写的权限和执行的权限,都需要有读权限配合
  03. 如何想对文件进行操作,必须对文件赋予读的权限
  一个普通文件默认权限: 644 保证属主用户对文件可以编辑 保证其他用户可以读取文件内容
[root@lbz01 ~]# touch lbz.txt                                //创建环境
[root@lbz01 ~]# ll lbz.txt
-rw-r--r--. 1 root root 6 Jan 22 21:36 lbz.txt             
[root@lbz01 ~]# chown lbz lbz.txt                            1)修改属主为lbz
[root@lbz01 ~]# ll lbz.txt
-rw-r--r--. 1 lbz root 6 Jan 22 21:36 lbz.txt
[root@lbz01 ~]# chmod 000 lbz.txt                            2)修改权限
[root@lbz01 ~]# ll lbz.txt
----------. 1 lbz root 6 Jan 22 21:36 lbz.txt
2.目录权限
  01. root用户对目录信息有绝对权限
  02. 对于目录来说,写的权限和读的权限,都需要有执行权限配合
  03. 如何想对目录进行操作,必须对目录赋予执行的权限
  一个目录文件默认权限: 755 保证属主用户对目录进行编辑 保证其他用户可以读取目录中的信息,可以进入到目录中
3.文件权限修改
  1)根据用户信息进行设定 (属主 属组 其他用户)
  属主    -user  u 
  属组    -group g 
  其他用户 -other o 
[root@lbz01 ~]# touch lsn.txt                                //创建环境
[root@lbz01 ~]# ll lsn.txt
-rw-r--r--. 1 root root 0 Jan 22 21:54 lsn.txt
[root@lbz01 ~]# chmod u-w lsn.txt                            //修改属主权限
[root@lbz01 ~]# ll lsn.txt
-r--r--r--. 1 root root 0 Jan 22 21:54 lsn.txt 
[root@lbz01 ~]# chmod g+w lsn.txt                            //修改属组权限
[root@lbz01 ~]# ll lsn.txt
-r--rw-r--. 1 root root 0 Jan 22 21:54 lsn.txt
  2)根据用户进行批量设定
[root@lbz01 ~]# chmod 761 lsn.txt                            a) 数值设定
[root@lbz01 ~]# ll lsn.txt
-rwxrw---x. 1 root root 0 Jan 22 21:54 lsn.txt
[root@lbz01 ~]# chmod a=x lsn.txt                            b) 字符设定
[root@lbz01 ~]# ll lsn.txt
---x--x--x. 1 root root 0 Jan 22 21:54 lsn.txt
4.文件默认权限
[root@lbz01 ~]# umask
0022
默认文件权限:   666 - 022 = 644
umask数值是奇数 666 - 033 = 633 + 11 = 644
umask数值是偶数 666 - 022 = 644

默认目录权限:   777 - 022 = 755    
umask数值是奇数 777 - 033 = 744
umask数值是偶数 777 - 022 = 755
[root@lbz01 ~]# vim /etc/profile
if [ $UID -gt 199 ] && [ "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ]; then
umask 002
else
umask 022                                                    //可以永久修改umask数值
fi    
#$UID: 显示当前登录系统用户id数值
判断比较符号
-gt greater than      >
-lt less than         <
-eq equal             ==
-ge greater && equal  >=
-le less && equal     <=
-ne not equal         <>
5.特殊目录
[root@lbz01 ~]# ll /etc/skel -a
  01. 目录中可以存储运维操作规范说明文件
  02. 调整命令提示符信息
  目录中的数据内容会参考/etc/skel目录中的信息
total 24
drwxr-xr-x.  2 root root   62 Apr 11  2018 .
drwxr-xr-x. 80 root root 8192 Jan 22 22:06 ..
-rw-r--r--.  1 root root   18 Apr 11  2018 .bash_logout      //当系统退出登录状态会执行的命令
-rw-r--r--.  1 root root  193 Apr 11  2018 .bash_profile     //别名和环境变量(只针对某个用户)
-rw-r--r--.  1 root root  231 Apr 11  2018 .bashrc           //别名和环境变量(只针对某个用户)
[root@lbz01 ~]# useradd lbz02
[root@lbz01 ~]# ll /home/lbz02/ -a
total 12
drwx------. 2 lbz02 lbz02  62 Jan 22 22:10 .
drwxr-xr-x. 6 root  root   54 Jan 22 22:10 ..
-rw-r--r--. 1 lbz02 lbz02  18 Apr 11  2018 .bash_logout
-rw-r--r--. 1 lbz02 lbz02 193 Apr 11  2018 .bash_profile
-rw-r--r--. 1 lbz02 lbz02 231 Apr 11  2018 .bashrc
[root@lbz01 ~]# cd /etc/skel                                 //应用
[root@lbz01 skel]# touch readme.txrt
[root@lbz01 skel]# touch readme.txt
[root@lbz01 skel]# vim readme.txt
#运维操作规范
[root@lbz01 skel]# useradd test01
[root@lbz01 skel]# su - test01 
[root@lbz01 skel]# su - test01
[test01@lbz01 ~]$ cat readme.txt
#运维操作规范
[root@lbz01 ~]# ll /home/test01/ -a                          //创建环境
total 16
drwx------. 2 test01 test01  83 Jan 22 22:18 .
drwxr-xr-x. 7 root   root    68 Jan 22 22:15 ..
-rw-------. 1 test01 test01  22 Jan 22 22:16 .bash_history
-rw-r--r--. 1 test01 test01  18 Apr 11  2018 .bash_logout
-rw-r--r--. 1 test01 test01 193 Apr 11  2018 .bash_profile
-rw-r--r--. 1 test01 test01 231 Apr 11  2018 .bashrc
[root@lbz01 ~]# rm -fr /home/test01/.b*
[root@lbz01 ~]# ll /home/test01/ -a
total 0
drwx------. 2 test01 test01  6 Jan 22 22:20 .
drwxr-xr-x. 7 root   root   68 Jan 22 22:15 ..
[root@lbz01 ~]# su - test01
Last login: Wed Jan 22 22:15:32 CST 2020 on pts/0
-bash-4.2$                                                    //出现问题
-bash-4.2$ cp /etc/skel/.b* /home/test01/                     //解决问题
-bash-4.2$ exit
[root@lbz01 ~]# su - test01                                   //问题解决
Last login: Wed Jan 22 22:21:07 CST 2020 on pts/0
[test01@lbz01 ~]$
6.特殊文件
[test01@lbz01 ~]$ ll  .bash_history
-rw-------. 1 test01 test01 36 Jan 22 22:24 .bash_history     //历史命令记录文件
#曾经输入的历史命令保存位置:
01. 保存在内存中 histroy
history -c
02. 保存在磁盘文件中: .bash_history 
补充:
[root@lbz01 ~]# su - test01
Last login: Wed Jan 22 22:24:11 CST 2020 on pts/0
[test01@lbz01 ~]$ /usr/bin/id -gn                             //显示当前用户的组名
test01
[test01@lbz01 ~]$ /usr/bin/id -un                             //显示当前用户名称
test01

3.系统的用户(组)命令

//系统的用户(组)命令
1.用户(组)相关命令
  1)相关文件
  2)用户参数说明
  3)修改用户信息
  4)用户组命令
2.用户属主属组命令
3.用户信息查看
4.用户权限说明
  1)su
  2)sudo
  3)数据文件权限
5.特殊权限位
6.粘滞位
1.用户(组)相关命令
1)相关文件
a)/etc/passwd      --- 记录系统用户信息文件 
b)/etc/shadow      --- 系统用户密码文件
c)/etc/group       --- 组用户记录文件
d)/etc/gshadow     --- 组用户密码信息
[root@lbz01 ~]# head /etc/passwd                                 //记录系统用户信息文件 
root:x:0:0:root:/root:/bin/bash                                  ///bin/bash --- 通用的解释器
bin:x:1:1:bin:/bin:/sbin/nologin                                 ///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
#第一列: 用户名
 第二列: 用户密码信息
 第三列: 用户的uid信息
 第四列: 用户的gid信息
 第五列: 用户的注释信息 
 第六列: 用户家目录信息
 第七列: 用户登录系统方式
2)用户参数说明
#-s 修改用户的登录方式
 -g 修改用户的主要的组信息
 -G 修改用户的附属组信息
 -c 修改用户的注释信息
[root@lbz01 ~]# useradd lbz03 -M -s /sbin/nologin                        //创建虚拟用户
#-M 不创建家目录
 -s 指定使用的shell方式
[root@lbz01 ~]# id lbz03
uid=1005(lbz03) gid=1005(lbz03) groups=1005(lbz03)
[root@lbz01 ~]# grep lbz03 /etc/passwd
lbz03:x:1005:1005::/home/lbz03:/sbin/nologin
[root@lbz01 ~]# ll /home/lbz03 -d
ls: cannot access /home/lbz03: No such file or directory
[root@lbz01 ~]# useradd lbz07 -u 2005 -g lbz02 -G lbz03                   //创建用户
#-u 指定用户uid数值信息
 -g 指定用户所属的主要组信息
 -G 指定用户所属的附属组信息
[root@lbz01 ~]# id lbz07
uid=2005(lbz07) gid=1003(lbz02) groups=1003(lbz02),1005(lbz03)
[root@lbz01 ~]# useradd mysql -s /sbin/nologin -M -c "manager database"   //创建用户
#-c 添加指定用户注释说明信息
[root@lbz01 ~]# grep mysql /etc/passwd
mysql:x:2006:2006:manager database:/home/mysql:/sbin/nologin
3)修改用户信息
[root@lbz01 ~]# usermod lbz02 -s /sbin/nologin                            a)修改用户shell信息
[root@lbz01 ~]# grep lbz02 /etc/passwd
lbz02:x:1003:1003::/home/lbz02:/sbin/nologin
[root@lbz01 ~]# usermod lbz02 -u 3000                                     b)修改用户uid信息
[root@lbz01 ~]# id lbz02
uid=3000(lbz02) gid=1003(lbz02) groups=1003(lbz02)
[root@lbz01 ~]# userdel -r lbz04                                          c)删除用户信息
#-r 彻底删除用户以及用户的家目录
userdel: group lbz04 is the primary group of another user and is not removed.
[root@lbz01 ~]# ll /home/lbz04 -d
ls: cannot access /home/lbz04: No such file or directory
[root@lbz01 ~]# echo 123456|passwd --stdin lbz                            d)非交互式用户密码设置方法
Changing password for user lbz. 
passwd: all authentication tokens updated successfully.
[root@lbz01 ~]# passwd lbz01                                              d)交互式设置密码
补充:企业中设置密码和管理密码的方式
01. 密码要复杂12位以上字母数字及特殊符号
02. 保存好密码信息
keepass
密码保险柜,本地存储密码
lastpass
密码保险柜,在线存储密码
03. 大企业用户和密码统一管理(相当于活动目录AD)
openldap域
用户信息统一保存在一个用户管理服务器中 用户的家目录中的文件 用户密码 用户名称
04. 动态密码:动态口令,第三方提供自己开发也很简单。
4)用户组相关命令
root@lbz01 ~]# groupadd python                                           //创建用户组
#groupadd 创建用户组
 groupmod 修改用户组信息
 groupdel 删除用户组信息
[root@lbz01 ~]# useradd python -g python
[root@lbz01 ~]# id python
uid=3001(python) gid=2007(python) groups=2007(python)
2.用户属主属组命令
[root@lbz01 ~]# chown lbz.lbz lbz_dir                                    //修改属主和属组信息
[root@lbz01 ~]# ll lbz_dir -d
drwxr-xr-x. 2 lbz lbz 40 Jan 23 12:23 lbz_dir
[root@lbz01 ~]# ll lbz_dir/
total 0
-rw-r--r--. 1 root root 0 Jan 23 12:23 lbz_dir.txt
-rw-r--r--. 1 root root 0 Jan 23 12:23 lbz.txt
[root@lbz01 ~]# chown -R lbz.lbz lbz_dir                                 //递归修改目录属主和属组信息
[root@lbz01 ~]# ll lbz_dir -d
drwxr-xr-x. 2 lbz lbz 40 Jan 23 12:23 lbz_dir
[root@lbz01 ~]# ll lbz_dir/
total 0
-rw-r--r--. 1 lbz lbz 0 Jan 23 12:23 lbz_dir.txt
-rw-r--r--. 1 lbz lbz 0 Jan 23 12:23 lbz.txt
3.用户信息查看
[root@lbz01 ~]# id lbz                                                   1)id 显示用户信息命令
uid=1000(lbz) gid=1000(lbz) groups=1000(lbz)
[root@lbz01 ~]# w                                                        2)w显示正在登陆系统的用户信息
 12:29:06 up  4:03,  1 user,  load average: 0.00, 0.01, 0.05   
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    10.0.0.1         08:26    2.00s  0.47s  0.02s w
#01. 什么用户登录到了系统中
 02. 登录的方式 
     pts/x 远程登录系统
     tty1 本地登录
     [root@lbz01 ~]# echo "请不要修改恢复hosts文件配置" >/dev/pts/1 
 03. 从哪连接的服务器 
 04. 登录时间
 05. IDLE 空闲时间
 06. 用户操作系统 消耗的CPU资源时间
 07. 用户在干什么
4.用户权限说明
普通用户如何像root用户一些操作管理系统:
01. 直接切换到root账户下管理系统 
02. 直接修改要做的数据文件权限    
03. root用户赋予了普通用户权利 
    sudo-- root用户授权一个能力给普通用户
1)第一种方法:su 
#直接切换用户为root
 su    部分环境变量切换用户有变化
 su -  全部环境变量切换用户有变化
[lbz@lbz01 ~]$ env|grep lbz
#默认当前登录系统用户为lbz时,环境变量中会体现出lbz用户信息
HOSTNAME=lbz01
USER=lbz
MAIL=/var/spool/mail/lbz
PATH=/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/lbz/.local/bin:/home/lbz/bin
PWD=/home/lbz
HOME=/home/lbz
LOGNAME=lbz
[lbz@lbz01 ~]$ su root                                                     a)su
当用户su命令切换用户,系统中环境变量信息部分会变为root,但更多信息为原有lbz用户信息
Password:
[root@lbz01 lbz]# env|grep lbz
HOSTNAME=lbz01
USER=lbz
PATH=/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/lbz/.local/bin:/home/lbz/bin
MAIL=/var/spool/mail/lbz
PWD=/home/lbz
LOGNAME=lbz
[root@lbz01 lbz]# env|grep root
HOME=/root
[lbz@lbz01 ~]$ su - root                                                  b)su -
#当用户su -命令切换用户,系统中环境变量信息会全部切换为root
Password:
Last login: Thu Jan 23 12:45:15 CST 2020 on pts/0
[root@lbz01 ~]# env|grep lbz
HOSTNAME=lbz01
[root@lbz01 ~]# env|grep root
USER=root
MAIL=/var/spool/mail/root
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
PWD=/root
HOME=/root
LOGNAME=root
2)第二种方法:sudo
[root@lbz01 ~]# visudo                                                    a)进行授权
#visudo相当于vi /etc/sudoers(需要排除部分特权命令,如/usr/sbin/*,!/usr/sbin/visudo,/usr/bin/*)
93 lbz ALL=(ALL) /usr/sbin/useradd, /usr/bin/rm
[root@lbz01 ~]# visudo -c                                                 //配置好的文件语法检查
[lbz@lbz01 ~]$sudo -l                                                     b)验证lbz已经获取了root用户能力
[lbz@lbz01 ~]$sudo useradd lbz08                                          c)执行root用户可以执行的命令
#sudo 授权的命令
[lbz@lbz01 ~]$sudo rm -f /etc/hosts
3)第三种方法:修改数据文件权限
总结:
01. 直接切换用户 su - (*)
优势: 简单快捷
劣势: 风险太高(root权限泛滥)
02. 采用sudo提权方式
优势: 可以利用文件编辑指定用户有哪些指定权限 sa运维部门 dev开发人员
劣势: 配置规划复杂
02. 修改数据文件权限 
9位权限位 属主信息
优势: 只针对某个数据文件进行修改 只针对某个用户进行授权
劣势: 需要了解权限位功能
3位权限位
优势: 设置权限简单方便
劣势: 设置好的权限所有用户都拥有
5.特殊权限位
[root@lbz01 ~]# ll /bin/cat
-rwxr-xr-x. 1 root root 54080 Apr 11  2018 /bin/cat
[root@lbz01 ~]# chmod u+s /bin/cat                                        //设置特殊权限位
#setuid权限位设置,将文件属主拥有的能力,分配给所有人
 说明:系统文件数据的9个权限位 系统中实际应该有12个权限位
[root@lbz01 ~]# chmod 4755 /bin/cat
[root@lbz01 ~]# ll /bin/cat
-rwsr-xr-x. 1 root root 54080 Apr 11  2018 /bin/cat
[root@lbz01 ~]# chmod g+s /bin/cat                                        //设置特殊权限位
#setgid权限位设置,将文件属组拥有的能力,分配给所有用户组
[root@lbz01 ~]# chmod 6755 /bin/cat
[root@lbz01 ~]# ll /bin/cat
-rwsr-sr-x. 1 root root 54080 Apr 11  2018 /bin/cat
6.粘滞位
#sticky bit:粘滞位: (创建一个共享目录) 
 作用: 可以将不同用户信息放置到共享目录中,实现不同用户数据可以互相查看,但是不可以互相随意修改
语法:chmod o+t 目录信息
     chmod 1777 目录信息
[root@lbz01 ~]# ll -d /tmp/              
#系统中已经准备好了一个共享目录,权限位1777
drwxrwxrwt. 18 root root 4096 Jan 23 09:39 /tmp/

问题及反思:

如何防范系统中的重要文件不被修改(root用户也不能修改)
解决方法:给文件加上锁头
目的: 使root用户也不能直接修改相应文件

[root@lbz01 ~]# chattr +i /etc/passwd            //设置方法
[root@lbz01 ~]# lsattr /etc/passwd               //检查
----i----------- /etc/passwd
[root@lbz01 ~]# chattr -i /etc/passwd            //解锁方法
[root@lbz01 ~]# lsattr /etc/passwd               //检查
---------------- /etc/passwd

版权属于:木丫头

转载必须声明

用户管理及权限

标签:opera   好的   脚本   get   环境   home   span   table   版权   

原文地址:https://www.cnblogs.com/lbzyyy/p/12118495.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!