useradd [options] USERNAME

         -u UID 指定用户ID,大于500

         -g GID(基本组),组必须存在

         -G GID…,…(附加组,可以有多个)

         -c "COMMENT"注释信息

                     -d /path/to/somedirectory 指定家目录

                     -s /bin/bash  指定shell路径  SHELL 环境变量 echo $SHELL

         -m -k(/etc/skel/ 中的文件拷贝到创建的家目录中) 强制为用户创建家目录

              ls -a /etc/skel/ 显示隐藏文件

         -M 不创建家目录   /etc/login.defs

         -r 系统用户,不能登录系统,无家目录。1-400

环境变量:

PATH

SHELL

HISTSIZE

 

userdel:删除用户

userdel [option] USERNAME,如果不指定任何选项,用户的家目录不会被删除‘

                   -r:删除用户的同时删除家目录

 

 

id:查看用户的账号属性信息。

     -u user

     -g group

     -G 附加组

     -n  显示名称

finger username   需要安装

Linux finger命令的功能是查询用户的信息,通常会显示系统中某个用户的用户名、主目录、停滞时间、登录时间、登录shell等信息。如果要查询远程机上的用户信息,需要在用户名后面接“@主机名”,采用[用户名@主机名]的格式,不过要查询的网络主机需要运行finger守护进程。

 

修改用户账号属性信息option useradd相似

usermod   [options] USERNAME

            -u 修改用户ID

            -g 需要时事先存在的组  

            -G 此前的附加组会被覆盖。  -a -G 追加附加组,不覆盖。

                           -c

                           -d -m 移动此前的文件至新的家目录当中去。

            -s

            -l 修改loginname

            -L 锁定账号,禁用

                           -U 解锁账号

 

chsh:修改用户的默认shell

chfn:修改用户的注释信息

密码管理:passwd [USERNAME]   管理员可以修改其他用户的信息

            --stdin:从标准输入读取密码

                                             echo"redhat"|passwd --stdin user3 管道 脚本中创建用户账号,设置密码

            -l lock

            -u  unlock

            -d delete    tail /etc/shadow

PAM

pwck检查用户账号的完整性

 

chage 修改用户密码到期时间 man chage

 

 

 

组管理:

groupadd

      -g GID

      -r 添加系统组 group -r apache    tail -1 /etc/group

groupmod     

             -g GID

             -u 组名

groupdel USERNAME

           

gpasswd USERNAME给组添加密码

          用户创建的对象的属主为该用户所属的基本组 touch ahead

          newgrp 切换到新基本组,需要使用密码登录exit退出


权限管理:

r w x

u:属主

g:属组

o:其他

 

chown:改变文件属主(只有管理员才可以使用此命令)

chown USERNAME file

      -R:修改目录及其内部文件属主

             --reference=/path/to/somefile,…  设定文件的属主与reference 参考文件一样,不需要指定属主。

                       属主属组一同修改

chown USERNAME:GRPNAME file,… 同时改变属主属组

             USERNAME.GRPNAME

                                 :GRPNAME 只改变属组

 

chgrp GRPNAME file,…   修改文件的属组

      -R:

      --reference=/path/to/somefile,…

chmod:修改用户的权限

 修改三类用户的权限:

chmod MODE file,…   MODE 三位八进制数字,例如750 75(补零为075

              -R

              --reference=

修改某类或某些类用户的权限:

u g o a

       chmod u=rwx /mp/abc

       chmod go=rwx /mp/abc

       chmod g=rx,o=  /mp/abc  不给权限就是没有权限,可以省略

 

修改某类用户的某位或者某些位权限:

u g o a

chmod 某类用户+|-MODE file,…    +添加-减少权限

           chmod u-x  /mp/abc

           chmod u+wx,g-x /mp/abc

           chmod +x /mp/abc   三类用户同时添加写权限

 

ls -la 显示所文件

ls -ld 显示目录

 

su -openstack 检查用户创建是否正常

bc运算器  quit 退出

umask   默认情况下的umask值是022(可以用umask命令查看),此时你建立的文件默认权限是644(6-0,6-2,6-2),建立的目录的默认权限是755(7-0,7-2,7-2),可以用ls -l验证一下哦 现在应该知道umask的用途了吧,它是为了控制默认权限,不要使默认的文件和目录具有全权而设的。

文件默认不能具有执行权限,如果算得的结果中有执行权限,则将其权限加1

 

用户的角度SHELL的类型

登录式shell

      正常通过某终端登录的shell

    su - USERNAME

    su -l USERNAME

 

   读取配置文件

        /etc/profile-->/etc/profile.d/*.sh-->  ~/.bash_profile-->~/.bashrc-->/etc/bashrc

 

 

非登录式shell

    su USERNAME   半切换,不读取环境设定

    图形终端下打开的命令窗口

        自动执行的shell脚本

 

   读取配置文件

        ~/.bashrc-->/etc/bashrc-->/etc/profile.d/*.sh

 

bash的配置文件

按照作用范围:

全局配置

          /etc/profile,/etc/profile.d/*.sh,/etc/bashrc

个人配置

          ~/.bash_profile,~/.bashrc

          全局和个人不一致时,以个人为准。作用范围小的生效

按照功能:

profile类文件:

        设定环境变量

         运行命令或脚本

bashrc类的文件:

         设定本地变量

          定义命令别名