Linux获取用户主目录

#!/usr/bin/python# -*- coding:utf-8 -*-import sysimport os

class get_home_path(object):    def __init__(self, username):        self.username = username        self.user_dict = {}

def read_passwd(self):        with open("/etc/passwd", "r") as user_info:            for f in user_info.readlines():                f_list = f.strip(‘\n‘).split(‘:‘)                self.user_dict[f_list[0]] = f_list[5]        return self.user_dict

def get_home_dir(self):        user_dict = self.read_passwd()        try:            home_dir = user_dict[self.username]            return home_dir        except Exception, e:            print "%s user not exist!" % e            sys.exit()

if __name__ == ‘__main__‘:    if len(sys.argv) == 1:        print os.path.expanduser(‘~‘)    elif len(sys.argv) == 2:        username = sys.argv[1]        get_path = get_home_path(username)        print get_path.get_home_dir()    else:        print "Parameter input is incorrect,more than one."
时间: 2024-08-11 09:43:31

Linux获取用户主目录的相关文章

linux 修改用户主目录(转载)

第一:修改/etc/passwd文件 第二:usermod命令 详细说明如下: 第一种方法: vi /etc/passwd 找到要修改的用户那几行,修改掉即可.此法很暴力,建议慎用. 第二种:usermod usermod -d /usr/newfolder -u uid username -u后面一定要接uid啊,然后是username 附:usermod详细参数 语 法:usermod [-LU][-c <备注>][-d <登入目录>][-e <有效期限>][- f

Linux下的C程序:获取用户信息和主机信息

Linux下获取用户信息和主机信息程序 程序代码: #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <sys/types.h> #include <pwd.h> #include <sys/utsname.h> void main() {     printf("当前用户 %s\n", getlogin());     prin

Linux添加用户/权限/用户主目录等相关

一. 用户主目录 useradd -d   ${path}   username -d命令是指定用户主目录, 添加完之后  su -  username 默认会转到 这个用户的主目录下,即 ${path} 二. 文件目录的 访问用户权限,归属及用户组 root下使用chown更改 三. 待补充

谢烟客---------Linux之用户

<上邪>: 上邪!我欲与君相知,长命无绝衰.山无陵,江水为竭,冬雷震震夏雨雪,天地合,乃敢与君绝! 基础框架:     用户.密码.权限.组     属主.属组     进程的安全上下文     用户密码相关的配置文件     用户密码相关的命令 用户user  计算机用一个用户名识别.区辨使用电脑或网络服务的人.也可以说计算机将现实中的人映射为一个独立的账号. 计算机更易识别的是数字并非字串,而人易记的是字串,能否用人易理解的字串来表示计算机易识别的数字呢?Sun公司,就研发了一种用操作系统

linux的用户、组和权限管理

用户的类别分为管理员和普通用户 管理员用户即为root,普通用户分为两类,为系统用户和登录用户.系统用户仅能用于运行的服务程序,而登录用户则用于系统资源的正常使用者. 每个用户都有自己的标识,为UserID,即UID.管理员的UID为0 .系统用户在CentOS6中为1-499,CentOS7为1-999.而普通用户在CentOS6中为500+,CentOS7中为1000+.  ~]# id uid=0(root) gid=0(root) 组=0(root) 环境=unconfined_u:un

Linux中用户,组及权限的概念及相关命令

Linux的用户.组和权限管理 用户: 计算机的资源是有限的,但使用者有很多,为了能够实现这些使用者彼此之间在资源上进行隔离而保证各使用者的文件得到保护,并且我们让主机能够认定这个使用者的确是他所声称的那个使用者,所以我们必须要在整个系统上完成两种机制,1.认证机制Authertication,2.授权机制Authorization,3审计机制 Audition. 用户类别: 管理员用户:root 普通用户:分系统用户和登录用户两种 用户的标识:UserID,UID,范围16bits的二进制数字

Linux的用户与权限管理

1.linux操作系统用户及用户组 Linux操作系统是多任务(Multi-tasks)多用户(Multi-users)分时操作系统,linux操作系统的用户就是让我们登录到linux的权限:每当我们使用用户名登录操作系统时,linux都会对该用户进行认证.授权审计等操作.操作系统为了识别每个用户,会给每个用户定义一个ID,就是UID.用户组就相当于多个用户的容器:在linux系统中,用户组也有一个ID,GID. 1.1 linux操作系统用户 在linux中,用户分为两大类:管理员用户和普通用

Linux中用户、组、权限管理

众所周知,Linux是一个多用户.多任务的系统.而当很多用户同时登录时,系统是怎样管理用户,并给他们赋予相应的权限呢? Linux中有三类用户 超级用户(UID为0) 系统用户(伪用户.非登录) 仅运行服务程序 centos6.x中UID为1-499 centos7.x中UID为1-999 登录用户(普通用户) centos6.x中UID:500-65535 centos7.x中UID:1000-65535 用户解析库文件(任何人都可以访问): /etc/passwd name:password

linux创建用户su登录后显示为 bash-4.1$

今天自己做关于用户配置的练习,之后发现一个问题: su user1之后显示的为: [[email protected] ~]# su user1 -s /bin/bash bash-4.1$ 而不是正常的 [[email protected] ~]# su user1 [[email protected] root]$ 经过解决发现是 缺少环境配置文件.所以通过复制的方法将配置文件复制到用户家目录下.最终解决: 具体原因: 那么为什么需要这样文件,这就是跟linux的机制有关联了,因为在linu