Skip to main content

Initial Settings : Sudo Settings

 Configure Sudo to separate users' duty if some people share privileges.

It does not need to install sudo manually because it is installed by default even if Minimal installed environment.

[1]. Transfer root privilege all to a user.

[root@dlp ~]# visudo

# add to the end: user [cent] can use all root privilege

cent  ALL=(ALL)       ALL

# how to write ⇒ destination host=(owner) command

# verify with user [cent]

[cent@dlp ~]$ /usr/bin/cat /etc/shadow

/usr/bin/cat: /etc/shadow: Permission denied   # denied normally

[cent@dlp ~]$ sudo /usr/bin/cat /etc/shadow

Password:     # user's own password

.....

.....

chrony:!!:18163::::::

tcpdump:!!:18163::::::   # just executed

[2]. In addition to the setting of [1], set some commands prohibit.

[root@dlp ~]# visudo

# line 49: add

# for example, set aliase for the kind of shutdown commands

Cmnd_Alias SHUTDOWN = /usr/sbin/halt, /usr/sbin/shutdown, \

/usr/sbin/poweroff, /usr/sbin/reboot, /usr/sbin/init, /usr/bin/systemctl


# add ( prohibit commands in aliase [SHUTDOWN] )

cent  ALL=(ALL)       ALL, !SHUTDOWN


# verify with user [cent]

[cent@dlp ~]$ sudo /usr/sbin/reboot

[sudo] password for cent:

Sorry, user cent is not allowed to execute '/usr/sbin/reboot' as root on dlp.srv.world.   # denied normally

[3]. Transfer some commands with root privilege to users in a group.

[root@dlp ~]# visudo

# line 51: add

# for example, set aliase for the kind of user managment commands

Cmnd_Alias USERMGR = /usr/sbin/useradd, /usr/sbin/userdel, /usr/sbin/usermod, \

/usr/bin/passwd


# add to the end

%usermgr ALL=(ALL) USERMGR

[root@dlp ~]# groupadd usermgr

[root@dlp ~]# usermod -G usermgr redhat

# verify with user [redhat]

[redhat@dlp ~]$ sudo /usr/sbin/useradd testuser

[redhat@dlp ~]$ sudo /usr/bin/passwd testuser

Changing password for user testuser.

New UNIX password:

Retype new UNIX password:

passwd: all authentication tokens updated successfully.   # just executed

[4]. Transfer a command with root privilege to a user.

[root@dlp ~]# visudo

# add to the end: settings for each user

fedora  ALL=(ALL)       /usr/sbin/visudo

ubuntu  ALL=(ALL)       /usr/sbin/useradd, /usr/sbin/userdel, /usr/sbin/usermod, /usr/bin/passwd

debian  ALL=(ALL)       /usr/bin/vi


# for example, verify with user [fedora]

[fedora@dlp ~]$ sudo /usr/sbin/visudo

## Sudoers allows particular users to run various commands as

## the root user, without needing the root password.

##   # just executed

[5]. The logs for sudo are kept in [/var/log/secure], but there are many kind of logs in it. So if you'd like to keep only Sudo logs in another file, Configure like follows.

[root@dlp ~]# visudo

# add to the end

# for example, output logs to [local1] facility

Defaults syslog=local1

[root@dlp ~]# vi /etc/rsyslog.conf

# line 46,47: add like follows

*.info;mail.none;authpriv.none;cron.none;local1.none   /var/log/messages

local1.*                /var/log/sudo.log


# The authpriv file has restricted access.

authpriv.*              /var/log/secure


[root@dlp ~]# systemctl restart rsyslog

Comments

Post a Comment

Popular posts from this blog

PERL Some good framework

1. Catalyst is the most popular agile Perl MVC web framework that encourages rapid development and clean design without getting in your way. Catalyst | Perl MVC web application framework 2. Mojolicious is a next generation web framework for the Perl programming language. Back in the early days of the web, many people learned Perl because of a wonderful Perl   ... Mojolicious - Perl real-time web framework 3. Documents for Perl  The Perl Archive Network, the gateway to all things Perl. The canonical location for Perl code and modules. The Comprehensive Perl Archive Network - www. cpan .org

C++ How to use Date and Time

The C++ standard library does not provide a proper date type. C++ inherits the structs and functions for date and time manipulation from C. To access date and time related functions and structures, you would need to include <ctime> header file in your C++ program. There are four time-related types: clock_t, time_t, size_t , and tm . The types clock_t, size_t and time_t are capable of representing the system time and date as some sort of integer. The structure type tm holds the date and time in the form of a C structure having the following elements: struct tm { int tm_sec ; // seconds of minutes from 0 to 61 int tm_min ; // minutes of hour from 0 to 59 int tm_hour ; // hours of day from 0 to 24 int tm_mday ; // day of month from 1 to 31 int tm_mon ; // month of year from 0 to 11 int tm_year ; // year since 1900 int tm_wday ; // days since sunday int tm_yday ; // days since January 1st int tm_isdst ; // hours of daylight savin...

Lambda Function with Amazon DynamoDB

DynamoDB can trigger AWS Lambda when the data in added to the tables, updated or deleted. In this chapter, we will work on a simple example that will add items to the DynamoDB table and AWS Lambda which will read the data and send mail with the data added. Requisites To use Amazon DB and AWS Lambda, we need to follow the steps as shown below − Create a table in DynamoDB with primary key Create a role which will have permission to work with DynamoDBand AWS Lambda. Create function in AWS Lambda AWS Lambda Trigger to send mail Add data in DynamoDB Let us discuss each of this step in detail. Example We are going to work out on following example which shows the basic interaction between DynamoDB and AWS Lambda. This example will help you to understand the following operations − Creating a table called customer in Dynamodb table and how to enter data in that table. Triggering AWS Lambda function once the data is entered and sending mail using Amazon SES service. The basic block diagram that ...