用户和文件管理命令

useradd命令:添加用户

    useradd [选项] 登录名

    -c,--comment COMMENT:设定用户的注释信息,一般为用户的Full Name;

    -d,--home /PATH/TO/HOME_DIR:设定用户家目录路径;目标事先不能存在,否则会有警告,

    不会得到skel相关文件给用户;

    -g,--gid GROUP:设定用户的基本组组名或GID;

    -G,--groups GROUP1[GROUP2,...[GROUPN]]:设定用户所属的附加组列表,彼此间用逗号隔开,中间没有空格;

    -m,--create-home:强制创建家目录;

    -M:不创建用户家目录,即使系统在/etc/login.defs中的设置 CREATE_HOME)为yes;

    -r, --system:创建系统用户;

    -s,--shel SHELL:设定用户的默认shell(是shell的路径,要位于/etc/shells文件中);

    用户的登录 shell 名,默认为留空,让系统根据 /etc/default/useradd中的SHELL变量选择默认的登录shell;

    -u, --uid UID:设定用户的UID;用户 ID 的数字值。此值必须为唯一的,非负的,除非使用了-o选项,默认使

    用大于等于 UID_MIN,且大于任何其他用户ID 最小值;

    -o,--non-unique:允许使用重复的UID创建用户账号;

用法:

    useradd -u 3003 myuser

    id myuser

    useradd -g 4004 ubuntu:设定ubuntu用户组为4004组,但组4004要先存在;

    useradd -u 3100 -G 4004 mint:设定mint用户uidWie3100,附加组为4004;

    useradd -s /bin/csh fedora:设定默认shell为csh;

    useradd -M hadoop:设定不创建家目录;

    useradd -r hive:系统用户没有家目录;

    tail -1 /etc/passwd  //查看用户信息

注意:创建登录用户时,为其自定义的shell程序必须为可登录shell,且要位于/etc/shells文件中;

    /etc/shells:中/sbin/nologin和/usr/sbin/nologin是不能用的;

usermod命令:修改(用户)账号信息

    usermod [选项] 登录名

    -c, --comment COMMENT:修改注释信息;

    -d, --home HOME_DIR:修改家目录为新的位置,但一般应该同时使用-m选项以保证原家目录中的文件会移动到新目录中;

    -e, --expiredate EXPIRE_DATE:修改禁用日期;格式为YYYY-MM-DD;

    -f, --inactive INACTIVE:修改非活动期;

    -g, --gid GROUP:修改基本组GID;

    -G, --groups GROUP1[,GROUP2,...[,GROUPN]]]:修改附加组,修改时会覆盖原有的附加组,一同使用-a选项,

    表示为用户追加添加新的附加组;

    -a, --append:将用户添加到附加组。只能和 -G 选项一起使用;

    -l, --login NEW_LOGIN:修改当前用户的用户名;

    -s, --shell SHELL:修改用户登录的shell;

    -u, --uid UID:修改用户UID,这个值必须是唯一的,除非使用了-o选项,必须是非负值;

    -o,--non-unique:用户ID改为非唯一值;

    -L, --lock:锁定用户密码,这会在用户加密的密码之前放置一个!;

    -U, --unlock:解锁用户的密码;这将移除加密的密码之前的!;

用法:

    usermod -g 2000 hadoop:修改用户组为2000,组2000必须先存在

userdel命令:删除用户

    userdel [选项] 登录名

    -r, --remove:删除用户时,同时一并删除用户家目录和用户邮箱(用户邮箱在/var/spool/mail/目录下);

用法:

    userdel ubuntu:删除用户后,默认邮箱不删除;

    userdel -r mint:删除用户后同时删除邮箱;

    ls /var/spool/mail/:默认创建用户都会自动为用户创建邮箱;

groupadd命令:添加组

    groupadd [选项] group

    -g, --gid GID:指明组GID;

        Centos5,6:500+

        Centos7:1000+

    -r, --system:创建系统组;

        Centos5,6:1-499

        Centos7:1-999

用法:

    groupadd testgrp

    groupadd -g 2000 mygrp

    groupadd -r hive

    groupadd -rg 306 mariadb


    tail -l /etc/group //查看组信息

groupmod命令:修改组信息

    groupmod [选项] GROUP

    -g, --gid GID:修改组GID;

    -n, --new-name NEW_GROUP:修改组名;

用法:

    groupmod -g 3000 mygrp

groupdel命令:删除组

    groupdel [选项] GROUP

