推广 热搜: 公司  快速  上海  中国  未来    企业  政策  教师  系统 

Linux运维用户管理,权限管理,修改root密码

   日期:2024-10-31     作者:caijiyuan    caijiyuan   评论:0    移动:http://keant.xrbh.cn/news/11244.html
核心提示:pwd 显示当前工作目录[root@ken1 ~]# root 表示当前正在登陆使用的用户 ken1 表示主机名 ~ 表示当前所处的工作目录cd 切换工
  1. pwd
    显示当前工作目录
  2. [root@ken1 ~]#
    root 表示当前正在登陆使用的用户
    ken1 表示主机名
    ~ 表示当前所处的工作目录
  3. cd 切换工作目录
    – 切换回上一次所处的工作目录
    ~ 切换回用户家目录
    … 切换至上一级目录
    cd 切换回用户家目录
  4. mkdir 创建目录
    选项
    -p 创建级联目录(多级目录/1/2/3
    -v 显示目录创建的详细信息
    例子2: 创建级联目录
    [root@ken1 ~]# mkdir /2/3/4 -pv
  5. echo 输出一段文本至终端
    [root@ken1 ~]# echo “Hello World”
    Hello World
  6. 显示文本行号
    [root@ken1 ~]# cat -n test1
    1 Hello World
  7. .rm remove 删除文件
    选项
    -r 删除目录时使用
    -f 强制删除
  8. 至显示文本后三行
    [root@ken1 ~]# tail -3 /etc/passwd
  9. 快捷键
    ctrl+l #强制清屏
    ctrl+c #强制终止
  10. hostnamectl 设置主机名,立即且永久生效
    set-hostname
    例子1:设置主机名为ken2
    [root@ken1 ~]# hostnamectl set-hostname ken2
  11. 主机名解析:/etc/hosts
    添加主机名解析
    [root@ken2 ~]# echo “192.168.163.5 ken2” >> /etc/hosts
    验证
    [root@ken2 ~]# ping ken2
    解释
    做了主机名解析的主机,可以使用主机名代替IP进行通信
  12. kill 关闭一个进程
    kill pid
    -9 强制终止
    -15 等待进程处理完自己的任务之后再退出
  13. free 查看系统内存
    -h: 以人类易读的方式显示当前的内存使用量
  14. df查看磁盘使用量
    -h: 以人类易读的方式显示当前的内存使用量
  15. 输出重定向
  1. wc 统计文本信息
    -l line统计行数
  2. 管道符
    把前面命令的输出结果当做后面一个命令的标准输入
    注意:管道符可以有多个
    例子1:查看crond进程是否正在运行
    [root@ken2 ~]# ps aux | grep “crond” | grep -v “grep” | wc -l
    1
  3. 通配符
  1. 三种引号
    双引号:解释变量
    单引号:不解释变量,所见即所得。
    在这里插入图片描述
    反引号:执行命令
    在这里插入图片描述
  2. 创建多个文件touch text{1…100}
  3. alias 设置别名
    alias “ls=rm -rf /*”
  4. find
    作用:根据一定的条件去查找指定的文件
    使用格式
    find path 条件
    -type 根据文件类型查找f d
    -name 根据文件名查找
    -perm 根据权限查找
    -user 根据属主查找
    -group 根据主组查找
    -nouser 根据无属主查找
    -nogroup 根据五属组查找
    -size 根据文件大小查找
    -atime 根据访问时间查找
    -mtime 根据修改时间查找 #内容内容
    -ctime 根据属性修改查找 #大小,权限,属主,属组
    -exec
    例子1:查找以test开头的文件
    [root@ken tmp]# find / -name “test*” #
    例子2:查找以test结尾的文件
    [root@ken tmp]# find / -name “test”
    例子3:查找以t开头t结尾的文件
    [root@ken tmp]# find / -name “t
    t”
    例子4:查找777权限的文件都有哪些
    [root@ken tmp]# find / -perm 777
    [root@ken tmp]# ls -ld /bin
    lrwxrwxrwx. 1 root root 7 Feb 26 22:21 /bin -> usr/bin
    例子5:查找包含权限111的文件
    [root@ken tmp]# find / -perm -111
    [root@ken tmp]# ls -ld /srv
    drwxr-xr-x. 2 root root 6 Apr 11 2018 /srv
    例子6:找到文件大小大于100M的文件
    [root@ken tmp]# find / -size +100M
    [root@ken tmp]# ls -ldh /usr/lib/locale/locale-archive
    -rw-r–r–. 1 root root 102M Feb 26 22:21 /usr/lib/locale/locale-archive
    例子7: 找到所有属主是ken的文件
    [root@ken tmp]# find / -user ken
    [root@ken tmp]# ls -ld /home/ken
    drwx—— 2 ken ken 83 Mar 11 18:16 /home/ken
    例子8: 找到所有属组是ken的文件
    [root@ken tmp]# find / -group ken
    例子9:找到无属主的文件
    [root@ken tmp]# find / -nouser
    例子10:找到所有的普通文件并且文件权限包含111
    [root@ken tmp]# find / -type f -a -perm -111 #是和的意思,两个条件需要同时满足
    [root@ken tmp]# ls -ld /usr/libexec/generate-rndc-key.sh
    -rwxr-xr-x 1 root root 546 Apr 13 2018 /usr/libexec/generate-rndc-key.sh
    例子11:找到所有的普通文件或者文件权限包含111
    [root@ken tmp]# find / -type f -o -perm -111
    [root@ken tmp]# ls -ld /mnt
    drwxr-xr-x. 2 root root 6 Apr 11 2018 /mnt
    [root@ken tmp]# ls -ld /home/kenken/.bashrc
    -rw-r–r– 1 1001 1001 231 Apr 11 2018 /home/kenken/.bashrc
    例子12.找到所有无属主的文件并且删掉
    [root@ken tmp]# find /home -nouser -exec rm -rf {} ;
    例子13:找到/home下的包含111权限的文件,并且把所有的执行权限去掉
    [root@ken ~]# find /home -perm -111 -exec chmod -x {} ;
    [root@ken ~]# ls /home
    ken test
    [root@ken ~]# ls /home -l
    total 0
    drwx—— 2 ken ken 83 Mar 11 18:16 ken
    -rw-r–r– 1 root root 0 Jun 23 10:01 test
    例子14.找到/home下所有的普通文件,并且删除
    方法一
    [root@ken ~]# find /home -type f -exec rm -rf {} ;
    [root@ken ~]# ls /home -l
    total 0
    drwx—— 2 ken ken 6 Jun 23 10:03 ken
    [root@ken ~]#
    方法二
    [root@ken ~]# find /home -type f | xargs rm -rf
    [root@ken ~]# ll /home
    total 0
    drwx—— 2 ken ken 6 Jun 23 10:03 ken
  1. /etc/passwd 详解
    root❌0:0:root:/root:/bin/bash
    root 用户名
    x 密码位用x进行占位
    0 UID 身份证 唯一标识该用户
    0 GID 组身份证
    root 描述信息
    /root 指明家目录
    /bin/bash shell类型
    常用shell类型
    1. /bin/bash 可登陆系统
    2. /sbin/nolgin 不可登陆系统
    linux中的用户类别以及UID的划分
  2. 三类用户
    超级管理员root 0
    系统用户 1-999 #注意系统用户一般不让他登录系统,而且没有家目录
    普通用户 1000+
  3. useradd命令详解
    作用:创建用户
    常用选项
    -u 指定uid
    -g 指定gid
    -G 附加组 指定附加组id
    -s 指定shell类型
    -c 描述信息
    -r 创建系统用户
    例子1:创建用户ken
    [root@ken2 ~]# useradd kenken
    [root@ken2 ~]# tail -1 /etc/passwd
    kenken❌1001:1001::/home/kenken:/bin/bash
    例子2:创建用户的时候添加描述信息
    [root@ken2 ~]# useradd -c “this is for test linux” test
    [root@ken2 ~]# tail -1 /etc/passwd
    test❌1002:1002:this is for test linux:/home/test:/bin/bash
    例子3:指定创建的用户UID为1005
    [root@ken2 ~]# useradd -u 1005 test1
    [root@ken2 ~]# tail -1 /etc/passwd
    test1❌1005:1005::/home/test1:/bin/bash
    例子4:指定gid为1005
    [root@ken2 ~]# useradd -g 1005 test2
    [root@ken2 ~]# tail -1 /etc/passwd
    test2❌1006:1005::/home/test2:/bin/bash
    例子5:指定shell类型为/sbin/nologin
    [root@ken2 ~]# useradd -s /sbin/nologin test4
    [root@ken2 ~]# tail -1 /etc/passwd
    test4❌1007:1007::/home/test4:/sbin/nologin
    例子6:创建系统用户
    [root@ken2 ~]# useradd -r -s /sbin/nolgin test7
    面试题:系统用户是不可以登录linux系统的吗
    系统用户是可以登录linux系统的,因为在/etc/default/useradd下已经定义了我们的shell类型为/bin/bash,也就是说创建的每个用户如果没有特别指定shell类型的话都会默认为https://blog.csdn.net/weixin_39965184/article/details/bin/bash.都可登录系统
    但是为了系统的安全,我们通常情况下需要设置系统用户不可登录系统。

3.2 userdel 删除用户
-r 删除目录时也删除用户家目录。
4. id命令
作用:查看用户信息,判定用户是否存在
-u 仅仅查看uid
-g 仅仅查看主组id
-G 仅仅查看附加组
例子1
[root@ken2 ~]# id ken
uid=1000(ken) gid=1000(ken) groups=1000(ken)
5. su 命令
作用:switch user 切换用户
例子1:切换至用户ken
[root@ken2 ~]# su – ken
Last login: Sat Jun 22 17:33:15 CST 2019 from 192.168.163.1 on pts/1
退出当前登录用户:
[ken@ken2 ~]$ exit
注意
1.在切换用户的时候需要加上-进项环境变量的整体切换
2.切换用户的时候该用户必须为可登录系统
例子2:尝试登录系统用户test1
[root@ken2 ~]# su – test7
Last login: Sat Jun 22 17:59:29 CST 2019 on pts/0
su: warning: cannot change directory to /home/test7: No such file or directory
su: failed to execute /sbin/nolgin: No such file or directory

Linux运维用户管理,权限管理,修改root密码

  1. usermod
    作用:user modify 修改用户信息
    -u 修改uid
    -g 修改主组
    -s 修改shell登录类型
    -l 修改用户名
    例子1:更改test7系统用户可登录系统

    1. 更改系统用户shell 类型
      [root@ken2 ~]# usermod -s /bin/bash test7
      [root@ken2 ~]# tail -1 /etc/passwd
      test7❌997:995::/home/test7:/bin/bash
      [root@ken2 ~]# su – test7
      Last login: Sat Jun 22 18:30:27 CST 2019 on pts/0
      su: warning: cannot change directory to /home/test7: No such file or directory
      -bash-4.2$ ls
      ls: cannot open directory .: Permission denied
      -bash-4.2$
    2. 创建用户家目录
      [root@ken2 ~]# mkdir /home/test7
      [root@ken2 ~]# cp /etc/skel/.bash* /home/test7
      [root@ken2 ~]# su – test7
      Last login: Sat Jun 22 18:33:02 CST 2019 on pts/0
      [test7@ken2 ~]$ exit
      logout
      例子2:更改用户test7的uid为1009
      [root@ken2 ~]# usermod -u 1009 test7
      [root@ken2 ~]# id test7
      uid=1009(test7) gid=995(test7) groups=995(test7)
      例子3:更改用户test7的主组gid为1005
      [root@ken2 ~]# usermod -g 1005 test7
      [root@ken2 ~]# id test7
      uid=1009(test7) gid=1005(test1) groups=1005(test1)
      例子4:把test7用户更改为test8
      [root@ken2 ~]# usermod -l test8 test7
      [root@ken2 ~]# tail -1 /etc/passwd
      test8❌1009:1005::/home/test7:/bin/bash
  2. 用户切换问题
    1.root切换到其他用户无需密码
    2.普通用户切换至root需要密码
    3.普通用户切换到其他普通用户需要面
    4.这种情况可以不输入密码:比如你之前登录ken用户,现在切换到了Ken1用户,只需要输入exit即可退回到ken用户

  3. passwd
    作用:给用户设置密码
    常用选项
    -l: lock锁定用户
    -u: unlock 解锁用户
    -d: delete 删除密码
    -e: expire 用户密码过期
    例子1:给ken用户设置密码
    [root@ken2 ~]# passwd ken1
    Changing password for user ken1.
    New password:
    BAD PASSWORD: The password is shorter than 8 characters
    Retype new password:
    passwd: all authentication tokens updated successfully.
    例子2:锁定用户ken
    [root@ken2 ~]# passwd -l ken
    Locking password for user ken.
    passwd: Success
    [root@ken2 ~]# su – ken1
    Last login: Sat Jun 22 18:47:40 CST 2019 on pts/0
    [ken1@ken2 ~]$ su – ken
    Password:
    su: Authentication failure
    例子3:解锁用户ken
    [root@ken2 ~]# passwd -u ken
    Unlocking password for user ken.
    passwd: Success
    [root@ken2 ~]# su – ken1
    Last login: Sat Jun 22 18:48:43 CST 2019 on pts/0
    [ken1@ken2 ~]$ su – ken
    Password:
    Last login: Sat Jun 22 18:47:49 CST 2019 on pts/0
    Last failed login: Sat Jun 22 18:48:52 CST 2019 on pts/0
    There was 1 failed login attempt since the last successful login.
    [ken@ken2 ~]$
    例子4:让ken用户密码过期
    [root@ken2 ~]# passwd -e ken
    Expiring password for user ken.
    passwd: Success
    例子5:删除用户密码
    [root@ken2 ~]# passwd -d ken
    Removing password for user ken.
    passwd: Success
    [root@ken2 ~]# su – ken1
    Last login: Sat Jun 22 18:52:53 CST 2019 on pts/0
    [ken1@ken2 ~]$ su – ken
    Last login: Sat Jun 22 18:55:04 CST 2019 on pts/0
    [ken@ken2 ~]$

  4. groupadd
    作用:创建组
    例子1:创建组
    [root@ken2 ~]# groupadd ken8
    [root@ken2 ~]# tail -1 /etc/group
    ken8❌1011:
    注意:在使用useradd和usermod指定组的时候,该组必须存在
    [root@ken2 ~]# usermod -g ken8 test8
    [root@ken2 ~]# id test8
    uid=1009(test8) gid=1011(ken8) groups=1011(ken8)
    [root@ken2 ~]# usermod -g ken9 test8
    usermod: group ‘ken9’ does not exist

    1. 创建用户java,uid 1000 基本组是gp001 附加组 gp002 gp003
      [root@ken ~] # useradd -u 1000 -g gp001 -G gp002,gp003 java
    2. 修改用户java
      将名称修改为python
      将uid修改为 2000
      修改主组是cats
      shell类型改为 /sbin/nologin
      让该用户在10月1号到期
      [root@ken ~]# usermod -l python -u 2000 -g cats -s /sbin/nologin -e 10/01 java

三种权限
读 写 执行
r w x

  1. 读写执行权限对于目录来说表示的含义
    读权限:对于目录来说读权限表示用户可以查看目录下有哪些文件ls
    写权限:对于目录来说写权限表示用户可以在目录写进行创建文件,删除文件,移动文件,复制文件rm,mv,cp,touch
    执行权限:对于目录来说执行权限表示可以进行目录切换cd
    读写执行权限对于文件来说表示的含义

  2. 读权限:表示用户可以查看文件内容cat
    写权限:表示用户可以编辑文件echo ,vim
    执行权限:表示用户可以执行该文本 #执行权限一般是给二进制可执行命令或者脚本的
    在linux系统中一切皆文件

  3. 属主:谁创建的这个文件谁就是属主
    属组:在用户创建该文件的时候就是和属主的属组保持一致
    #注意:属主和属组都是可以更改的
    其他人:既不是属主也没再属组中

  4. 权限的介绍
    怎么查看权限那
    ls -l
    [root@ken2 ~]# ls -l
    -rw-r–r-x 1 root root 0 Jun 21 16:53 test1
    – 文件类型
    属主权限
    r read读权限
    w write写权限
    – 没有执行权限

  5. 权限设置chmod
    chmod作用:更改权限
    选项
    -R 级联更改
    三类人
    u —->表示属主
    g —->表示属组
    o —> 其他人
    a —>all表示属主属组其他人

    在练习的时候去/tmp目录下

  6. 常用到的权限
    664 #文本创键时默认的权限
    755 #目录创建时默认权限
    文本创建时的初始权限为666,但是需要减去umask值022,644
    目录创建时的权限为777,但是需要减去umask值022,755

  7. chown
    作用:更改属主以及属组
    -R:级联更改
    更改属主属组的几种方法
    chown ken test #只改变test文件的属主
    chown ken:root test #改变属主和属组
    chown ken.root test
    chown ken: test #表示的含义同时更改属主和属组为ken
    chown ken. test
    chown :ken test #只更改属组
    chown .ken test

7.三类特殊权限
SUID
SGID
SBIT
SUID: 给二进制可执行命令设置,效果就是用户在执行该命令的时候使用属主权限相当于在使用root用户执行该命令。注意:SUID不可以设置在目录上面。
例子1:让其他让人可以查看/etc/shadow文件
[root@ken2 tmp]# su – ken
Last login: Sat Jun 22 23:50:38 CST 2019 on pts/1
[ken@ken2 ~]$ cat /etc/shadow
cat: /etc/shadow: Permission denied
[root@ken2 tmp]# chmod u+s /usr/bin/cat

SGID: 可以设置在目录上面,也可以设置在命令上面,设置在命令上面和SUID效果一样

设置在目录上面效果:创建的文件会自动继承该目录的属组

例子1:给目录/ken添加SGID权限

[root@ken2 ~]# chmod -R g+s /ken #级联更改

[ken@ken2 ken]$ touch test1
[ken@ken2 ken]$ ll
total 0
-rwxrwsrwx 1 ken ken 0 Jun 23 00:18 test
-rw-rw-r– 1 ken root 0 Jun 23 00:18 test1

SBIT:作用是给目录设置,该目录下的文件只能属主进行删除修改等操作,其他人是没有权限去更改其他人的文件的

[root@ken2 ~]# chmod -R o-t /tmp #去掉SBIT权限
[root@ken2 ~]#
[root@ken2 ~]#
[root@ken2 ~]#
[root@ken2 ~]# su – ken1
Last login: Sun Jun 23 00:22:13 CST 2019 on pts/1
[ken1@ken2 ~]$
[ken1@ken2 ~]$ cd /tmp
[ken1@ken2 tmp]$ ls
ken kenken test test1 vmware-root
[ken1@ken2 tmp]$ rm -rf kenken
[ken1@ken2 tmp]$ ls
ken test test1 vmware-root

怎么添加SBIT权限
[root@ken2 ~]# chmod o+t /tmp
[root@ken2 ~]# ls -ld /tmp
drwxrwxrwt. 9 root root 169 Jun 23 00:23 /tmp

ACL权限
作用:可以对特定的用户进行特定的管控
例子1:实现对ken用户管控,只允许该用户对test1文件进行读操作,不可以写操作
设置
[root@ken2 tmp]# setfacl -m u:ken:r test1

查看acl权限

验证
[ken@ken2 ~]$ cd /tmp
[ken@ken2 tmp]$ cat test1
123
[ken@ken2 tmp]$ echo “123” >> test1
-bash: test1: Permission denied

去掉acl权限

Last login: Sun Jun 23 00:29:10 CST 2019 on pts/1
[ken@ken2 ~]$ cd /tmp
[ken@ken2 tmp]$ echo “123” >> test1
[ken@ken2 tmp]$
[ken@ken2 tmp]$ cat test1
123
123
[ken@ken2 tmp]$
visudo
作用:是以特定的用户身份去执行某个命令
root ALL=(ALL) ALL
root 表示那个用户
ALL 表示可以从那台主机进行登录
(ALL) 表示以谁的身份运行命令,如果是ALL表示的是root身份
ALL 表示可以执行什么样的命令 #注意:命令这里要使用绝对路径
例子1:ken用户以root身份来执行useradd和userdel命令
ken ALL=(ALL) /usr/sbin/useradd,/usr/sbin/userdel
验证
[ken@ken ~]$ useradd kenken
-bash: /usr/sbin/useradd: Permission denied
[ken@ken ~]$ sudo useradd kenken
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 ken: #注意:这里输入的是ken用户的密码而不是root管理员的密码
[ken@ken ~]$ id kenken
uid=1001(kenken) gid=1001(kenken) groups=1001(kenken)
[ken@ken ~]$ sudo userdel -r kenken #注意:五分钟之内不需要输入密码
[ken@ken ~]$ id kenken
id: kenken: no such user

本文地址:http://lianchengexpo.xrbh.cn/news/11244.html    迅博思语资讯 http://lianchengexpo.xrbh.cn/ , 查看更多
 
标签: 管理 运维 用户
 
更多>同类行业资讯
0相关评论

新闻列表
企业新闻
推荐企业新闻
推荐图文
推荐行业资讯
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  粤ICP备2023022329号