Linux教程

Linux用户管理与文件属性

本文主要是介绍Linux用户管理与文件属性,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

文件查找

按大小查找

-size +1M   #大于1M
-size 1M    #1M
-size -1M   #小于1M
其他单位:k G
  • 测试
[root@localhost ~]# find /etc -size -1M
/etc/crypttab
/etc/pki/ca-trust/extracted/pem/objsign-ca-bundle.pem
/etc/selinux/targeted/contexts/files/file_contexts.local
/etc/selinux/targeted/contexts/files/file_contexts.subs
/etc/environment

按照修改时间查找

-mtime +7   #7天以前的
-mtime 7    #第7天的
-mtime -7   #最近7天的

查看文件

[root@localhost ~]# ls -l
total 164592
-rw-------.  1 root root     2733 Apr  7  2021 anaconda-ks.cfg
drwxr-xr-x   2 root root       23 Oct 26 11:02 dir_test
-rw-r--r--   1 root root 15404098 Nov 13  2020 download
-rw-r--r--   1 root root 52219308 Jul 16  2020 grafana-7.1.0-1.x86_64.rpm
-rw-r--r--   1 root root 53727312 Dec 17  2020 grafana-7.3.6-1.x86_64.rpm
drwxr-xr-x  14 root root      299 May 17 11:17 imoocc
-rw-r--r--   1 root root   106060 Apr 13  2021 index.html
-rw-r--r--   1 root root  1789376 Mar 15  2013 nagios-3.5.0.tar.gz
-rw-r--r--   1 root root   421635 Dec 22  2012 nrpe-2.14.tar.gz
-rw-------.  1 root root     2059 Apr  7  2021 original-ks.cfg
-rw-r--r--   1 root root 44859251 Apr 22  2021 zabbix.sql

文件类型

  • d:目录
  • b:块设备 硬盘光驱
  • c:字符设备
  • l:软链接 快捷方式
  • s:socket 和应用程序之间通信有关

文件权限

-rw-r--r--
# 第一个是文件类型
# 后面为文件权限

用户

Linux用户管理

每个用户都有一个UID,唯一标识,GID为组标识

Linxu中,存在一个用户,必定有一个对应的组

用户介绍(user)

  • 1)超级用户:root
系统管理员,掌握系统最高权限,家目录/root
用户名root,UID为0
登录安全:企业级应用
a.配置ssh,禁用root通过SSH远程登录,权限非常大。
    使用普通用户登录,然后切换root
b.平时使用普通用户登录,有必要再登录root
  • 2)普通用户
UID为Cent0S 6:500-60000,CentOS 7:1000-60000
普通的用户权限:写的权限范围,家目录/home/用户名,/tmp
由管理员创建
日常登录应该首先登录普通用户
登录shell,/bin/bash
  • 举例
[root@localhost ~]# id zane     # zane为用户名
uid=1000(zane) gid=1000(zane) groups=1000(zane)
  • 普通用户如何管理系统?
a.普通用户切换root,su - root   # 角色改变,由普通用户变成root

b.普通用户不切换到root,可以使用root权限去操作,按命令给权限:
    sudo useradd oldboy
  • 3)虚拟用户(傀儡用户)

    文件创建时要有对应的用户和组

    进程启动时要有对应的用户和组

多数情况装系统就存在,且不能登录
UID:1-499
[root@localhost ~]# cat /etc/passwd | grep nologin
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
虚拟用户存在的意义就是满足进程启动时对用户和组的要求
  • 最小化原则
1、安装软件最小化
2、登录安全最小化(普通用户)
3、进程启动权限最小化
4、文件目录权限最小化

用户组介绍(group)

唯一标识:GID-Group Identify
一个用户可在多个组里,
一个组也可以拥有多个用户
命令解释
useradd [用户名]添加用户
userdel -r [用户名]删除用户
groupadd tech添加用户组
useradd [用户名] -g [组名]创建用户并属于组
id [用户名]查看用户信息
useradd [用户名] -M添加用户但不生成家目录
useradd [用户名] -M -s /sbin/nologin添加用户,并不生成家目录,指定解释器(不可登录)
-M不生成家目录
-s指定解释器
  • 操作
[root@localhost ~]# tail -1 /etc/passwd
oldboy:x:1002:1002::/home/oldboy:/bin/bash
[root@localhost ~]# id zane
uid=1000(zane) gid=1000(zane) groups=1000(zane)
[root@localhost ~]# groupadd tech
[root@localhost ~]# tail -1 /etc/group
tech:x:1003:
  • 用户和组相关的配置文件
/etc/passwd     ##用户住配置文件,用户的各种属性(UID,GID,家目录等)
/etc/shadow     ##用户密码文件
/etc/group      ##组文件
/etc/gshadow    ##用户组的密码文件(已废弃)
  • 解释器
[root@localhost ~]# cat /etc/shells 
/bin/sh
/bin/bash
/usr/bin/sh
/usr/bin/bash
  • usermod修改用户
usermod -s /bin/bash test2
usermod -u 6666 [用户名]    # 修改UID
usermod -g [组名] [用户名]  # 修改用户组
  • 生产采取注释方法

总结

# useradd 添加用户
-u  指定UID
-g  指定属于的组
-M  不创建家目录
-s  指定登录的解释器

# usermod 修改用户
-u  指定UID
-g  指定属于的组
-M  不创建家目录
-s  指定登录的解释器

# userdel 删除用户
-r  连带家目录一起删除

# groupadd 添加用户组

# groupdel 删除用户组


密码相关 passwd

  • 修改指定用户密码:root的功能,普通用户只能修改自己的密码
# root 用户
passwd [用户名]
# 普通用户
passwd : 只能修改自己的密码
# 非交互式修改密码  --stdin
echo 123456|passwd --stdin root
# 删除历史记录
history -d [行号]
# 删除所有历史记录
history -c

切换用户与提权管理

  • su

  • sudo
    可以使用户无需登录root就拥有root的权限

    sudo配置方法:visudo=vim /etc/sudoers

#visudo
1)语法1
## Allow root to run any commands anywhere
root    ALL=(ALL)       ALL
用户名  所有主机=(所有角色)   所有命令
2)语法2    %wheel为组
## Same thing without a password
# %wheel        ALL=(ALL)       NOPASSWD: ALL
用户组      所有主机=(所有角色)   所有命令

这篇关于Linux用户管理与文件属性的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!