- 1.用户配置文件和密码配置文件
- 首先通过命令 ls /etc/passwd 然后 cat /etc/passswd 查看核心配置文件。
- 用“:”将每一行分割为七段。第一段为用户名,第二段为密码,第三段为用户的uid,第四段为用户的组id,第五段为对用户的解释说明,第六段为用户的家目录,第七段为shell。(“/bin/bash 为普通用户和root用户默认,“/sbin/nologin” 为禁止登陆,“/sbin/shutdown” 为 关机用的)
- 首先通过命令 ls /etc/shadow 然后 cat /etc/shadow 查看
- 可以看到通过“:”分成9段。第一段为用户名,第二段为密码“长且杂乱的为已经加过密的,“*”为已经被锁定的,“!!”为没有加密”,第三段为上次更改密码的时间(即到目前为止已经过了多少天),第四段为还需要过多长时间才可以更改密码(“0”为不限制),第五段为密码还能使用多长时间“99999”为默认,第六段为还需要多少天会警告你密码到期,第七段为到期后多少天会锁定你的账号,第八段为账号的生命周期,第九段为一个没有意义的保留值。
- 2.用户组管理
- 使用 groupadd xxx(名称) 即可创建一个用户组。
- 通过 tail /etc/group 可以查看你所创建的组的信息。
- 第一段为组名称,第二段为组密码,第三段为组ID。
- 可以通过 tail /etc/gshadow 查看组的密码信息(一般不会给组设置密码)。
- 可以通过 groupadd -g xx(ID 一般用户自定义的组都是从500开始) xxx(所创建组名称) 。当你指定组ID时,之后你所创建的组ID将以本次ID数列继续向后顺延。
- 可以通过 groupdel xxx(组名称)删除一个组(如果组中有用户的话,则无法删除)
- 3.用户管理
- 可以通过 useradd xxx(用户名)创建一个用户(该用户组将自动创建及分配组ID)
- 当通过 useradd -u(用户) xxx(用户ID) -g(组) xxx(组ID) xxx(用户名)将你所创建的用户指定ID和组ID(当一个组中有用户是不能删除)。
- 可以通过加 -d /home/xx(家目录名称) 命令为你的用户和组指定一个家目录。
- 当你没有指定家目录时(会自动创建一个与用户名相同的家目录)通过加 -M 命令不去创建一个家目录。
- 可以通过加 -s /bin/bash或/sbin/nologin 为你的用户指定一个shell。
- (可以通过 id xxx(用户名)查看你所创建用户的uid、gid、组、的所属)
- 可以使用 userdel xx(用户名)命令来删除用户(但不能删除该用户所属组),可以通过加 -r xx(用户名) 命令来删除用户的同时删除用户所属的组。
- 4.usermod命令
- 当用户创建之后我们就可以通过usermod 命令来更改用户的uid、gid、shell、家目录。
- 使用命令usermod -g xxx(gid) xxx(用户名)更改用户gid(组) 。
- 使用命令 usermod -u xxx(uid) xxx(用户名)更改用户uid 。
- 使用命令 usermod -s xxx (shell) xxx(用户名)更改用户shell。
- 使用命令usermod -G xxx(扩展组) xxx(用户名)更改用户扩展组。
- 使用命令 usermod -d xxx(家目录) xxx(用户名)更改用户的家目录。
- 使用命令 usermod -L xxx(用户名) 锁定一个用户,是该用户不能登陆。
- 使用明亮 usermod -U xxx(用户名) 为该用户解锁。
- 5.用户密码管理
- 当需要更改用户密码是可以使用 passwd 命令更改用户密码,当passwd后不加用户名是将默认为root。
- 当你需要一个足够隐秘性的密码时,可以通过mkpasswd命令自动生成一个不规则字符串。(可以通过 yum install expect命令安装mkpasswd命令)
- 使用makepasswd命令将自动为你生成一个9位的不规则字符串。
- 使用命令mkpasswd -l xx(数字)你需要多少位的字符串。
- 使用命令 mkpasswd -x xx(数字)你需要的特殊符号数量。
- 使用命令 mkpasswd -d xx(数字)你需要的数字数量。
- 使用命令 mkpasswd -c xx(数字)你需要的小写字母数量。
- 使用命令 mkpasswd -C xx(数字)你需要的大写字母数量。
- 使用命令 passwd --stdin xx(用户名)可以明文显示更改密码。
- 6.su命令
- 使用命令 su xx(用户名)可以切换当前用户。
- 使用命令 su - xx(用户名)可以在切换用户同时将$PATH(环境变量)一同带到你所要切换用户下。(可以通过echo $PATH 查看)
- 可以通过命令whoami 命令来查看当前用户是谁。
- 使用命令 su - -c “xx(命令)” xx(用户名) 在不切换用户的情况下使用该用户的环境执行命令。
- 7.sudo命令
- 使用命令 visudo 可以更改普通用户和组的权限。
- 将你所需要的用户名或组名称写入root下,在ALL=(ALL)下写入ALL=(root)(即你的权限来自于root),在ALL下写入你所需要给用户或组什么命令的权限。(如果需要多种用“,”分割即可)
- 使用命令Sudo -l 可以列出当前用户是否具有sudo权限。
- 8.限制root远程登录
- 首先通过命令useradd xx(用户名)创建一个用户,然后通过命令visudo添加用户使用命令的权限。
- 通过vi /etc/ssh/sshd_config命令进入编辑文档,找到 #PermitRootLogin yes ,将“#”去掉将“yes”更改为“no” ,保存退出重启服务。
- 这个时候通过远程软件root就已经无法登陆了,可以用之前创建的用户通过远程登陆虚拟机之后用su命令切换root用户。
转载于:https://my.oschina.net/u/4095969/blog/3026139