账号管理

一、用户账号管理

  1. 账号分类

    超级用户:root uid=0 gid=0
    普通用户:uid>=500 (centos 6中) uid >= 1000(centos 7中)
    程序用户:uid = 1-499 (centos 6中) uid = 1-999 (centos 7中)

  2. 用户账号文件
    –/etc/passwd

    [root@localhost ~]# tail -1 /etc/passwd
    tianyuan:x:1000:1000:tianyuan:/home/tianyuan:/bin/bash
    
    以冒号为分段,共分七段各段含义
            第一段:用户账号名
            第二段:密码占位符
            第三段:uid号
            第四段:gid号
            第五段:用户备注
            第六段:宿主目录位置
            第七段:登录的shell(/sbin/nologin 不能登陆)
    

–/etc/shadow

	[root@localhost ~]# tail -1 /etc/shadow
	tianyuan:$6$aZrVbA1aJ426lS$jUrbfi32j.kOmxzSPZm7C.9qIeEsGrZiLcc8JgCvILpy0KTXIHlAqH2TrEPg3jltmh6eiaieEpDQcfzxJedzk.:18113:0:99999:7:::

	以冒号为分段,共分九段,每段含义(其中第九段好没有分配,没有任何含义)
	  		第一段:用户账号名
	  		第二段:密文密码
	  		第三段:创建账号日期距离1970-1-1过去多少天
	  		第四段:修改密码后过多少太好可以再修改密码 0表示随时可以修改
	  		第五段:密码过期天数,99999表示永久有效
	  		第六段:密码过期前几天提醒
	  		第七段:密码过期后几天锁死
	  		第八段:密码过期时间
  1. 创建用户账号

    useradd 【选项】 用户名
    -u:指定uid号
    -g:指定用户属组
    -G:指定用户附加组
    -d:指定用户宿主目录
    -e:指定用户账号过期时间
    -s:指定用户登录的shell
    -c:用户备注

    例:[root@localhost ~]# useradd -u 1111 -g tianyuan -e 2020-1-1 -s /bin/sbin -c lianxi linux
    	[root@localhost ~]# tail -1 /etc/passwd
    	linux:x:1111:1000:lianxi:/home/linux:/bin/sbin
    	[root@localhost ~]# tail -1 /etc/shadow
    	linux:!!:18113:0:99999:7::18262:
    
  2. 设置用户口令(密码)
    passwd 【选项】 账户名
    -d:清空密码
    -l;锁定密码
    -S:查看密码状态
    -u:解锁密码
    -x:密码过期天数
    -n:上次修改密码后过多少天后可以修改
    -w:密码过期前多少天提醒
    -i:密码多少天后被禁用

    例:[root@localhost ~]# passwd linux
    	更改用户 linux 的密码 。
    	新的 密码:
    	无效的密码: 密码少于 8 个字符
    	重新输入新的 密码:
    	passwd:所有的身份验证令牌已经成功更新。
    	[root@localhost ~]# passwd -l linux
    	锁定用户 linux 的密码 。
    	passwd: 操作成功
    	[root@localhost ~]# passwd -S linux
    	linux LK 2019-08-05 0 99999 7 -1 (密码已被锁定。)
    	[root@localhost ~]# passwd -n 7 linux
    	调整用户密码老化数据linux。
    	passwd: 操作成功
    	[root@localhost ~]# passwd -x 100 linux
    	调整用户密码老化数据linux。
    	passwd: 操作成功
    	[root@localhost ~]# passwd -w 6 linux
    	调整用户密码老化数据linux。
    	passwd: 操作成功
    	[root@localhost ~]# passwd -i 10 linux
    	调整用户密码老化数据linux。
    	passwd: 操作成功
    	[root@localhost ~]# tail -1 /etc/shadow
    	linux:!!$6$ixw4Jf7B$mdgJK/GbJ3JsIqSsPanJe8L9W.6oCfZEWi/bhxmNUk2bEMf4Yk0uH2bYTgWla0ArdvM4GKHWjXiPIwXDT7deH1:18113:7:100:6:10:18262:
    
  3. 修改用户属性

    usermod 【选项】 用户名
    -l :更改用户名称
    -L:锁定用户
    -U:解锁用户账号
    其它选项与创建用户是相同

    例:[root@localhost ~]# usermod -l yi linux
    	[root@localhost ~]# tail -1 /etc/passwd
    	yi:x:1111:1000:lianxi:/home/linux:/bin/sbin
    
  4. 删除用户账号
    userdel 【选项】 用户名
    -r:彻底删除账号(包括宿主目录)

    例:[root@localhost ~]# ls /home
    	linux  tianyuan
    	[root@localhost ~]# userdel -r yi
    	[root@localhost ~]# ls /home/
    	tianyuan
    

二、组账号管理

  1. 账号分类

公用账号
私有账号
/etc/group
/erc/gshadow
2. 创建组账号
groupadd 【选项】 组名
-g:gid号

例:[root@localhost ~]# groupadd  -g 1111 csdn
	[root@localhost ~]# tail -1 /etc/gpasswd
	tail: 无法打开"/etc/gpasswd" 读取数据: 没有那个文件或目录
	[root@localhost ~]# tail -1 /etc/group
	csdn:x:1111:
  1. 设置组账号密码(极少用),添加删除组
    gpasswd 【选项】 组名
    -a:添加用户到组
    -d:删除用户到俎
    -M:批量添加用户到组,以“,”逗号分隔

  2. 删除用户
    groupdel 组名

    例:[root@localhost ~]# groupdel csdn
    [root@localhost ~]# tail -3 /etc/group
    tcpdump:x:72:
    tianyuan:x:1000:
    yi:x:1001:
    

