Linux中用户管理

来源:互联网 发布:mac 安装非app store 编辑:程序博客网 时间:2024/06/05 13:34
Linux中用户管理,不说废话,直接上命令:
1. 添加用户:
useradd(选项)(参数)
-c<备注>:加上备注文字。备注文字会保存在passwd的备注栏位中; 
-d<登入目录>:指定用户登入时的启始目录; 
-D:变更预设值; 
-e<有效期限>:指定帐号的有效期限; 
-f<缓冲天数>:指定在密码过期后多少天即关闭该帐号; 
-g<群组>:指定用户所属的群组; 
-G<群组>:指定用户所属的附加群组; 
-m:自动建立用户的登入目录; 
-M:不要自动建立用户的登入目录; 
-n:取消建立以用户名称为名的群组; 
-r:建立系统帐号; 
-s:指定用户登入后所使用的shell; 
-u:指定用户id。

用例:
  1. useradd g sales jack G company,employees //-g:加入主要组、-G:加入次要组
  2. useradd -d /data/user username //指定用户登入目录/data/user
  3. useradd -Mn username //添加用户,不创建用户登入目录,也不创建用户组

2. 修改密码
passwd(选项)(参数)
-d:删除密码,仅有系统管理者才能使用; 
-f:强制执行; 
-k:设置只有在密码过期失效后,方能更新; 
-l:锁住密码; 
-s:列出密码的相关信息,仅有系统管理者才能使用; 
-u:解开已上锁的帐号。

用例:
  1. passwd username ##交互式修改用户密码
  2. echo 'new_passwd' | passwd --stdin 'username' ##非交互式修改密码
  3. ## chpasswd 用于批量修改用户密码,但同样可以以非交互式方式修改用户密码
  4. echo 'username:password' | chpasswd

3. 查看系统中用户列表
用户密码文件/etc/passwd保存了所有用户等信息,显示了用户登录信息,例如:
  1. root:x:0:0:root:/root:/bin/bash
  2. 以':'分割,
  3. root     表示用户名
  4. x        表示用户密码,由于/etc/passwd为任何人可读,所以此处以x代表,具体的密码密文在/etc/shadow中
  5. 0        第一个0表示用户标示,第二个0标示用户组标示
  6. root     用户描述,没有具体意义,只是起到描述的作用
  7. /root    用户登入目录
  8. /bin/bash    用户登录缺省shell

查看用户列表信息
  1. grep -v 'nologin' /etc/passwd ## 显示当前可登录用户列表

4. 用户远程登录
ssh(选项)(参数)
-1:强制使用ssh协议版本1; 
-2:强制使用ssh协议版本2; 
-4:强制使用IPv4地址; 
-6:强制使用IPv6地址; 
-A:开启认证代理连接转发功能; 
-a:关闭认证代理连接转发功能; 
-b:使用本机指定地址作为对应连接的源ip地址; 
-C:请求压缩所有数据; 
-F:指定ssh指令的配置文件; 
-f:后台执行ssh指令; 
-g:允许远程主机连接主机的转发端口; 
-i:指定身份文件; 
-l:指定连接远程服务器登录用户名; 
-N:不执行远程指令; 
-o:指定配置选项; 
-p:指定远程服务器上的端口; 
-q:静默模式; 
-X:开启X11转发功能; 
-x:关闭X11转发功能; 
-y:开启信任X11转发功能。

参数:
远程主机:指定要连接的远程ssh服务器; 指令:要在远程ssh服务器上执行的指令。

用例
  1. ## 远程用户登录
  2. ssh -lusername host
  3. ssh username@host

以上登录是交互式,需要交互式输入登录密码
可以通过sshpass命令,非交互式登录用户密码
  1. ## Linux安装sshpass
  2. yum install sshpass
  3. ## Mac安装
  4. brew install https://raw.githubusercontent.com/kadwanev/bigboybrew/master/Library/Formula/sshpass.rb
  5. ## 非交互式远程登录
  6. sshpass -p password ssh -lusername host

5. 用户与组管理
与用户、组账户信息相关的文件
存放用户信息
/etc/passwd 
/etc/shadow

存放组信息:
/etc/group 
/etc/gshadow

用户信息文件分析(每项用:隔开)
例如:jack:X:503:504:::/home/jack/:/bin/bash 
jack  //用户名 
X  //口令、密码 
503  //用户id(0代表root、普通新建用户从500开始) 
504  //所在组 
:  //描述 
/home/jack/  //用户主目录 
/bin/bash  //用户缺省Shell

组信息文件分析
例如:jack:$!$:???:13801:0:99999:7:*:*: 
jack  //组名 
$!$  //被加密的口令 
13801  //创建日期与今天相隔的天数 
0  //口令最短位数 
99999  //用户口令 
7  //到7天时提醒 
*  //禁用天数 
*  //过期天数



0 0
原创粉丝点击