1answer.
Ask question
Login Signup
Ask question
All categories
  • English
  • Mathematics
  • Social Studies
  • Business
  • History
  • Health
  • Geography
  • Biology
  • Physics
  • Chemistry
  • Computers and Technology
  • Arts
  • World Languages
  • Spanish
  • French
  • German
  • Advanced Placement (AP)
  • SAT
  • Medicine
  • Law
  • Engineering
natta225 [31]
3 years ago
12

Write a C program that will allow you to add messages to a file that has NO permissions for any user. A Unix system has many fil

es that have sensitive information in them. Permissions help keep these files secure. Some files can be publicly read, but can not be altered by a regular user (ex.: /etc/passwd). Other files can't be read at all by a regular user (ex.: /etc/shadow). The program you develop should take a message given as a command line argument and append it to a file (also specified on the command line). The file should have no permissions, both before and after the message is appended. Of course, the file should be owned by you. Your program should also have a -c option that will clear the file before the message is appended. Algorithm Check to see if the output file exists. If it doesn't, create it. Life is simpler if a newly created file is closed at the end of this step. Check the permissions of the output file. If any permissions exist, print a useful error message and exit. Change the permissions on the file to allow writing by the user. Open the file for output. If the "-c" command line option is present, make sure the file is truncated. Write the message from the command line to the output file. Write an additional newline character so that the output has a nicer format.

Computers and Technology
1 answer:
amm18123 years ago
6 0

Answer:

see explaination

Explanation:

#include <iostream>

#include <fstream>

#include <sys/types.h>

#include <sys/stat.h>

#include <time.h>

#include <stdio.h>

#include <stdlib.h>

using namespace std;

int main(int agrc,char*argv[])

{

struct stat sb;

if(agrc != 2){

cout << "invalind command line arguments "<< endl;

return 0;

}

if (stat(argv[1], &sb) == -1) {

perror("stat");

exit(EXIT_FAILURE);

}

if((sb.st_mode & 777) != 0) {

cout<<"file has permission and its invalid"<<endl;

}

//chmod(argv[1], S_IRWXU);

int status = chmod(argv[1], 0200);

if(status){

cout<<"permission sucessfull change"<<endl;

}

ofstream myfile;

myfile.open (argv[1], ios::out | ios::app);

myfile<<argv[2]<<endl;

status = chmod(argv[1], 0000);

if(status){

cout<<"permission sucessfull change

0000"<<endl;

}

myfile.close();

cout << "thank you" << endl;

return 0;

You might be interested in
Randall is unhappy because the server at his college blocks some emails with attachments, so he is unable to receive a particula
tatiyna
If the school has age restrictions it can read 18+ content but it depends on the school. Viruses as by my past experiences with friends can transfer from anywhere to another place because it disables security connections.

The answer is A.
8 0
3 years ago
Read 2 more answers
Draw the cache tables and the state of all bits within them. Suppose you have a 16 byte cache with 2 byte long cachelines that i
andrey2020 [161]

Answer:

Detailed solution is given in attached diagram and the answers are given below:

Explanation:

(a) 4 bits are devoted for line sizing.

(b) 2 bits are devoted for indexing

(c) 1 bit is devoted for the tag

5 0
3 years ago
Which component of cpu controls the overall operation of computer..​
arsen [322]

Answer:

Control Unit.

Explanation:

The component of CPU that controls the overall operation of computer is control unit.

The control unit, also known as CU, is one of the main component of the Central Processing Unit (CPU). The function of CU is to fetch and instruct computer's logic unit, memory, input and output device. The CU receives information which it turns into signals. Thus controlling the overall operations of computer.

Therefore, control unit is the correct answer.

4 0
3 years ago
Which of the following might be appropriate to be created as a constant variable?
jasenka [17]

Answer:

Number of feet in a mile

Explanation:

In this problem, we need to find an option that to be created as a constant variable.

In option (a) "number of feet in a mile".

As 1 mile = 5280 foot

The number of feet in a mile is constant in every condition.

In option (b), (c) and (d)

number of people inside a store , current grade in a class , score in a football game are no fixed. It is not created as a constant variable.

Hence, the correct option is (a).

7 0
3 years ago
Jason needs to renew the certificate for his company’s web server. Which of the following is recommended to be submitted to the
notsponge [240]

Answer:

A. CSR

Explanation:

CSR, (certificate signing request also known as certification request, CR) are messages sent by an applicant to a certificate authority to acquire a digital identification certificate or renew an already existing one. It contains information of the client or applicant like domain name, public key etc.

Keyescrow, CRLD and OCSP are not recommended or required for renewing digital certificate as they commands or settings for shortcuts and commands.

3 0
4 years ago
Other questions:
  • When reading data across the network (i.e. from a URL) in Python 3, what string method must be used to convert it to the interna
    9·1 answer
  • Which practice enables recovery of accidental deletions in data records?
    15·2 answers
  • How to revive a computer if it functions in an unexpected manner?
    9·1 answer
  • It is possible to collaborate on a presentation with a group of people using the Internet.
    14·1 answer
  • If a laptop is getting no power while plugged in, which hardware part often needs to be replaced?
    5·1 answer
  • Which is true about lists and stacks?
    8·1 answer
  • Given a PrintWriter reference variable named output that references a PrintWriter object, write a statement that writes the stri
    5·1 answer
  • Which of the following best describes a situation where software should be upgraded instead of replaced?
    6·1 answer
  • The main difference between \f and \r is that \f produces a
    13·1 answer
  • The database cannot be migrated to a different engine because sql server features are used in the application’s net code. The co
    12·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!