三、查询命令

  1. 查看用户标识
    id 【用户名】

    例:[root@localhost ~]# id        #默认查找root用户
    uid=0(root) gid=0(root) 组=0(root) 环境=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
    [root@localhost ~]# id tianyuan
    uid=1000(tianyuan) gid=1000(tianyuan) 组=1000(tianyuan),10(wheel)
    
  2. 查找用户所属组
    groups 【用户名】

    例:[root@localhost ~]# groups         #默认查找root用户
    	root
    	[root@localhost ~]# groups tianyuan
    	tianyuan : tianyuan wheel
    
  3. 查找账户详细信息
    finger 【用户名】(需要安装才能使用)

    例:[root@localhost ~]# yum  -y install  finger      #使用yum安装finger
    	已加载插件:fastestmirror, langpacks
    	Loading mirror speeds from cached hostfile
    	正在解决依赖关系
    	--> 正在检查事务
    	---> 软件包 finger.x86_64.0.0.17-52.el7 将被 安装
    	--> 解决依赖关系完成
    	^C
    	
    	由于用户取消而退出
    	[root@localhost ~]# yum  -y install  finger
    	已加载插件:fastestmirror, langpacks
    	Loading mirror speeds from cached hostfile
    	正在解决依赖关系
    	--> 正在检查事务
    	---> 软件包 finger.x86_64.0.0.17-52.el7 将被 安装
    	--> 解决依赖关系完成
    	
    	依赖关系解决
    	
    	================================================================================================================================================
    	 Package                           架构                              版本                                   源                             大小
    	================================================================================================================================================
    	正在安装:
    	 finger                            x86_64                            0.17-52.el7                            cd                             25 k
    	
    	事务概要
    	================================================================================================================================================
    	安装  1 软件包
    	
    	总下载量:25 k
    	安装大小:32 k
    	Downloading packages:
    	Running transaction check
    	Running transaction test
    	Transaction test succeeded
    	Running transaction
    	  正在安装    : finger-0.17-52.el7.x86_64                                                                                                   1/1 
    	  验证中      : finger-0.17-52.el7.x86_64                                                                                                   1/1 
    	
    	已安装:
    	  finger.x86_64 0:0.17-52.el7                                                                                                                   
    	
    	完毕!
    	[root@localhost ~]# finger
    	Login     Name       Tty      Idle  Login Time   Office     Office Phone   Host
    	root      root       pts/1          Aug  5 20:18                           (192.168.148.1)
    	tianyuan  tianyuan  *:0             Aug  5 14:37                           (:0)
    	[root@localhost ~]# finger tianyuan 
    	Login: tianyuan       			Name: tianyuan
    	Directory: /home/tianyuan           	Shell: /bin/bash
    	On since 一 8月  5 14:37 (CST) on :0 from :0 (messages off)
    	No mail.
    	No Plan.
    
  4. 查询已经登陆主机的用户
    w

    	 例:[root@localhost ~]# w
    	 21:38:58 up  5:54,  2 users,  load average: 0.04, 0.22, 0.18
    	USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
    	tianyuan :0       :0               14:37   ?xdm?   4:36   0.34s gdm-session-worker [pam/gdm-password]
    	root     pts/1    192.168.148.1    20:18    2.00s  2.37s  0.40s w
    
  5. 查询登录主机的用户名
    whoami

    例:[root@localhost ~]# whoami
    	root
    
  6. 强制其它登录下线
    fuser -k /dev/主机名

    例:[root@localhost ~]# w
    	 21:42:48 up  5:58,  3 users,  load average: 0.03, 0.11, 0.14
    	USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
    	tianyuan :0       :0               14:37   ?xdm?   4:35   0.36s gdm-session-worker [pam/gdm-password]
    	root     pts/0    192.168.148.1    21:41    0.00s  0.15s  0.02s w
    	root     pts/1    192.168.148.1    21:42   31.00s  0.02s  0.02s -bash
    	[root@localhost ~]# fuser -k /dev/pts/1
    	/dev/pts/1:          38708
    	[root@localhost ~]# w
    	 21:43:09 up  5:58,  2 users,  load average: 0.02, 0.10, 0.14
    	USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
    	tianyuan :0       :0               14:37   ?xdm?   4:35   0.36s gdm-session-worker [pam/gdm-password]
    	root     pts/0    192.168.148.1    21:41    5.00s  0.18s  0.01s w
    
  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以为你提供一个简单的 Python 银行账号管理程序。 首先,我们需要定义一个 BankAccount 类,它包含账号、姓名和余额等属性,以及存款、取款、查询余额等操作方法。 以下是一个示例代码: ```python class BankAccount: def __init__(self, account_number, name, balance=0): self.account_number = account_number self.name = name self.balance = balance def deposit(self, amount): self.balance += amount print(f"{amount} 元已存入账户 {self.account_number},当前余额为 {self.balance} 元。") def withdraw(self, amount): if amount > self.balance: print("余额不足,无法取款。") else: self.balance -= amount print(f"{amount} 元已从账户 {self.account_number} 取出,当前余额为 {self.balance} 元。") def check_balance(self): print(f"账户 {self.account_number} 当前余额为 {self.balance} 元。") ``` 接下来,我们可以编写一个简单的测试程序,用于创建账户、进行存款、取款和查询余额等操作。 ```python # 创建账户 account1 = BankAccount('123456789', '张三', 1000) account2 = BankAccount('987654321', '李四', 2000) # 存款 account1.deposit(500) account2.deposit(1000) # 取款 account1.withdraw(200) account2.withdraw(500) # 查询余额 account1.check_balance() account2.check_balance() ``` 这样,我们就完成了一个简单的 Python 银行账号管理程序。当然,实际的银行账户管理系统可能会更加复杂,涉及到多种操作,如转账、冻结账户等,需要根据具体需求进行扩展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值