用户信息文件: /etc/passwd
aa:x:501:501::/home/aa:/bin/bash
第一列:用户名
第二列:密码标志
第三列:UID 用户ID
0 管理员
1-499 系统用户(伪用户)
500 普通用户
第四列:GID 初始组ID
第五列:用户说明
第六列:家目录
第七列:用户登录之后的权限
影子文件: /etc/shadow 400 000
组信息文件: /etc/group
sc:x:500:
组名:组密码位:组ID:组中附加用户
1 添加用户
useradd 用户名
useradd 选项 用户名
选项:
-g 组名 指定初始组 不要手工指定
-G 组名 指定附加组,把用户加入组,使用附加组
-c 说明 添加说明
-d 目录 手工指定家目录,目录不需要事先建立
-s /bin/bash 手工指定用户登录之后的权限
useradd -g aa bb 添加bb用户,同时指定初始组为aa
useradd -G user1 aa 添加用户aa,指定附加组为user1
useradd -G aa -c "test cc" -d /cc -s /bin/bash cc
初始组:每个用户初始组只能有一个,初始组只能有一个,一般都是和用户名相同的组作为初始组
附加组:每个用户可以属于多个附加组。要把用户加入组,都是加入附加组
2 设定密码
passwd 用户名
passwd 改变当前用户密码
passwd root 改变root密码
3 删除用户
userdel -r 用户名
-r 连带家目录一起删除
4 添加组
groupadd 组名
5 删除组
groupdel 组名 注意:组中没有初始用户。
6 把已经存在的用户加入组
gpasswd -a 用户名 组名 用户加入组
gpasswd -d 用户名 组名 把用户从组中删除
三 用户相关命令
1 id 用户名 显示用户的UID,初始组,和附加组
[root@localhost home]# id sc
uid=500(sc) gid=500(sc) groups=500(sc),0(root)
2 su - 用户名 切换用户身份
- 连带环境变量一起切换
四 ACL权限
举例: /www
sc-àroot
61-àfgroup
o
770
[root@localhost ~]# mkdir /www
[root@localhost ~]# chmod 770 /www/
[root@localhost ~]# groupadd fgroup
[root@localhost ~]# gpasswd -a sc fgroup
正在将用户“sc”加入到“fgroup”组中
[root@localhost ~]# gpasswd -a aa fgroup
正在将用户“aa”加入到“fgroup”组中
[root@localhost ~]# chown root:fgroup /www
[root@localhost ~]# ll -d /www/
drwxrwx--- 2 root fgroup 4096 04-25 14:56 /www/
1 getfacl 文件名 查询文件的acl权限
2 setfacl 文件名或目录名 分配acl权限
setfacl -m u:用户名:权限 文件名或目录名 #给文件分配用户acl权限
setfacl -m g:组名:权限 文件名 #给文件分配组acl权限
3 如果是acl权限是针对目录
setfacl -m u:用户名:权限 -R 目录名
-R 递归 给当前目录和目录中已经存在的子文件分配acl权限
setfacl -m d:u:用户名:权限 -R 目录名
d 默认 给目录设定默认权限,如果目录中新建子文件或子目录,都会从模板继承acl权限
注意:如果给目录赋予acl权限,两条命令都要输入
总结:
setfacl -m u:用户名:rx -R 目录名 对当前目录,和目录中已经建立的文件分配ACL权限
setfacl –m d:u:用户名:rx -R 目录名 对目录中新建立的子文件或子目录拥有acl权限
五 输出重定向和多命令顺序执行
1 输出重定向
把应该输出到屏幕的输出,重定向到文件。
> 覆盖
>> 追加
ls > aa 覆盖到aa
ls >> aa 追加到aa
ls gdlslga 2>>aa 错误信息输出到aa 强调:错误输出,不能有空格
2 错误信息
掌握
ls >> aa 2>&1 错误和正确都输入到aa,可以追加
2>&1 把标准错误重定向到标准正确输出
ls >> aa 2>>/tmp/bb 正确信息输入aa,错误信息输入bb