1.区分目录和文件
[root@oldboy opt]# ls -p #在目录后加上斜杠
etc_2025-01-01.zip.gz test/ test.log test.zip.gz
[root@oldboy opt]# ls -pl | grep /$
drwxr-xr-x. 2 root root 89 1月 1 20:28 test/
#使用正则表达式
[root@oldboy opt]# ll | grep ^d
drwxr-xr-x. 2 root root 89 1月 1 20:28 test
[root@oldboy opt]# ll | grep ^-
-rw-r--r--. 1 root root 11006567 1月 1 21:47 etc_2025-01-01.zip.gz
-rw-r--r--. 1 root root 11 1月 1 20:29 test.log
-rw-r--r--. 1 root root 186 1月 1 20:37 test.zip.gz
2.Linux用户
2.1 超级管理员
root,UID为0;
在企业中,一般禁止通过SSH远程登录root账户,先用普通账户登录,再转为root。
登录shell:/bin/bash
2.2 普通用户
普通用户的写权限范围是用户家目录和/tmp;
UID:
centos6:500-60000、centos7:1000-60000
登录shell:/bin/bash
2.2.1 普通用户如何管理系统?
1.切换成root:su - root
2.使用root的权限:sudo + 命令
2.3 虚拟用户
系统创建时就存在的用户,不能登录。
UID:1-499
登录shell:/sbin/nologin
虚拟用户的存在目的是满足进程启动时对用户的组的需求。
3.最小化原则
1.安装软件最小化
2.登录安全最小化(普通用户)
3.进程启动权限最小化
4.权限最小化
4.Linux用户组
一个组 内可以有多个用户,一个用户可以属于多个组。
4.1 用户组是怎么产生的?
1.创建用户的时候默认产生的,用户组和用户同名,且UID和GID相同。
2.由root用户直接创建。
5.用户相关的配置文件
5.1 /etc/passwd
存放用户的属性
5.2 /etc/shadow
用户密码文件
5.3 /etc/group
组文件,存放用户组及属性
5.4 /etc/gshadow(废弃)
用户组的密码文件。
5.5 /etc/default/useradd
创建用户命令useradd的配置文件
5.6 /etc/skel
创建用户环境变量原始文件存放地
5.7 /etc/login.defs
创建用户系统配置,对应文件
6.用户相关的命令
6.1 useradd 添加用户
[root@oldboy sbin]# useradd test1
[root@oldboy sbin]# id test1
uid=1001(test1) gid=1001(test1) 组=1001(test1)
[root@oldboy sbin]# tail -n 1 /etc/passwd /etc/shadow /etc/group /etc/gshadow
==> /etc/passwd <==
test1:x:1001:1001::/home/test1:/bin/bash==> /etc/shadow <==
test1:!!:20092:0:99999:7:::==> /etc/group <==
test1:x:1001:==> /etc/gshadow <==
test1:!::
-u:指定用户UID;
-s:指定用户的登录shell:
[root@oldboy sbin]# useradd -s /sbin/nologin test2
[root@oldboy sbin]# id test2
uid=1002(test2) gid=1002(test2) 组=1002(test2)
[root@oldboy sbin]# su - test2 #虚拟用户
This account is currently not available.
-d:指定用户的家目录
查看用户过期时间:
[root@oldboy sbin]# chage -l root
最近一次密码修改时间 :从不
密码过期时间 :从不
密码失效时间 :从不
帐户过期时间 :从不
两次改变密码之间相距的最小天数 :0
两次改变密码之间相距的最大天数 :99999
在密码过期之前警告的天数 :7
6.2 usermod 修改用户
修改用户的命令参数与useradd几乎一致
6.3 userdel 删除用户
-r:将用户家目录一并删除
在企业中删除用户,一般是将/etc/passwd的用户注释掉