首页 > 代码库 > 【centOS】账号管理

【centOS】账号管理

一、认识/etc/passwd和/etc/shadow

  1.passwd的构造

    技术分享

     上图为passwd其中一个用户的用户信息,分别表示为[用户名][密码][UID][GID][注释][家目录][Shell]

  2.shadow的构造

   技术分享

    如图,分别表示为[用户名][密码][上次更改密码距离1997年1月1日的天数][过~天才可以更换密码][失效日期][密码到期前~天警告][默认空][默认空]

    注意:如果密码为!!,则表示为无密码

             如果密码为*,则表示该账号不允许登陆

二、添加用户

  1.groupadd [-g GID] groupname

 

  2.useradd [-u UID] [-g GID] [-G ExtraGID][-M] [-d 路径] username

    -d表示将根目录指向所指明的路径

    -G表示附加组,即GID为主组,ExtraGID为附加组(二奶=-=)

    -M表示不建立根目录(但是存在他的文件!!)

      值得注意的是,-M之后是无法 su - username的,因为并不存在username的根目录,因此如果要su - username的话,需要

    mkdir /home/username ,cp -r /etc/skel /home/username,这样才可以使用该命令,因为用户的环境变量初始化等东西都

    在/etc/skel的文件夹内

 

  3.userdel [-r] username

    -r表示将改账号的[home directory]和[/var/spool/mail/username]一并删除

 

  4.usermod  [待补充]

 

三、用户身份切换

  1.su

    su -c "touch /tmp/username.txt" - username

    表示为使用username身份使用命令(常用)

  2.sudo和visudo  [sudo -u username] [command]

    让普通用户临时获得某个用户的权限

    eg:sudo -u test touch test

    表示为root可以执行test用户的指令,建立test文件

 

四、其他

  1.如何禁止root的远程登录

    修改/etc/ssh/sshd_config,修改里面的技术分享,把yes改为no

    然后重启服务/etc/init.d/sshd restart 即可

    (ssh为客户端,sshd为服务端)

  2.更改密码只需输入一次的方法

    1)passwd --stdin username(交互)

    2) echo "new passwd" |passwd --stdin username(非交互)

    3) echo -e "new passwd\nnew passwd"|passwd username(非交互)

 

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

华丽的分割线

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

今天心血来潮感觉我不仅需要把Linux学好,今天上课的时候让我产生了一个想法,把《计算机网络》上课的东西也总结到这里来

然后总结的东西也可以作为我期末复习的资料,感觉酱紫也是挺不错的,反正还是那句话,加油吧

人之所以会迷茫,是因为想得太多做的太少

【centOS】账号管理