文章目录
前言
与其他系统相比而言 Linux 系统的众多优点中最为主要一个便是 Linux 系统有着更少的安全漏洞和被攻击的隐患。Linux 无疑为用户提供了更为灵活和精细化的文件系统安全权限控制。这可能意味着 Linux 用户理解安全权限是至关重要的。虽然这并不一定是必要的,但是对于初学者来说,理解 Linux 权限的基本知识仍是一个明智之选。
一:用户账户和组账户
用户账户分为:超级用户;普通用户;程序用户;其他用户
组账号概述
对于用户账号来说,对应的组账号可以分为基本组(私有组)和附加组(公共组)两种
UID号和GID号
root的ULD 固定数值为 0
普通的ULD 固定数值为 1000-6万
程序的ULD 固定数值为 1-999
用户账号文件cat /etc/passwd查看
用户账号相关的配置文件主要有两个,分别是/etc/passwd, /etc/shadow
tom:x:1001:1001::/home/tom:/bin/bash
jake:x:200:1003::/home/jake:/bin/bash
[root@192 ~]# cat /etc/shadow
root:$6$8VcZJW9Q2Pz7M2Zf$p3d8QOoS7QyFzWm32Ge8gjr8Ueo9Q3ZDxNYud6aHjJebKKqeb0B4097Of8uA1fpE6Z6rGeFkQQLT0xGzO48ZC1::0:99999:7:::
bin:*:17834:0:99999:7:::
字段 解释
第一字段(root) 用户账号名称
第二字段(红色字体部分) 使用MD5加密的密码字串信息,
第三字段(17834) 上次修改密码的时间
第四字段(0) 密码的最短有效天数。自本次修改密码后,必须至少经过该天数才能再次修改密码,默认值为0,表示不进行限制。
第五字段(99999) 密码的最长有效天数,自本次修改后,经过该天数以后必须再次修改密码。默认值为99999,表示不进行限制。
第六字段(7) 提前多少天警告用户口令将过期,默认值为7
第七字段 在密码过期后多少天内禁用此用户
第八字段 账号失效时间,此字段制定了用户作废的天数(从1970年1月1日算起),默认值为空,表示账号
二:用户账号和文件账号管理
useradd命令——添加用户账号
基本命令如下
—u 指定用户UID号
-d 指定用户的宿主目录位置
-e 指定用户账号失效时间
-g 指示基本组
-s 指定用户的登录shell
[root@localhost ~]# useradd -e 2020-12-31 -s /sbin/nologin 66
/sbin/nologin后用户无法直接登录和被切换登录
passwd命令-修改/更改用户命令
- 过useradd创建一个账户后还需要设置密码才能够正常使用,使用passwd命令可以设置或修改密码。
- passwd命令除了可以修改账号的密码外,还能欧股对用户账号进行锁定,解锁,也可以将用户的密码设置为空(无需密码即可登录)。
命令如下
-d 清空指定用户的密码,仅使用用户名即可登录系统
-l 锁定用户账户
-S(大S) 查看用户账户是否被锁定
-u 解锁用户账户
通过passwd命令锁定的用户账号,将无法再登录系统(shadow文件中的对应密码子串前将添加“!!”字符),只能由管理员来解除锁定。(还可以从root用户切换登录)
root用户有权限管理其他账号的密码(指定账号名称作为参数即可),不指定用户名时,修改当前账号的密码。普通用户只能执行单独的“passwd”命令修改自己的密码。
usermod命令-修改用户账号属性
对于系统中已经存在的用户账号,可以使用usermod命令重新设置各种属性。usermod命令同样需要指定账号名称作为参数。
命令使用基本格式
usermod [选项] 用户名
常用选项
-l 更改用户账号的登录名称(Login Name)
-L 锁定用户账户
-U 解锁用户账户
-u 修改用户的UID号
-d 修改用户的宿主目录位置
-e 修改用户的账户失效时间,可以使用YYYY-MM-DD的日期格式
-s 指定用户的登录shell
- usermod命令大部分和useradd命令的选项时相对应的,作用也相似。
- PS:usermod两个选项“-L”’-U’分别用于锁定,解锁用户账户
- passwd两个选项’-l’ '-u’也分别用于锁定,解锁用户账户 两者存在大小写区别
userdel命令-删除用户账号
命令使用基本格式
userdel [-r] 用户名
添加-r选项时,表示连用户的宿主目录删除
用户账号的初始配置文件
添加一个新的用户账号后,useradd会在该用户的宿主目录中建立一些初始配置文件。这些文件来自账号模板目录’/etc/skel’,基本上都是隐藏文件。
主要的用户初始配置文件 解释
bash_profile 文件中的命令将在每次用户登录时执行
bashrc 文件中的命令会在每一次加载’/bin/Bash’程序时(当然也包括登录系统)执行
bash_logout 文件中的命令将在每一次用户退出登录的时候执行
上三个都是针对用户的,用户一旦切换,就不会生效
gpasswd命令–添加删除组
groupadd命令–添加账号
需要指定GID号时,可以使用’-g’选项。
命令执行基本格式
groupadd [-g GID] 组账号名
[root@33 ~]# groupadd -g 1000 market
gpasswd命令–删除组成员
设置组账号密码(极少用),添加/删除组成员
命令使用基本格式
gpasswd [选项] 组账号名
常用选项
-a 向组内添加一个用户
-d 从组中删除一个用户成员
-M 定义组成员列表,以逗号分隔
例如:向组内添加一个用户
[root@33 ~]# gpasswd -a 50
例如:从组内删除一个用户
[root@33 ~]# gpasswd -d 50
例如:添加多个用户
[root@33 ~]# gpasswd -M a,b,c,d
groupdel命令–删除组账号
使用命令基本格式
groupdel 组账号名
例如
[root@33 ~]# groupdel zhang
三:文件/目录的权限和归属
访问文件的权限
类型 解释
读写r 查看文件
写入w 修改文件
执行x 运行文件
drwxr-xr-x. 2 tom root 6 6月 21 10:05 zhangxue
-rw-r--r--. 1 root root 0 6月 21 19:47 1.txt
rwx为7,xr为 ,rw为6,x为4
常用的是700 755 最大权限是777
默认文件夹 755
默认文件 644
设置文件/目录的权限和归属
chmod命令–-设置文件和目录权限
属主(a) 、属组(g)、其ls
chmod g+w 10.txt
chmod o-r 10.txt
ls -l
chmod a=rw 10.txt (u g o 所有都改)
chown命令–设置文件和目录的归属
chown命令使用基本格式
chown 属主 文件或目录
chown:属组 文件或目录(注意了:)
chown 属主:属组 文件或目录
常用选项
-R 递归修改指定目录下所有文件,子目录的归属
chown :tom 10.txt #######10.txt 属组变为tom
chown tom 10.txt #######10.txt 属主变为tom
chown jack:jack 10.txt #######10.txt 属主变为jack,属组变为jack
式
chown 属主 文件或目录
chown:属组 文件或目录(注意了:)
chown 属主:属组 文件或目录
常用选项
-R 递归修改指定目录下所有文件,子目录的归属
chown :tom 10.txt #######10.txt 属组变为tom
chown tom 10.txt #######10.txt 属主变为tom
chown jack:jack 10.txt #######10.txt 属主变为jack,属组变为jack
### 权限掩码 umask