与其他系统相比而言 Linux 系统的众多优点中最为主要一个便是 Linux 系统有着更少的安全漏洞和被攻击的隐患。Linux 无疑为用户提供了更为灵活和精细化的文件系统安全权限控制。这可能意味着 Linux 用户理解安全权限是至关重要的。虽然这并不一定是必要的,但是对于初学者来说,理解 Linux 权限的基本知识仍是一个明智之选。
用户账户分为:超级用户;普通用户;程序用户;其他用户
对于用户账号来说,对应的组账号可以分为基本组(私有组)和附加组(公共组)两种
root的ULD 固定数值为 0
普通的ULD 固定数值为 1000-6万
程序的ULD 固定数值为 1-999
用户账号相关的配置文件主要有两个,分别是/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日算起),默认值为空,表示账号
基本命令如下
—u 指定用户UID号
-d 指定用户的宿主目录位置
-e 指定用户账号失效时间
-g 指示基本组
-s 指定用户的登录shell
[root@localhost ~]# useradd -e 2020-12-31 -s /sbin/nologin 66
/sbin/nologin后用户无法直接登录和被切换登录
命令如下
-d 清空指定用户的密码,仅使用用户名即可登录系统
-l 锁定用户账户
-S(大S) 查看用户账户是否被锁定
-u 解锁用户账户
通过passwd命令锁定的用户账号,将无法再登录系统(shadow文件中的对应密码子串前将添加“!!”字符),只能由管理员来解除锁定。(还可以从root用户切换登录)
root用户有权限管理其他账号的密码(指定账号名称作为参数即可),不指定用户名时,修改当前账号的密码。普通用户只能执行单独的“passwd”命令修改自己的密码。
对于系统中已经存在的用户账号,可以使用usermod命令重新设置各种属性。usermod命令同样需要指定账号名称作为参数。
命令使用基本格式
usermod [选项] 用户名
常用选项
-l 更改用户账号的登录名称(Login Name)
-L 锁定用户账户
-U 解锁用户账户
-u 修改用户的UID号
-d 修改用户的宿主目录位置
-e 修改用户的账户失效时间,可以使用YYYY-MM-DD的日期格式
-s 指定用户的登录shell
命令使用基本格式
userdel [-r] 用户名
添加-r选项时,表示连用户的宿主目录删除
添加一个新的用户账号后,useradd会在该用户的宿主目录中建立一些初始配置文件。这些文件来自账号模板目录’/etc/skel’,基本上都是隐藏文件。
主要的用户初始配置文件 解释
bash_profile 文件中的命令将在每次用户登录时执行
bashrc 文件中的命令会在每一次加载’/bin/Bash’程序时(当然也包括登录系统)执行
bash_logout 文件中的命令将在每一次用户退出登录的时候执行
上三个都是针对用户的,用户一旦切换,就不会生效
需要指定GID号时,可以使用’-g’选项。
命令执行基本格式
groupadd [-g GID] 组账号名
[root@33 ~]# groupadd -g 1000 market
设置组账号密码(极少用),添加/删除组成员
命令使用基本格式
gpasswd [选项] 组账号名
常用选项
-a 向组内添加一个用户
-d 从组中删除一个用户成员
-M 定义组成员列表,以逗号分隔
例如:向组内添加一个用户
[root@33 ~]# gpasswd -a 50
例如:从组内删除一个用户
[root@33 ~]# gpasswd -d 50
例如:添加多个用户
[root@33 ~]# gpasswd -M a,b,c,d
使用命令基本格式
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
属主(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 属主:属组 文件或目录
常用选项
-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