首页 > 代码库 > 【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】账号管理