Linux基于用户身份对资源访问进行控制:
用户帐号
超级用户:即root用户
普通用户
程序用户:用于维护系统或某个程序的正常运维,一般不允许登陆到系统
组帐号:
基本组(私有组)
附加组(公共组)
UID和GID:
UID(User IDentity,用户标识号) :root用户的UID为0,程序用户的UID为1—999,普通UID为1000—60000
GID(Group IDentify,组标识号)root用户的GID为0,程序用户的GID为1—999,普通GID为1000—6000
创建的第一个的普通用户的UID和GID
保存用户名称、宿主目录、登录Shell等基本信息:
文件位置:/etc/passwd (每一行对应一个用户的帐号记录)
保存用户的密码、账号有效期等信息 :
文件位置:/etc/shadow (每一行对应一个用户的密码记录)
添加用户账号:
useradd命令:useradd [选项]... 用户名
-u:指定用户的UID号,要求该UID号码未被其他用户使用 useradd -u UID号码 用户名
-d :指定用户的宿主目录位置 useradd -d 家目录 用户名
-M:不建立宿主目录 useradd -M 用户名
-e :指定用户的账户失效时间 useradd -e “时间” 账户名
-S: passwd -S 用户名 passwd 用户名 更改用户密码
chage -E "时间(9999为永久)" 用户名 修改账户失效时间
【用户账号的初始配置文件 新建用户帐号时,从 /etc/skel 目录中复制而来:
.bash_logout 退出或关机时执行,可用于删除日志
.bash_profile 开机启动执行,但是只有在开机时启动一次
.bashrc 开机执行,但是优先执行,范围更广,适用于不同的shell环境中
都是对当前登陆的用户(个人用户)有影响
/etc/profile 开机自动执行,但是只有在开机时启动一次
/etc/bashrc 开机启动执行,但是优先执行,范围更广,适用于不同的shell环境中
以上两个文件对所有用户都有影响
cat /etc/default/useradd(查看添加用户脚本)】
/sbin/nologin 不让用户登陆系统 /bin/bash 可以让用户登录系统
-s:指定用户的登陆shell useradd -s /sbin/nologin 用户名 不让XXX登陆系统
查询账号信息:
id命令 :查询用户身份标识:id 用户名
groups命令:查询用户所属的组:groups [用户名]
finger命令 :查询用户帐号的详细信息 :finger [用户名]
users、w 、who命令:查询已登录到主机的用户信息
-g:查询用户身份标识,创建一个基本组为t02的用户t03:useradd -g t02 t03,-g指定基本组
-G:附加组:useradd -G t02 t03 创建一个附加组为t02的用户t03
基本组只有一个。附加组(公共组)可有多个
设置/更改用户口令 passwd:
passwd命令:passwd [选项]... 用户名
-d:清除已设置密码
-S:查看用户密码状态
-u :解锁用户账户
-l:锁定用户账户
修改用户账号的属性 usermod:
usermod命令:usermod [选项]... 用户名
-u:修改用户的UID号
-d:修改用户的宿主目录位置
-e:修改用户的账户失效时间
-s:指定用户登录shell
-l:更改用户账号的登陆名称
-L:锁定用户账户
-U:解锁用户账户
组账号文件
与用户帐号文件相类似
/etc/group:保存组帐号基本信息
/etc/gshadow:保存组帐号的密码信息
groupadd命令:groupadd [-g GID] 组账号名
添加删除组成员 gpasswd:
gpasswd命令 设置组帐号密码(极少用)、添加/删除组成员:gpasswd [选项]... 组帐号名
-g:指定GID groupadd -g GID 用户名
-a:向组内添加一个用户
-d:从组内删除一个用户成员
-M:定义组成员列表多个添加,以逗号分隔
删除组账号 groupdel:
groupdel命令:groupdel 组帐号名
文件/目录的权限和归属
访问权限:
读取 r:允许查看文件内容、显示目录列表
写入 w:允许修改文件内容,允许在目录中新建、移动、删除文件或子目录
可执行 x:允许运行程序、切换目录
归属(所有权)
属主:拥有该文件或目录的用户帐号
属组:拥有该文件或目录的组帐号
查看文件/目录的权限和归属:
example: ls -l install.log
权限项 | 读 | 写 | 执行 | 读 | 写 | 执行 | 读 | 写 | 执行 |
字符表示 | r | w | x | r | w | x | r | w | x |
数字表示 | 4 | 2 | 1 | 4 | 2 | 1 | 4 | 2 | 1 |
权限分配 | 文件所有者 | 文件所属组 | 其他用户 |
设置文件和目录的权限 chmod:
chmod命令:chmod ugoa(ugoa表示属主、属组、其他用户、所有用户) +-=(+、-、= 分别表示 增加、去除、设置权限) [rwx] 文件或目录... 或 chmod nnn(3位八进制数) 文件或目录...
常用命令选项 : -R:递归修改指定目录下所有子项的权限
当chmod 数字表示只有一个数字时,代表其他用户。两个数字时,代表文件所属组与其他用户。