用法:

    groupdel hive

    groupdel mygrp1

    groupdel mygrp

    groupdel testgrp

passwd命令:密码管理命令

    passwd  [-l] [-u [-f]] [-d] [-e] [-n mindays] [-x maxdays] [-w warndays]

    [-i inactivedays] [--stdin] [username]

    -l:锁定密码;

    -u:解锁密码;

    -f:强制;

    -d:清除密码;

    -e:修改禁用日期;

    -n:修改密码最短使用期限;

    -x:修改密码最长使用期限;

    -w:修改密码过期后警告期限;

    -i:修改非活动期限;

    --stdin:从标准输入设置密码;

用法:

    passwd:修改自己(当前登录用户)的密码;

    passwd USERNAME:修改指定用户密码;

id命令:查看用户相关id信息

    id [OPTION]... [USER]

    显示结果包括UID、基本组GID和所有组(包括附加组和基本组);

    -u:仅查看UID;

    -g:仅查看基本组GID;

    -G:查看所属的所有组ID;

    -n:显示名称,而非ID;

用法:

    id -u magedu

    id -G magedu

    id magedu

su命令:切换用户

    切换时有两种机制:

    (1)不读取目标用户的配置文件(非登录式切换,半切换);

        su USERNAEM

    (2)读取并执行用户的配置文件(登录式切换,完全切换);

        su -l USERNAME

        su - USERNAME

用法:

    su magedu:当前路径目录不会改变;

    pwd:显示结果为/root

    su - magedu:改变家目录;

gpasswd命令:为组添加密码

    gpasswd [选项] group

    -a, --add USERNAME:向组中添加用户;

    -d, --delete USERNAME:从此组中移除用户;

chage命令:change age,更改用户密码过期信息

    chage [选项] 登录名

    -E, --expiredate EXPIRE_DATE:更改密码过期期限,格式为YYYY-MM-DD;

    -I, --inactive INACTIVE:更改密码非活动期限;

    -m, --mindays MIN_DAYS:更改密码最短使用期限,0为可在任何时间改密码(下次登录);

    -M, --maxdaysMAX_DAYS:更改密码最长使用期限;

chmod命令:主要作用:修改文件模型位change file mode bits;

    chmod [OPTION]... MODE[,MODE]... FILE...

    chmod [OPTION]... OCTAL-MODE FILE...

    chmod [OPTION]... --reference=RFILE FILE...

    -R, --recursive:递归修改;慎重使用;

    权限管理:

    r:可获取文件的数据(读权限);

    w:可修改文件的数据(写权限);

    x:可将此文件运行为进程(执行权限);

    赋权表示:

    chmod ug=rw fstab:更改文件权限

    chmod og=r fstab

    授权表示:

    chmod u+x fstab:更改文件权限

    chmod g+w fstab

    chmod +x fstab:文件有执行权限

    八进制授权表示:

    chmod 700 fstab:一次性赋权给ugo为700;

chown命令:仅管理员有权限,即能改文件的属主又能改属组,也可同时改

    chown [OPTION]... [OWNER][:[GROUP]] FILE...

    chown [OPTION]... --reference=RFILE FILE...

    -R, --recursive:递归修改;

用法:

    chown gentoo fstab:仅改文件的属主;

    chown :mageedu fstab:仅改文件的属组;

chgrp命令:仅管理员有权限,仅能改文件的属组

    chgrp [OPTION]... GROUP FILE...

    chgrp [OPTION]... --reference=RFILE FILE...

用法:

    chgrp gentoo fstab:修改文件属组;

练习:

1、创建用户gentoo,附加组为bin和root,默认shell为/bin/csh,注释信息为 "Gentoo Distribution"

useradd -G bin,root -s /bin/csh -c "Gentoo Distribution" gentoo

2、显示/etc目录下,所有以.d结尾的文件或目录

ls -A /etc/*.d

3、显示/etc目录下,所有.conf结尾,且以m,n,r,p开头的文件或目录

ls -A /etc/{m,n,r,p}*.conf

4、创建/app/rootdir目录,并复制/root下所有文件到该目录内, 要求保留原有权限

mkdir /app/rootdir

cp -p ./* /app/rootdir

5、使用命令行展开功能,创建/tmp/a1, /tmp/a2, /tmp/a1/a, /tmp/a1/b,在/tmp目录下创建目录:x_y, x_z, q_y, q_z

mkdir -p /tmp/a{1/{a,b},2}

mkdir -p {x,q}_{y,z}

你可能感兴趣的:(用户和文件管理命令)