2.linux文件系统及用户管理

用户和组管理

用户管理

1.useradd:添加用户

1
useradd [-u 用户ID] [-g 用户组] [-G 用户组,用户组] [-m] 用户名
  • -c:指定用户注释信息
  • -d:指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录,默认在/home目录下
  • -u:指定用户ID
  • -g:指定用户组
  • -G:指定附加用户组
  • -m:创建用户主目录
  • -s:指定用户登录shell,默认/bin/bash
    2.userdel:删除用户
1
userdel [-r] 用户名
  • -r:递归删除用户,即删除用户及其主目录
    3.usermod:修改用户
1
usermod [-u 用户ID] [-g 用户组] [-G 用户组,用户组] [-s 用户登录shell] 用户名

4.passwd:用户口令的管理

用户账号刚创建时没有口令,但是被系统锁定,无法使用,必须为其指定口令后才可以使用,即使是指定空口令。超级用户可以为自己和其他用户指定口令,普通用户只能用它修改自己的口令

1
passwd 选项 用户名
  • -l:锁定用户口令
  • -u:解锁用户口令
  • -d:删除用户口令
  • -f:强制修改用户口令,即即使用户口令已被锁定,也可修改;强迫用户下次登录时修改口令
  • -S:显示当前用户口令状态
  • -w:指定密码过期时间,格式为:YYYY-MM-DD
  • -i:修改密码时要求输入当前密码
  • -n:取消密码过期时间限制
  • -x:指定密码过期时间警告天数
  • -k:取消密码过期时间警告

组管理

1.groupadd:添加组

1
# groupadd -g 101 group2
  • -g:指定组ID
    2.groupdel:删除组
1
groupdel 组名

3.groupmod:修改组

1
groupmod [-g 组ID] 组名
  • -g:指定组ID
  • -n:修改组名

批量添加用户

1.编辑一个user.txt文件,每行一个用户,格式为:用户名:密码(可为空):用户ID:用户组ID:用户信息(描述信息,可选,如mail\phone等):用户目录:用户shell

1
2
3
4
5
6
user001::600:100:user:/home/user001:/bin/bash
user002::601:100:user:/home/user002:/bin/bash
user003::602:100:user:/home/user003:/bin/bash
user004::603:100:user:/home/user004:/bin/bash
user005::604:100:user:/home/user005:/bin/bash
user006::605:100:user:/home/user006:/bin/bash

2.root下执行/usr/sbin/newusers命令,将user.txt文件中的用户信息批量添加到系统中

1
/usr/sbin/newusers < user.txt

3.执行/usr/sbin/pwunconv命令,将 /etc/shadow 产生的 shadow 密码解码,然后回写到 /etc/passwd 中,并将/etc/shadow的shadow密码栏删掉。(方便下一步的密码转换工作,即先取消 shadow password 功能)

4.编辑一个passwd.txt文件,每行一个用户,格式为:用户名:密码(可为空)

1
2
3
4
5
6
user001:123456
user002:123456
user003:123456
user004:123456
user005:123456
user006:123456

5.root下执行/usr/sbin/chpasswd命令,将passwd.txt文件中的用户密码批量添加到系统中

1
/usr/sbin/chpasswd < passwd.txt

6.root下执行/usr/sbin/pwconv命令,将密码编码为 shadow password,并将结果写入 /etc/shadow

文件基本属性

使用ll或ls -l命令显示一个文件的属性以及文件所属的用户和组

1
2
3
4
5
[root@www /]# ls -l
total 64
dr-xr-xr-x 2 root root 4096 Dec 14 2012 bin
dr-xr-xr-x 4 root root 4096 Apr 19 2012 boot
……
  • 第0位代表文件类型:
    • d:表示目录
    • -:表示普通文件
    • l:表示符号链接
    • c:表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)
    • b:表示为装置文件里面的可供储存的接口设备(可随机存取装置)
    • s:表示套接字文件
  • 第2到10位代表文件权限,三个为一组,rwx的组合,分布代表文件所有者、用户组、其他用户的权限。
    • r:表示可读
    • w:表示可写
    • x:表示可执行
    • -:表示无权限
  • 其余属性意义见下图:

文件权限修改

-R:递归更改文件属组,就是在更改某个目录文件的属组时,如果加上 -R 的参数,那么该目录下的所有文件的属组都会更改

  • 1.chown命令:修改文件所有者和所属组
1
2
chown [–R] 所有者 文件名
chown [-R] 所有者:属组名 文件名
  • 2.chgrp命令:修改文件所属组
1
chgrp [-R] 属组名 文件名
  • 3.chmod命令:修改文件权限
    • 数字权限(r:4,w:2,x:1,-:0,求和):
      • 0:—,没有权限
      • 1:–x,可执行
      • 2:-w-,可写
      • 4:r–,可读
      • 5:r-x,可读可执行
      • 6:rw-,可写可读
      • 7:rwx,可读可写可执行
    1
    chmod [-R] xyz 文件或目录
    • 符号权限:
      • +:添加权限
      • -:取消权限
      • =:设定权限
      • u:所有者
      • g:用户组
      • o:其他用户
      • a:所有用户
    1
    2
    3
    4
    # 所有者有读写执行权限,用户组有读执行权限,其他用户有读权限
    chmod u=rwx,g=rx,o=r 文件名
    # 除去所有用户的执行权限
    chmod a-x 文件名

文件目录管理

  • 1.mkdir命令:创建目录

    1
    mkdir [-p] 目录名
    • -p:递归创建目录,即创建父目录
  • 2.rmdir命令:删除空目录

    1
    rmdir 目录名
  • 3.rm命令:删除文件或目录

    1
    rm [-r] 文件或目录
    • -r:递归删除目录,即删除目录及其子目录下的文件
  • 4.cp命令:复制文件或目录

    1
    cp [-r] 源文件或目录 目标文件或目录
    • -r:递归复制目录,即复制目录及其子目录下的文件
  • 5.mv命令:移动文件或目录

    1
    mv [-f] 源文件或目录 目标文件或目录
    • -f:强制覆盖已存在的文件或目录,即若目标文件或目录已存在,则直接覆盖
  • 6.ln命令:创建链接文件

    1
    ln [-s] 源文件或目录 链接文件名
    • -s:创建符号链接,即软链接,类似于Windows的快捷方式
    • -f:强制创建,即若链接文件已存在,则直接覆盖
  • 7.cd命令:切换目录

    1
    cd 目录名
  • 8.pwd命令:显示当前目录

    1
    2
    3
        pwd
    ```
    - 9.find命令:查找文件

    find 起始目录 -name 文件名

    1
    2
        - -name:指定文件名
    - 10.ls命令:显示目录内容

    ls [-l] 目录名

    - -l:显示详细信息,包括文件权限、所有者、所属组、大小、修改时间、文件名等