用户管理
用户账号:可以登录操作系统、不同用户具有不同权限
唯一标识:UID(用户)、GID(组)
组账号——基本组(私有组)、附加组(从属组)
一个用户至少属于一个组
创建新用户:useradd 用户名,创建新用户时会默认将用户加入用户名组
用户名组叫做基本组,其余组叫附加组
创建新用户
命令:useradd 用户名
参数:
-u,设置uid
-d,指定家目录
-G,附加组
-s,登录解释器,/etc/shells存储了当前解释器,默认/bin/bash,/sbin/nologin-禁止用户登录操作系统
useradd -d /opt/home nsd01 //创建新用户nsd01,并设置七家目录为/opt/home
id nsd01 //查看用户信息
grep -i nsd01 /etc/passwd //查看用户信息
/etc/passwd,用户信息存储在其中;
在设置用户家目录时要确保家目录之前没有创建过
id 用户名,查看用户uid、gid
//禁止用户登录操作系统
useradd -s /sbin/nolongin nsd02
设置登录密码
交互式设置:passwd 用户名
非交互时设置:echo '密码'| passwd --stdin 用户名
临时切换用户:su - 用户名
/etc/shadow--存储用户密码
查看密码时显示格式:用户名:密码加密字符串:上一次修改密码的时间:从1970-1-1到上一次修改密码的天数
修改用户属性
命令:usermod 【参数】用户名
参数:
-u,设置uid;
-G,添加附属组;
-d,设置家目录,家目录不能直接创建;
-S,设置解释器;
删除用户信息:userdel 【-r】用户名 //连同家目录一同删除
用户登陆时不能删除用户
检查用户信息:id 用户名
管理组账号
添加组并设置gid:groupadd 【-g 组id】组名
组基本信息存放在/etc/group中
在/etc/group中存放:组名:密码占位符:组的gid:组的成员列表
删除组:groupdel 用户名
给组添加用户或删除用户:
gpasswd -a 用户名 组名,加入组,只能一次添加一个用户
gpasswd -d 用户名 组名,退出组,一次只能退出一个用户
权限和归属
基本权限
访问方式:
读取read,r;
写入write,w;
可执行execute,x;
对于文本文件:
r:cat head tial less
w:vim >> >
x:shell脚本
权限适用对象:
所有者:拥有此文件/目录的用户-u
所属组:拥有此文件/目录的组-g
其他用户:除所有者和所属组的其他用户;
使用ls -l 查看目录本身:
以“-”开头表示文本文件,以“d”开头表示目录,以“l”开头表示快捷方式
xxx|xxx|xxx3个为一组,所有者|从属组|其他用户,顺序永远是rwx
设置基本权限:
1、判断角色;
2、查看角色相应权限位
目录r权限:可以ls浏览此目录文件;
目录w权限:可执行rm mv cp mkdir touch等操作;
目录x权限:可cd切换到此目录;
目录比较严格,只有“w”时不能创建新目录,必须要有“r”权限
修改文件需要给父目录权限
命令:chmod 【-R】归属关系 +-=(重新定义)权限类别 文档 //递归设置
设置文档归属:
chown 【-R】属主 文档
chown 【-R】:属组 文档
chown 【-R】属主:属组 文档
用户加入组时不会立即生效
linux匹配即停止;
附加权限(特殊权限):
set gid:
1、可适用于目录,set gid可使目录下新增的文件自动设置为与父目录相同的属组,可以一直继承
2、命令:chown g+s 文件目录
3、属组的标识会自动变为s,有执行权限小写s,无执行权限大写S;
set uid:
1、附加在属主的x位上,,属主标识会变为s
2、适用于可执行文件,可以让使用者具有与属主身份和部分权限
3、原理:命令由程序运行
sticky bit:
1、附加在其他人的x位上
2、其他人的权限标识变为t
3、适用于开放w权限的目录,可以阻止用户滥用w写入权限(禁止操作别人的文档)
4、普通用户需要cd进入才可创建目录
acl访问控制列表
进行精细控制
acl访问策略:可以对个别用户个别组设置独立权限,大多数挂载的ext3/ext4文件系统已默认支持
命令:
设置:setfacl -m(修改)u/g:名:权限:目录
查看:getfacl 文件
当设置acl权限比较多或权限比较开放时,linux会将所属组掩码将所属组权限盖住;
删除acl:
删除指定acl:setfacl 【-R】-x u:组名 文档
删除所有acl:setfacl 【-R】-b 文档